当前位置: 首页 > 科技观察

cloc:计算不同编程语言的源代码行数

时间:2023-03-13 16:43:58 科技观察

作为一名开发人员,你可能需要时不时地与你的领导或同事分享你当前的工作和代码开发进度,或者你的领导想要对代码分析进行全面审查。这时候就需要用到一些代码统计工具了,我知道其中之一就是Ohcount。今天,我遇到了另一个程序,cloc。您可以使用cloc轻松统计多种语言的源代码行数。它还可以计算空白行数、代码行数和实际代码行数,并以整齐的表格形式输出结果。cloc是一个用Perl开发的免费开源跨平台程序。特性cloc有很多优点:易于安装和使用,不需要额外的依赖可移植性支持多种结果格式导出,包括:纯文本、SQL、JSON、XML、YAML、CSV可以计算git提交数递归计算数文件夹中的代码行数并计算压缩文件,如:tar、zip、Java.ear等类型开源,跨平台安装cloc的安装包在大多数类Unix的默认软件库中操作系统。所以你只需要使用默认的包管理器安装。ArchLinux:$sudopacman-SclocDebian/Ubuntu:$sudoapt-getinstallclocCentOS/RedHat/ScientificLinux:$sudoyuminstallclocFedora:$sudodnfinstallclocFreeBSD:$sudopkginstallcloc当然你也可以使用第三种-方包管理器,例如NPM。$npminstall-gcloc多语言代码数据统计使用示例首先举几个简单的例子,比如下面我当前工作目录下的C代码。$cathello.c#includeintmain(){//printf()显示引号内的字符串printf("Hello,World!");return0;}要计算行数,只需运行:$clochello.c输出:***栏是分析文件的编程语言,上面我们可以看到这个文件是用C语言编写的。第二列显示该语言有多少个文件,图中显示只有一个。第三列显示空行数,图中为0行。第四列显示注释的行号。第五列显示文件中实际的代码行总数。这是一个只有6行代码的源文件。我们看到统计的还是比较准确的,那如果用来统计行数比较多的源文件呢?$clocfile.tar.gz输出:上面的输出很难用手准确计算,但cloc只需要几秒钟,并以易于阅读的表格格式显示结果。还可以在***查看各部分的总和,分析程序源码时非常方便。除了源代码文件,cloc还可以递归计算每个目录及其子目录的文件数、压缩包数,甚至gitcommit。文件夹中使用的示例:$clocdir/子文件夹中使用的示例*:$clocdir/cloc/tests统计一个zip中源代码的行数:$clocarchive.zip你也可以统计一个git项目,你也可以统计某次提交的状态如下:$gitclonehttps://github.com/AlDanial/cloc.git$cdcloc$cloc157d706cloc可以自动识别部分语言,使用如下命令查看cloc支持的语言:$cloc--show-lang有关更新信息,请参阅cloc的帮助。$cloc--help开始吧!