代码统计开源工具 SLOCCount

1 简介

SLOC(Source Lines of Code),是一套用于统计项目中用到的多种源代码总行数的工具。此外,SLOC 还会估算出开发该项目所需的工作量、所需人员和时间等项目成本(基于 COCOMO 模型)。目前 SLOC 支持的语言多达 27 种。

  1. Ada (.ada, .ads, .adb)
  2. Assembly (.s, .S, .asm)
  3. awk (.awk)
  4. Bourne shell and variants (.sh)
  5. C (.c)
  6. C++ (.C, .cpp, .cxx, .cc)
  7. C shell (.csh)
  8. COBOL (.cob, .cbl) as of version 2.10
  9. C# (.cs) as of version 2.11
  10. Expect (.exp)
  11. Fortran (.f)
  12. Haskell (.hs) as of version 2.11
  13. Java (.java)
  14. lex/flex (.l)
  15. LISP/Scheme (.el, .scm, .lsp, .jl)
  16. Makefile (makefile) - not normally shown.
  17. Modula-3 (.m3, .i3) as of version 2.07
  18. Objective-C (.m)
  19. Pascal (.p, .pas)
  20. Perl (.pl, .pm, .perl)
  21. PHP (.php, .php[3456], .inc) as of version 2.05
  22. Python (.py)
  23. Ruby (.rb) as of version 2.09
  24. sed (.sed)
  25. SQL (.sql) - not normally shown.
  26. TCL (.tcl, .tk, .itk)
  27. Yacc/Bison (.y)

2 安装

  • 源码安装: tar.gz
  • RPM 包安装: rpm 包
    sudo rpm -ivh sloccount-2.26-1.i386.rpm
  • Debian:
    sudo apt-get install sloccount

3 用法

语法:sloccount directory_name

示例(以 tensorflow 源码为例)

$ sloccount tensorflow-master
...
SLOC    Directory       SLOC-by-Language (Sorted)
1929666 tensorflow      cpp=1313054,python=571706,java=15935,ansic=10758,
                        pascal=8380,sh=8343,objc=1172,cs=168,perl=150
75546   third_party     cpp=72614,python=2799,sh=96,lisp=37
1016    top_dir         python=1008,sh=8
130     tools           sh=130

Totals grouped by language (dominant language first):
cpp:        1385668 (69.06%)
python:      575513 (28.68%)
java:         15935 (0.79%)
ansic:        10758 (0.54%)
sh:            8577 (0.43%)
pascal:        8380 (0.42%)
objc:          1172 (0.06%)
cs:             168 (0.01%)
perl:           150 (0.01%)
lisp:            37 (0.00%)

Total Physical Source Lines of Code (SLOC)                = 2,006,358
Development Effort Estimate, Person-Years (Person-Months) = 586.89 (7,042.71)
 (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months)                         = 6.04 (72.46)
 (Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule)  = 97.20
Total Estimated Cost to Develop                           = $ 79,281,247
 (average salary = $56,286/year, overhead = 2.40).
SLOCCount, Copyright (C) 2001-2004 David A. Wheeler
SLOCCount is Open Source Software/Free Software, licensed under the GNU GPL.
SLOCCount comes with ABSOLUTELY NO WARRANTY, and you are welcome to
redistribute it under certain conditions as specified by the GNU GPL license;
see the documentation for details.
Please credit this data as "generated using David A. Wheeler's 'SLOCCount'."

参考资料:
https://dwheeler.com/sloccount/sloccount.html

原文地址:https://www.cnblogs.com/offduty/p/11736400.html

时间: 2024-10-15 16:45:08

代码统计开源工具 SLOCCount的相关文章

[转] 网页代码高亮显示开源工具SyntaxHighlighter(基于JavaScript)

syntaxhighlighter是一个小开源项目,它可以在网页中对各种程序源代码语法进行加亮显示.支持当前流行的各种编程语言: C#.CSS.C++.Delphi.Java.JavaScript.PHP.Python.Ruby.SQL.Visual Basic.XML / HTML 使用方法: 1.假设网页文件test.htm存放在一个目录,则将dp.SyntaxHighlighter解压缩到该目录下的子目录,假设为images 2.在网页的<head></head>之间插入以下

JVM 性能调优实战之:使用阿里开源工具 TProfiler 在海量业务代码中精确定位性能代码

本文是<JVM 性能调优实战之:一次系统性能瓶颈的寻找过程> 的后续篇,该篇介绍了如何使用 JDK 自身提供的工具进行 JVM 调优将 TPS 由 2.5 提升到 20 (提升了 7 倍),并准确定位系统瓶颈:我们应用里静态对象不是太多.有大量的业务线程在频繁创建一些生命周期很长的临时对象,代码里有问题.那么问题来了,如何在海量业务代码里边准确定位这些性能代码?本文将介绍如何使用阿里开源工具 TProfiler 来定位这些性能代码,成功解决掉了 GC 过于频繁的性能瓶颈,并最终在上次优化的基础

写了个代码统计工具

周末想统计下XCL-Charts到底写了多少行代码,就用Go语言写了个代码统计工具,效果还不错,统计速度也快. 就把统计报表部份今天完善了下,硬生生把很短的代码澎涨到200多行了. 除了必要的代码行数和文件总计外,增加了代码行数有300,500,1000,5000及5000以上这几个级别的代码文件个数统计功能. 同时,用户可以指定显示出代码行数大于等于某值的所有文件明细,并按从大到小顺序排列. 贴下效果: E:\XCLTools\src\crname>go run scounter.go -l=

Defcon 23最新开源工具NetRipper代码分析与利用

0×01 研究背景 在分析了俄罗斯人被曝光的几个银行木马的源码后,发现其大多均存在通过劫持浏览器数据包来获取用户个人信息的模块,通过截获浏览器内存中加密前或解密后的数据包来得到数据包的明文数据.在Defcon 23被发布的工具NetRipper具备了以上恶意银行木马的这一能力,其开源的代码结构清晰,易于扩展,研究该工具对于研究该类恶意行为很有意义.其github地址在[github] ,作者还提供了metasploit和powershell版本的利用模块,本文将分析其不同版本模块均会用到的c++

统计翻译系统中的开源工具们

(根据 计算机世界/2007年/10月/22日/第B15版 文章改编) 开源工具对统计翻译带来的意义不必多说,想必也都能体会出来.Brown等提出IBM模型是在20世纪90年代初,而IBM模型广泛使用和研究的年份竟然是1999年以后!促成这种想象的原因竟是开源工具包的出现!开源工具的出现,降低了研究的准入门槛,使得我们可以正真意义上的站在巨人的肩膀上,来做进一步的探索!感谢那些开源工具们,记住他们,利用他们,让我们的研究更上一层楼! 一.开源工具 1. 首个开源统计机器翻译工具包Egypt (包

cloc 统计代码行数工具

cloc 统计代码行数工具 官网地址:http://cloc.sourceforge.net/ 下载完成后 会生成一个.exe文件 需要修改文件名为 cloc.exe 然后把这个文件拷贝到需要统计的根目录下, 通过系统dos窗口, 运行 // 注意有一个空格和点(.) cloc . 原文地址:https://www.cnblogs.com/luxiaoyao/p/9435525.html

Linux下安装代码统计工具git_stats

(一).简介git_stats:仓库代码统计工具之一,可以按git提交人.提交次数.修改文件数.代码行数.注释量在时间维度上进行统计,亦可按各文件类型进行简单的统计,非常方便. 虽然以代码行数来衡量项目或者程序员并不是一件靠谱的事,但是从统计角度看趋势对于技术管理人员还是很有帮助的!GitStats就是这样的工具,它能生成以下统计数据,并以图表形式进行对比 常规的统计:文件总数,行数,提交量,作者数. 活跃性:每天中每小时的.每周中每天的.每周中每小时的.每年中每月的.每年的提交量. 作者数:列

简易的代码统计工具

/* 把所有 .cpp 文件放到与程序相同目录,ctrl+A 全选,F2重命名为 a (系统自动改为 a (1).cpp.a (2).cpp.a (3).cpp --), 输入文件个数,开始统计. 若出现异常,可以尝试吧所有文件重命名为 b (系统自动改为 b (1).cpp -- ) ,再重命名为 a */ #include <stdio.h>#include <stdlib.h> int main(){ const unsigned int fileNum = INT_MAX;

GitHub 开源工具整理

技术站点 Hacker News:非常棒的针对编程的链接聚合网站 Programming reddit:同上 MSDN:微软相关的官方技术集中地,主要是文档类 infoq:企业级应用,关注软件开发领域 OSChina:开源技术社区,开源方面做的不错哦 cnblogs,51cto,csdn:常见的技术社区,各有专长 stackoverflow:IT技术问答网站 GitHub:全球最大的源代码管理平台,很多知名开源项目都在上面,如Linux内核, OpenStack等免费的it电子书:http://