昨天软件工程课上蛮有收获,提到了Gantt图,项目时间管理等一些比较感兴趣的东西。其中项目复杂度最简单的方法可以通过项目中代码行数确定。逐用ruby 尝试下。
代码核心在于获取某文件行数 以及 某文件夹下所有文件的遍历,前者好像找不到什么好的API,我使用的是遍历的方法。后者有很多重方法,就用简单点的Find了,下次尝试用Tree的形式并生成xml
PS 本来想弄个后缀过滤,后来发现linux下许多文件都没有后缀的~~~不管了。
##
## this is design for calculate the totals line of code in your project
## version 1 @october 8th,2008
##
module Enumerable
# function to get total lines for file
def total_lines
lines = 0
each_with_index {|content,lines|}
return lines+1
end
end
class CheckLines
require 'find'
@check_type = %w{txt rb erb yml html css xml}
def initialize(directory)
@total_lines = 0
if File.directory?(directory)
@directory = directory
@contents = {}
self.go
else puts "#{directory} is not a directory! check it out!" and return
end
end
def go
if @directory
Find.find @directory do |path|
pathlite = path.gsub(@directory,'')
if File.file? path
File.open path do |f|
tmp_line = f.total_lines
@contents.store(pathlite,tmp_line)
@total_lines += tmp_line
end
end
end
puts @total_lines
end
end
def details
@contents.each do |key,value|
puts "#{key} file has lines of #{value}"
end
end
end
写的时候出了个小问题,在class内定义了HASH @contents={} 然后在details里面调用时报错,提示NilClass,在 initialize里面重新定义一次才能通过,也就是说你写在class 和 function 外面的 东西它是不执行的?
下次改进:读取文件过滤,结果生成XML,然后通过Flex的图表画出来。
分享到:
相关推荐
以下是一些常见编程语言的代码行数计算方法: 1. **Python**:Python的代码行数可以通过内置的`__len__()`方法或者使用第三方库如`cloc`或`sloccount`来计算,这些工具可以区分空行、注释和实际代码。 2. **Java**...
- **使用内置函数**:Python标准库中没有直接统计代码行数的函数,但可以通过读取文件并计算换行符数量来近似统计。 - **使用第三方库**:例如`cloc`库可以计数空行、注释行和实际代码行,提供更准确的统计结果。 ...
主脚本位于bin/ruby_loc_counter并接受一个参数,它可能是以下任何一个: 单个文件名目录名表示 Glob 的字符串在每种情况下,脚本都会找到所有匹配的 Ruby 文件并计算总行数和非注释、非空白行数。 这些结果将作为...
"测代码行数工具.zip" 提供了一个工具,能够帮助我们快速统计指定文件夹中各种源码文件的代码行数,支持多种编程语言。这个工具对于开发者、项目经理以及代码审计人员来说非常实用。 这个压缩包中包含的主要功能...
Ruby gem,可计算文件数、代码总行数、注释、行间距和每个文件扩展名的平均 LOC。 它还排除了名称中带有“vendor”的目录中的文件。 安装 将此行添加到您的应用程序的 Gemfile gem 'josephine' 然后执行$ bundle ...
通常,用户只需要指定包含源代码的目录,工具就会自动扫描并计算出各文件的代码行数。结果可能会包括空行、注释行和实际可执行代码行的统计,这为代码质量和性能评估提供了数据支持。 总的来说,“代码行数统计”...
Ruby-MetricFu是一个强大的...你可以通过克隆或下载解压后,在项目中设置配置文件,然后运行MetricFu来分析你的Ruby代码。记得阅读文档以了解如何定制报告和处理分析结果,以便更有效地利用这个工具提升你的代码质量。
Cane-master文件可能包含Cane项目的源代码,包括配置文件、示例用法、测试用例等。通过查看和学习这些内容,开发者可以更深入地了解Cane的工作机制,自定义规则以适应特定项目的需求,或者为Cane贡献新的检查模块。 ...
用户下载并解压后,可以直接运行这个文件启动统计器,按照向导式的步骤进行操作,实现对代码行数的快速统计。可能包含的特性有批量处理、自定义过滤规则(比如排除特定类型的注释或者空行)、导出报告等功能,以满足...
Linecount的工作原理是通过解析源代码文件的格式和结构,计算出注释、空行以及实际代码行的数量。这对于评估代码的可读性、比较不同版本的代码差异,或者在项目中实施代码规范都有极大的帮助。例如,如果发现某个...
计算一个或多个存储库中包含的代码行数。 当前仅存在对GitHub的支持,但是可以随时为您想要的任何托管网站制作新的适配器。 安装 $ gem install codelines 例子 您可以使用运行内置可执行文件的代码行,也可以在...
"LineCount 3.6.3"是一款专用于统计源代码文件行数的实用工具,它可以帮助程序员和软件开发团队高效地追踪项目进度,评估代码复杂性,以及进行代码审计。这款工具支持多种源文件格式,确保了在处理不同编程语言的...
一旦你定位到工程目录,你可以使用以下命令来统计Objective-C(`.m`)、Objective-C++(`.mm`)、C++(`.cpp`)、头文件(`.h`)以及Ruby Script(`.rss`)的代码行数: ```bash find . "(" -name "*.m" -or -name ...
CLOC的主要功能在于计算代码库的规模,通过统计文件数量、空白行、注释行和实际代码行,为软件开发提供了一种量化评估的方法。这对于项目管理和代码质量控制具有重要意义。以下是对CLOC关键知识点的详细解释: 1. *...
这种工具的功能强大,不仅可以计算纯代码的数量,还能分析项目中的注释数量,以及总的代码行数,这对于理解和评估项目的规模、复杂度以及维护性具有重要意义。 在软件开发过程中,代码统计是不可或缺的一环。通过...
下面是一个简单的脚本示例,该脚本用于计算文本文件中的行数: ```groovy count = 0 file = new File(args[0]).eachLine { count++ } println "line count for ${args[0]} is ${count}" ``` 在这个例子中,`each...
计数器不仅统计行数,还能计算字符数或字节数,这对于了解代码库的大小和可能的性能影响非常有价值。 在项目管理中,源代码计数器可以帮助估算项目的进度和工作量。开发团队可以通过比较不同时间点的统计结果来追踪...
CLOC(Count Lines of Code)是一个强大的开源工具,用于统计源代码中的代码行数、空行和注释行。这个工具在软件开发领域非常有用,因为它可以帮助开发者和项目管理者了解代码库的规模,评估项目的复杂性,以及跟踪...
- **自定义配置**:可以通过环境变量或配置文件调整搜索行为,如排序方式、最大显示行数等。 ## 5. 扩展与集成 Go-fzf不仅可以单独使用,还可以与其他命令行工具集成,例如与`vim`、`tmux`、`zsh`等进行深度集成,...
在进行测试时,`grep`命令用于在文件中搜索特定模式,`find`帮助在文件系统中查找文件,而`wc`则用于计算文件的行数、单词数和字符数。`sed`和`awk`是两个强大的文本处理工具,可以进行数据提取、转换和过滤。 对于...