论坛首页 编程语言技术论坛

从rails里提取出来并稍做修改的代码统计功能

浏览 2211 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-02-12  
最近做了个基于ruby的小项目,不是rails的,项目接近尾声时想统计下代码情况,结果发现找不到ruby的代码统计工具。唯一知道的也就是rails里的stats task了,所以索性把里面的代码统计代码抽出来做成可以单独运行的代码统计工具。
另外,由于原来的代码不统计注释,所以我加了对注释和注释率的统计,对原来的程序基本没有什么大修改。(单行注释和写在代码后的注释都算作一行)

原来进行统计的目录是这样设定的:
STATS_DIRECTORIES = [
  %w(Helpers            app/helpers), 
  %w(Controllers        app/controllers), 
  %w(APIs               app/apis),
  %w(Components         components),
  %w(Functional\ tests  test/functional),
  %w(Models             app/models),
  %w(Unit\ tests        test/unit),
  %w(Libraries          lib/),
  %w(Integration\ tests test/integration)
].collect { |name, dir| [ name, "#{RAILS_ROOT}/#{dir}" ] }.select { |name, dir| File.directory?(dir) }


修改后的程序就统计两个目录——源代码目录和测试代码目录:
@pairs = [
  ["Codes",src + "/"],
  ["Tests",test + "/"]
].collect { |name, dir| [ name, "#{dir}" ] }.select { |name, dir| File.directory?(dir) }


如果需要统计的目录比较多,您可以自行修改下。

通过命令行方式直接调用,即:ruby code_statistics.rb [<源代码目录> <测试代码目录>]
程序里用以下代码做了简单的判断,默认这两个参数分别是src和test。

统计结果显示如下( 因为项目小,我的方法命名基本都能说明方法的功能,所以注释写的少了点)
  • 描述: 显示效果
  • 大小: 4.4 KB
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics