精华内容
下载资源
问答
  • 这是本人自己开发的一款java代码注释统计工具,支持统计总行数,总代码行数,总注释行数,注释率,注释合格率自定义,统计详细,单个文件统计情况,可导出统计报告等! 注:本软件未捆绑jre(java环境),需要在已...
  • 代码注释统计工具

    2014-05-26 15:49:57
    1、显示各个文件详细注释情况及比例值; 2、汇总各个所有统计结果; 3、图形显示汇总结果情况;
  • 代码统计工具,支持递归查询。统计内容包括:代码行数、注释行数、空行数、总行数等。网上下载的,与大家分享。来源查看程序,关于
  • C++代码统计工具,可以统计C代码,行数,注释
  • 代码行数统计工具,特别好用,可以统计代码注释行数、空行数、代码有效行数。值得拥有。 代码行数统计工具,特别好用,可以统计代码注释行数、空行数、代码有效行数。值得拥有。
  • 代码行数统计工具

    2017-09-15 17:39:54
    代码行数统计工具,可以利用该工具进行代码中js,jsp,java,注释,空行等所有项目开发总代吗行数的统计,在质量管控中很有用。
  • 代码统计工具.rar

    2020-06-09 10:39:27
    代码行,注释统计工具。下载后解压,能对文件或者目录进行代码量统计。查看整体代码量,注释量等。很好服务于项目经理、测试
  • 做这个语法解析的同时反复说代码注释花了很大力气,也不太好辩驳。 这里自己简单实习了一个,代码非常短,只要是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:12
    diffcount是一个开源的代码统计工具 包括以下功能: 1. 差异统计:统计某一个版本的代码包相对于一个原始的基线代码包,变动的代码量,以及变动的代码量中各语言非空非注释行(NBNC)的结果; 2.代码统计:如果需要,...
  • VB代码行数统计工具

    2015-01-09 12:04:47
    VB代码行数统计工具 支持vb6 vbp 和vb net vbproj 工程文件直接打开分析 可以自由选择是否统计空白行 注释
  • Java 有什么好的代码行数,注释行数统计工具,或者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源文件的内容基本包括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,戳这里可以直接去它的github首页。 首页说明中可以看到该工具目前可以在各大主流的插件市场下载到,我的机器是mac,所以直接使用homebr...

            最近公司项目开始统计代码注释率,毕竟完全可读的代码是不存在的,提高代码可读性最好的方式还是多写注释,这样也可以帮助后来接手的同事更快的熟悉业务逻辑。

            目前项目中的注释统计工具是cloc,戳这里可以直接去它的github首页。

            

            首页说明中可以看到该工具目前可以在各大主流的插件市场下载到,我的机器是mac,所以直接使用homebrew来安装这个工具。打开终端terminal,输入“brew install cloc”即可安装该工具。安装完成后cd进入我们需要统计代码文件夹路径下,最后使用"cloc ./"命令即可统计该文件夹下文件中的注释行数和代码行数,进而得出注释率。

           bingo!

    展开全文
  • cloc 代码统计工具 计算代码行、注释行、空行量的工具。支持多种语言。 gitHub地址: https://github.com/AlDanial/cloc 例如统计一下vue项目里的src文件夹下的代码: 安装方式 npm install -g cloc # ...
  • ICodeStat代码统计工具

    2018-08-06 14:50:43
    ICodeStat代码统计工具代码统计主要包括:注释行、空白行、代码行、总行数(不包括空白行)、总文件数、注释率、空白率。统计输出格式以类似表格的输出方式展现,看起来一目了然。
  • 虽然也是分析程序的源代码统计空行,注释行,代码行,但uuStepCount可以自由定义,因此不论是什么后缀名,即使新的注释方式都可以统计。 HTML、JSP、ASP、PHP内部包含的语言(JavaScript,StyleSheet)也可以分别...
  • 代码规模统计工具

    2013-08-08 10:22:39
    可以指定文件后缀名,统计代码的执行行数,总行数,注释行数等等,可以开发语言分析文件等,功能强大
  • VC 开发的代码统计工具,可自动搜索指定文件夹中的代码文件,并统计出每一个文件的代码行数、注释行数,可以自由添加文件类型、设定统计方法等,可以学习下VC 对字符的处理技巧。
  • Statistic是idea上面的一个用于统计代码数量,注释数量的工具。 1.安装 重启idea后,工具就能直接使用,如过没有结果的话,刷新下: 扩展设置
  • Python代码统计工具标签: Python 代码统计声明本文将对《Python实现C代码统计工具(一)~(三)》中的C代码统计工具进行扩展,以支持Python脚本自身的行数统计。一. 问题提出此前实现的C代码统计工具仅能分析和统计...
  • SourceCounter是一个适用性广泛的代码统计工具,通过这个工具能够对30多种代码进行代码行数、注释、空行、文件大小等信息进行统计分析,另外软件还支持对软件开发的各个... 使用工具diffcount可以统计一个项目之间两个...
  • 有一个简单但功能强大的工具叫做“ cloc - count lines of code ”,它允许你计算所有代码的数量并同时排除注释和空行。它适用于所有主要Linux发行版,并支持多种编程语言和文件扩展名,并且没有任何特定要求可供...
  • 这是一个简单的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多种代码格式。能够统计包括:代码行数、注释、空行、文件大小等数据。另外,还支持对软件开发项目的各个开发阶段的工数、成本、质量指标等进行分析和预测。是程序开发人员的...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 379
精华内容 151
热门标签
关键字:

代码注释统计工具