免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3094 | 回复: 7
打印 上一主题 下一主题

用perl偷懒 -- 统计java代码行数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-09 13:40 |只看该作者 |倒序浏览
从javaeye上看到一个帖子.  java代码统计小工具:
  1. http://www.javaeye.com/topic/543246?page=1
复制代码

统计个行数而已 居然写了将近90行。 而且还有bug  没有考虑 "/*" 与代码写在同一行的情况. 即如下这种情况

  1. i =1; /*
  2. balabal
  3. */
复制代码


假设那不考虑那个bug 因为一般没人那么写注释
把那段代码翻译成perl

  1. find . -name "*.java" | xargs perl -e '$cnt++ unless(m/^\s*$/ || m/^\s*\/\// || m/\/\*/ .. m/\*\//); END{print $cnt, "\n"}' -n
复制代码

  省下的时间可以去喝杯咖啡了


p.s 这些都是用来娱乐的如果要做代码分析 还是推荐去找个专业的工具

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2009-12-09 13:48 |只看该作者
其实用 java 写也用不了 90 行,
只是有些人的思维习惯已经固化成了非 unix tools 风格了。
比如查找个 *.java 也要写代码,其实只需要好好利用管道,就可以很好地和其它的工具粘合在一起。

论坛徽章:
1
狮子座
日期:2013-12-16 16:09:24
3 [报告]
发表于 2009-12-09 14:47 |只看该作者
注释确实是一件非常棘手的事情.
我记得c++ 可以用g++ -E参数来搞定
我用它处理过类C++语法的源代码
感觉java也是类C++注释风格,应该可以创建零时文件,改扩展名为.cc然后用g++ 来处理

论坛徽章:
1
狮子座
日期:2013-12-16 16:09:24
4 [报告]
发表于 2009-12-09 14:48 |只看该作者

回复 #2 flw 的帖子

呵呵,让人想起了一些vbs党

论坛徽章:
29
技术图书徽章
日期:2013-09-02 19:59:502015元宵节徽章
日期:2015-03-06 15:51:332015小元宵徽章
日期:2015-03-06 15:57:20操作系统版块每日发帖之星
日期:2015-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17操作系统版块每日发帖之星
日期:2015-09-21 06:20:002015亚冠之水原三星
日期:2015-10-30 00:06:07数据库技术版块每日发帖之星
日期:2015-12-24 06:20:0015-16赛季CBA联赛之上海
日期:2016-01-07 10:32:07操作系统版块每日发帖之星
日期:2016-01-08 06:20:00操作系统版块每日发帖之星
日期:2016-05-18 06:20:00IT运维版块每日发帖之星
日期:2016-07-23 06:20:00
5 [报告]
发表于 2009-12-09 18:47 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
狮子座
日期:2013-12-16 16:09:24
6 [报告]
发表于 2009-12-09 19:04 |只看该作者
呵呵Perl就是机器人

论坛徽章:
0
7 [报告]
发表于 2009-12-09 22:17 |只看该作者
我只用wc 来统计行数, 注释也是一部分。

统计行数没有必要那么精确。

论坛徽章:
0
8 [报告]
发表于 2009-12-09 23:51 |只看该作者
关于代码行数的简单介绍 http://en.wikipedia.org/wiki/Source_lines_of_code
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP