下面是我想到的关于软件规模代码行(LOC, Line of Code)度量的一些要点,请大家批评指正!
1 原则
客观真实,不考虑度量结果对分析评估的影响关系。
2 内容
2.1 度量文件类型
项目类型:.NET, Java, PHP, VB, C(C++), Delphi...
文件分类和类型:静态页面(.htm, .html),CSS文件(.css),js脚本(.js),sql脚本(.sql),asp动态页面(.asp),asp.net动态页面(.aspx, .ascx),jsp动态页面(.jsp),php动态页面(.php),java代码(.java),vb代码(.frm, .bas, .cls),vb.net代码(.aspx.vb, .ascx.vb, .asax.vb, .vb),C#代码(.aspx.cs, .ascx.cs, .asax.cs, .cs),C或C++代码(.c, .cpp, .h),Dephi代码(.pas, .dfm),图片文件(.gif, .jpg, .jpeg, .jpe, .png), 多媒体文件(.ra, .rm, .rmvb, .mov, .wma, .mp3, .avi, .mpg, ...), Flash(.swf), ...
2.2 度量指标
对于图片、Flash等非文本文件统计文件数量、文件大小;
对于文本文件统计文件数量、文本行数、字符数;
3 工具
3.1 现有工具
优点:节约成本,无需开发。
缺点:功能大多无法满足需求(支持文件种类有限制)。无法与MIS集成。
3.2 自开发工具的概要设计(建议采用本方式)
* 与MIS中的项目关联集成。
* 操作权限控制。
* 度量结果可以人工编辑,也可以自动统计。
* 自动统计方式:上载包含项目有效文件的压缩文件包,服务器解压缩、统计、存入数据表。
* 自动统计方法:
行:以Cr|Lf|CrLf为结束符的文本;
空行:由l个tab、m个半角、n个全角空格混合组成的行(l,m,n>=0);
对于静态页面、动态页面中的|js脚本|css样式|代码|、所有文