(1)合作者:201631091312,201631062506
(2)代码地址:
(3)作业链接地址:
一、项目简介
wordcount项目的功能是对程序设计语言源文件统计字符数、单词数、行数,统计结果以指定格式输出到默认文件中,以及其他扩展功能,并能够快速地处理多个文件。
1. 基本功能(完成)
wc.exe -c file.c //返回文件 file.c 的字符数
wc.exe -w file.c //返回文件 file.c 的单词总数
wc.exe -l file.c //返回文件 file.c 的总行数
wc.exe -o outputFile.txt //将结果输出到指定文件outputFile.txt
2. 扩展功能(未完成)
wc.exe -s //递归处理目录下符合条件的文件
wc.exe -a file.c //返回更复杂的数据(代码行 / 空行 / 注释行)
wc.exe -e stopList.txt // 停用词表,统计文件单词总数时,不统计该表中的单词
[file_name]: 文件或目录名,可以处理一般通配符。
3. 高级功能(未完成)
wc.exe -x //该参数单独使用,如果命令行有该参数,则程序会显示图形界面,用户可以通过界面选取单个文件,程序就会显示文件的字符数、单词数、行数等全部统计信息。
二、代码互审情况
首先因为能力的原因,我们两人只完成了最基础的功能。
然后因为从来没有像这样合并过别人的代码,所以在合作中出现了不少问题,最开始两个人都认为自己的代码已经实现了大概的基础功能,但经过互相的检查之后发现问题不少,比如计算单词数和行数时会连着空格一起计算,使得显示结果不正确。在经过两个人的修改和完善下,取长补短最终实现了一个完善的基础版的WordCount程序。
三、静态代码检查情况
因为此次编写代码用的是C#,所以选择了stylecop来进行静态代码检测。它是代码规范检查工具(Code Review 工具),不仅仅是检查代码格式,而是编码规范,包括命名和注释等。
检查结果如下:
VS自己的Build往往检测不了很多的错误,如下图:
相比较于VS自己的Build,StyleCop检查出了非常多的有关格式和命名注释等规范提示,而且安装简单,使用方便。
四、运行结果
运行代码,可以实现对字符数、字数、行数的统计,并且可以把统计结果保存到result.txt中。可以单独输入一个命令,也可以一起输入,也具有对错误输入的提示。
输入 | 有效等价类 | 无效等价类 |
读取文件命令 | -c |
除了-c,-w,-l,-o的所有输入 |
-w | ||
-l | ||
-o |
正确输入的运行结果:
错误输入的提示:
五、性能测试和优化
本项目采用的性能分析工具为JetBrains dotTrace
JetBrains dotTrace是一款性能和内存分析工具,它可以帮助你优化应用程序性能指标,支持.NET 1.0版本到4.5,快速分析程序瓶颈,找出影响效率的代码。