-
java开发代码注释情况统计工具
2014-08-29 16:41:39这是本人自己开发的一款java代码注释统计工具,支持统计总行数,总代码行数,总注释行数,注释率,注释合格率自定义,统计详细,单个文件统计情况,可导出统计报告等! 注:本软件未捆绑jre(java环境),需要在已... -
代码注释比统计工具
2014-05-26 15:49:571、显示各个文件详细注释情况及比例值; 2、汇总各个所有统计结果; 3、图形显示汇总结果情况; -
代码行数统计工具代码统计
2019-02-21 18:06:06代码行统计小工具,支持递归查询。统计内容包括:代码行数、注释行数、空行数、总行数等。网上下载的,与大家分享。来源查看程序,关于 -
C++代码统计工具,可以统计C代码,行数,注释!
2008-12-14 18:19:18C++代码统计工具,可以统计C代码,行数,注释! -
代码行数统计工具SourceCount
2020-09-25 13:45:39代码行数统计工具,特别好用,可以统计代码的注释行数、空行数、代码有效行数。值得拥有。 代码行数统计工具,特别好用,可以统计代码的注释行数、空行数、代码有效行数。值得拥有。 -
代码行数统计工具
2017-09-15 17:39:54代码行数统计工具,可以利用该工具进行代码中js,jsp,java,注释,空行等所有项目开发总代吗行数的统计,在质量管控中很有用。 -
代码行统计工具.rar
2020-06-09 10:39:27代码行,注释,统计工具。下载后解压,能对文件或者目录进行代码量统计。查看整体代码量,注释量等。很好服务于项目经理、测试 -
C++ 代码统计工具 & 判断一行代码是否为注释行
2017-11-12 17:09:29做这个语法解析的同时反复说代码注释花了很大力气,也不太好辩驳。 这里自己简单实习了一个,代码非常短,只要是C++编译器能够通过的代码都能准确判断。 C++ 允许两种注释 // 和 /* */ 判断一行代码是不是注释...这两天接手了一个项目,项目定义了一种自己语法,所以有了判断注释的需求。
这里自己简单实现了一个,代码非常精简。
提供的注释语法和C++是一模一样的, 允许 // 和 /* */两种注释
两个问题:
1、如何判断某一行是否为注释行。
2、如何判断是否“进入”了注释段,也就是在/* */中间。
先说第2点,思路:从上往下,一行一行的检查。
用一个flag标识是否”进入”了注释,具体在一行当中,遇到/* flag 置1,遇到 */ 置0;这样即使一行中有多个/* */也不会判断错误。
比如 /*int x*/ printf(); /* int y */ /*int z; 之后
就进入了注释段了,在遇到*/之前接下里的行都是注释行。但它本身并不是注释行。
这就说到第1点了,除了这个以下几种情况也都是注释行,如果一行是以//开头,仅有/*两个字符 ,仅有*/两个字符,以/*开头类似这种的/* xx */ /* x xxx */ //xxx,以/*开头类似 /* int x 这种的。
很自然的想到递归计算:
在一行中,前面部分闭合了就不用管了,把后面的子串继续递归。只要遇到上面说的几种情况中的一种就说明是注释行。递归结束还没遇到说明是普通行。
而且在递归中也可以更新flag是否进入了注释段。 两者可以在同一个函数中进行,非常方便。
判断一行本身是否为注释行以及更新/*、*/的函数如下。
bool Counter::judgeAndUpdateComment(string line, bool& flag) { // /* xxxxxx */ /* x xxx */ //xxxx // /*xx */ int x /* if(line[0] == '/' && line[1] == '/') return true; if(line[0] == '*' && line[1] == '/' && line.length()==2) {flag = false; return true;} if(line[0] == '/' && line[1] == '*' && line.length()==2) return flag = true; if(line[0] == '/' && line[1] == '*' && line.find("*/")==string::npos) return flag = true; string::size_type idx = line.find("/*"); if(idx != string::npos) { flag = true; } if(flag) { idx = line.find("*/"); if(idx != string::npos) { flag = false; line[idx] = line[idx+1] = ' '; string sub = line.substr(idx+2,line.length()-idx-2); trim(sub); if (judgeAndUpdateComment(sub,flag)) return true; } } return false; }
当然,要配合下面的函数里调用
void Counter::countOneFile(string filepath) { ifstream file; file.open(filepath,ios::in); if (!file.is_open()) { cout << "can't open the file :" << filepath << endl; exit(1); } char buffer[10000]; bool comment_flag = false; while (!file.eof() ) { file.getline(buffer,10000); string line(buffer); trim(line); if (line.empty()) { m_blank_line++; } else if(comment_flag) //如果已经进入了注释段 { m_comment_line++; judgeAndUpdateComment(line,comment_flag); //更新 */ } else if (judgeAndUpdateComment(line,comment_flag)) // 本身是注释行 { m_comment_line++; } else { m_real_line++; } } cout << "finish: " << filepath << endl; }
这里我没有考虑双引号的影响。双引号里的东西应该忽略的,但是我没有考虑,如果出现类似
string str = "abcd /* "; 的代码,程序得出的结果是灾难性的错误。有需要的同学自己加上。
完整代码 请点击:http://download.csdn.net/download/angon823/10115630
-
代码差异统计工具diffcount
2012-04-06 09:51:12diffcount是一个开源的代码统计工具 包括以下功能: 1. 差异统计:统计某一个版本的代码包相对于一个原始的基线代码包,变动的代码量,以及变动的代码量中各语言非空非注释行(NBNC)的结果; 2.代码统计:如果需要,... -
VB代码行数统计工具
2015-01-09 12:04:47VB代码行数统计工具 支持vb6 vbp 和vb net vbproj 工程文件直接打开分析 可以自由选择是否统计空白行 注释行 -
Java 有什么好的代码行数,注释行数统计工具,或者intellij插件?
2016-11-23 02:11:33Java 有什么好的代码行数,注释行数统计工具,或者intellij插件? -
代码量统计工具cloc
2020-04-08 22:40:21文章目录一、简介二、Windows下使用代码量统计工具1. 不设置环境变量2. 设置环境变量三、Linux下使用代码量统计工具 今天突然遇到一个问题?要统计项目代码一共多少行,我们都知道一个项目中有许多文件,我们不可能...
今天突然遇到一个问题?要统计项目代码一共多少行,我们都知道一个项目中有许多文件,我们不可能将它们进行相加计算一共多少行。再说一个项目中也有空白行、注释行。经过查找发现一个实用的工具cloc。一、简介
cloc是一款使用Perl语言开发的开源代码统计工具,支持多平台使用、多语言识别,能够计算指定目标文件或文件夹中的文件数(files)、空白行数(blank)、注释行数(comment)和代码行数(code)。
可以通过下面的地址进行下载:
官方网站:http://cloc.sourceforge.net/
github上:https://github.com/AlDanial/cloc/releases二、Windows下使用代码量统计工具
首先,将下载好的cloc-1.84.exe重新放在一个cloc文件夹中,并将其重新命名为cloc.exe
以管理员的打开cmd或着你的电脑装git打开Git Bash Here,这里我使用的管理员打开cmd
1. 不设置环境变量
命令格式:cloc.exe的文件路径+空格+项目代码路径
D:\Software\cloc\cloc.exe C:\Users\Salt\Desktop\学习代码svn\mysql连接
2. 设置环境变量
将
D:\Software\cloc
添加到环境变量path中,通过echo %Path%
来进行查看是否设置成功。
进项目文件夹下,在命令行输入:cloc .
可以看到,在Windows命令行工具中,将各种变成语言的文件数、空行数、注释行数以及代码行数分别展示出来了,并且给出了总的统计结果。关于更多的使用方法,可以通过
cloc -help
来进行查阅,可选项特别多,但是我认为cloc .就已经满足我的基本需求了。如果有需要的时候在进行学习。其他命令:
cloc targetFile --report-file=result.txt //将targetFile文件的代码统计结果写入result.txt文件中 cloc targetFile --sql=result.txt //用SQL语句的形式将统计结果写入result.tx
三、Linux下使用代码量统计工具
Ubuntu下安装:
sudo apt-get install cloc
统计C语言目录下的代码量:cloc .
cloc的本质是一个perl脚本:file `which cloc`
分享一个好用代码统计工具:
链接: https://pan.baidu.com/s/1fIhYorbWfBEp7b-9ZPVtKg 提取码: szrb -
Java正则表达式(三)、代码量统计工具(统计java源文件中注释、代码、空白行数量)
2012-07-04 14:58:47比如想统计一个Java程序员一天写代码的工作量(如:有效代码多少行、空行多少、注释多少行等),这个小工具也许能做为一个参考的依据。 思路:因为每个java源文件的内容基本包括java语句、空白行、注释三部份组成...比如想统计一个Java程序员一天写代码的工作量(如:有效代码多少行、空行多少、注释多少行等),这个小工具也许能做为一个参考的依据。
思路:因为每个java源文件的内容基本包括java语句、空白行、注释三部份组成(不包括注解),所以要统计某个文件这三部份的内容各占多少时,只需写三个匹配这几部份内容的正则表达式即可。然后通过IO流读取文件中的每一行,并根据正则匹配的结果,累加每部份匹配的数量即可。
注释行:单行注释(//)、多行注释、文档注释。正则:((//)|(/\\*+)|((^\\s)*\\*)|((^\\s)*\\*+/))+
空白行:一行内只有空格、\t、\n等非可视字符表示空白行。正则:^\\s*$
代码行:以分号“;“结束为一行有效的代码。正则:(?!import|package).+;\\s*(((//)|(/\\*+)).*)*
实现方式:
1、用户在控制台输入要统计的java文件路径或目录
2、根据路径创建一个File对象,判断文件是否有效,并给出提示。最后将文件和IO流绑定
3、循环读取文件中的某一行,并根据正则匹配的结果累记每部份匹配的数量
完整代码如下:
测试结果:package regex; import java.io.BufferedReader; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; import java.util.regex.Pattern; /** * 代码统计工具 * 统计某个java源文件或某个目录中所有java源文件中注释、空白行、代码行各占多少行 * 注释:包括单行注释(//)、多行注释、文档注释 * 空白行:一行内没有任何内容的表示空白行 * 代码行:以分号“;”结束的一条语句,可以统计为一行有效代码 */ public class CodeStatDemo { // 记录注释行数 static long annotationLine = 0; // 记录空白行数 static long blankLine = 0; // 记录有效代码的行数 static long codeLine = 0; // 代码总行数 static long totalLine = 0; // 文件总数 static long fileCount = 0; public static void main(String[] args) throws FileNotFoundException { System.out.println("请输入要统计代码量的java文件或java目录:"); Scanner in = new Scanner(System.in); String filePath = in.nextLine(); File file = new File(filePath); // 根据用户输入的文件名和目录执行代码量统计 codeStat(file); System.out.println("----------统计结果---------"); System.out.println("文件数量:" + fileCount + "个"); System.out.println(file + "文件/目录总行数:" + totalLine); System.out.println("代码行数:" + codeLine); System.out.println("注释行数:" + annotationLine); System.out.println("空白行数:" + blankLine); long otherLine = totalLine - (codeLine + annotationLine + blankLine); System.out.println("其它行数:" + otherLine); } private static void codeStat(File file) throws FileNotFoundException { if (file == null || !file.exists()) throw new FileNotFoundException(file + ",文件不存在!"); fileCount ++; // 文件数累加 if (file.isDirectory()) { File[] files = file.listFiles(new FileFilter() { @Override public boolean accept(File pathname) { return pathname.getName().endsWith(".java") || pathname.isDirectory(); } }); for (File target : files) { codeStat(target); } } else { BufferedReader bufr = null; try { // 将指定路径的文件与字符流绑定 bufr = new BufferedReader(new InputStreamReader(new FileInputStream(file))); } catch (FileNotFoundException e) { throw new FileNotFoundException(file + ",文件不存在!" + e); } // 定义匹配每一行的正则匹配器 Pattern annotationLinePattern = Pattern.compile("((//)|(/\\*+)|((^\\s)*\\*)|((^\\s)*\\*+/))+", Pattern.MULTILINE + Pattern.DOTALL); // 注释匹配器(匹配单行、多行、文档注释) Pattern blankLinePattern = Pattern.compile("^\\s*$"); // 空白行匹配器(匹配回车、tab键、空格) Pattern codeLinePattern = Pattern.compile("(?!import|package).+;\\s*(((//)|(/\\*+)).*)*", Pattern.MULTILINE + Pattern.DOTALL); // 代码行匹配器(以分号结束为一行有效语句,但不包括import和package语句) // 遍历文件中的每一行,并根据正则匹配的结果记录每一行匹配的结果 String line = null; try { while((line = bufr.readLine()) != null) { if (annotationLinePattern.matcher(line).find()) { annotationLine ++; } if (blankLinePattern.matcher(line).find()) { blankLine ++; } if (codeLinePattern.matcher(line).matches()) { codeLine ++; } totalLine ++; } } catch (IOException e) { throw new RuntimeException("读取文件失败!" + e); } finally { try { bufr.close(); // 关闭文件输入流并释放系统资源 } catch (IOException e) { throw new RuntimeException("关闭文件输入流失败!"); } } } } }
-
代码行统计工具.zip
2020-06-16 17:53:31代码统计工具这款软件是一款功能非常实用的统计软件,用户可以用这款软件对开发项目的各个开发阶段的工数、成本、质量指标等进行分析和预测,操作起来非常简单易上手。这款软件支持30多种代码格式,可以统计代码行数... -
代码注释工具cloc的安装和使用
2019-03-28 13:33:01最近公司项目开始统计代码注释率,... 目前项目中的注释统计工具是cloc,戳这里可以直接去它的github首页。 首页说明中可以看到该工具目前可以在各大主流的插件市场下载到,我的机器是mac,所以直接使用homebr...最近公司项目开始统计代码注释率,毕竟完全可读的代码是不存在的,提高代码可读性最好的方式还是多写注释,这样也可以帮助后来接手的同事更快的熟悉业务逻辑。
目前项目中的注释统计工具是cloc,戳这里可以直接去它的github首页。
首页说明中可以看到该工具目前可以在各大主流的插件市场下载到,我的机器是mac,所以直接使用homebrew来安装这个工具。打开终端terminal,输入“brew install cloc”即可安装该工具。安装完成后cd进入我们需要统计代码文件夹路径下,最后使用"cloc ./"命令即可统计该文件夹下文件中的注释行数和代码行数,进而得出注释率。
bingo!
-
工具-cloc代码行数统计工具
2018-12-25 08:48:00cloc 代码行统计工具 计算代码行、注释行、空行量的工具。支持多种语言。 gitHub地址: https://github.com/AlDanial/cloc 例如统计一下vue项目里的src文件夹下的代码: 安装方式 npm install -g cloc # ... -
ICodeStat代码统计工具
2018-08-06 14:50:43ICodeStat代码统计工具。代码统计主要包括:注释行、空白行、代码行、总行数(不包括空白行)、总文件数、注释率、空白率。统计输出格式以类似表格的输出方式展现,看起来一目了然。 -
uustepcount 好用的代码行数统计工具,支持js等语言,去除注释和空格
2015-12-22 14:17:52虽然也是分析程序的源代码,统计空行,注释行,代码行,但uuStepCount可以自由定义,因此不论是什么后缀名,即使新的注释方式都可以统计。 HTML、JSP、ASP、PHP内部包含的语言(JavaScript,StyleSheet)也可以分别... -
代码规模统计工具
2013-08-08 10:22:39可以指定文件后缀名,统计代码的执行行数,总行数,注释行数等等,可以开发语言分析文件等,功能强大 -
VC 开发的代码行统计工具.rar
2019-07-10 19:20:17VC 开发的代码行统计工具,可自动搜索指定文件夹中的代码文件,并统计出每一个文件的代码行数、注释行数,可以自由添加文件类型、设定统计方法等,可以学习下VC 对字符的处理技巧。 -
Idea使用工具Statistic进行代码数量,注释的统计
2019-12-05 15:09:47Statistic是idea上面的一个用于统计代码数量,注释数量的工具。 1.安装 重启idea后,工具就能直接使用,如过没有结果的话,刷新下: 扩展设置 -
python计算代码_Python代码统计工具
2020-11-30 11:07:30Python代码统计工具标签: Python 代码统计声明本文将对《Python实现C代码统计工具(一)~(三)》中的C代码统计工具进行扩展,以支持Python脚本自身的行数统计。一. 问题提出此前实现的C代码统计工具仅能分析和统计... -
代码行数统计工具 source counter + diffcount
2017-09-11 18:15:08SourceCounter是一个适用性广泛的代码统计工具,通过这个工具能够对30多种代码进行代码行数、注释、空行、文件大小等信息进行统计分析,另外软件还支持对软件开发的各个... 使用工具diffcount可以统计一个项目之间两个... -
windows 代码统计工具_代码统计工具CLOC的使用方法
2021-01-31 14:12:01有一个简单但功能强大的工具叫做“ cloc - count lines of code ”,它允许你计算所有代码的数量并同时排除注释和空行。它适用于所有主要Linux发行版,并支持多种编程语言和文件扩展名,并且没有任何特定要求可供... -
代码注释率统计的Python及Java实现
2014-05-07 14:55:00这是一个简单的Java代码注释率统计工具,能够查找某个指定目录下的每个.java文件注释率及该路径下所有.java文件的总注释率。 注释率=注释代码行数/代码总行数,其中代码总行数包括注释行和空格行。 在Java中有行... -
cloc 代码行统计工具
2020-05-13 18:34:56计算代码行、注释行、空行量的工具。支持多种语言。 gitHub地址:https://github.com/AlDanial/cloc 例如统计一下vue项目里的src文件夹下的代码: 安装方式 npm install -g cloc # ... -
代码统计工具
2010-11-08 21:40:52自己写的个代码统计工具 1.免费的源代码行数统计工具。 2.可自定义代码格式。 3.能够统计空行,注释行。 4.支持文件夹排除。 5.可保存统计结果。... -
代码统计工具.zip
2020-04-07 14:59:16代码统计工具(SourceCounter) - 支持30多种代码格式。能够统计包括:代码行数、注释、空行、文件大小等数据。另外,还支持对软件开发项目的各个开发阶段的工数、成本、质量指标等进行分析和预测。是程序开发人员的...
-
宾利为什么卖这么贵?
-
GO语言开发之路
-
快速方便的将文字转换成语音文件
-
为什么很多人认为一辆车开五六年就要换车?
-
Jsplumb从入门到实战
-
qt界面布局之使窗口显示出现在正中间位置
-
为什么事业单位公务员的公积金比企业里要缴得多?
-
libFuzzer视频教程
-
Java实现2048小游戏(直接拿走运行)
-
Samba 服务配置与管理
-
个人站点:使用快速页面构建的个人网站-源码
-
2021年 系统架构设计师 系列课
-
aginx安装使用 |优秀的nginx GUI面板
-
stm32C8T6串口通讯实验.zip
-
laravel-8-vue:laravle8 + vue3 + vue-router4 + element-plus-源码
-
MinGW.zip 工具包
-
Day1.DOS命令 study
-
swe1-docs-源码
-
2021-02-26
-
PPT大神之路高清教程