WordCount结对编程

WordCount by C# 结对编程

合作者:201631062210,201631062110

Gitee项目地址:https://gitee.com/zhouyue98/learngit

本次作业的链接地址:https://edu.cnblogs.com/campus/xnsy/2018softwaretest2398/homework/2187

一·代码互审情况

审查模块名称:WC类里的方法。
本次作业采用结对编程,我们分别写完代码后,在代码整合之后,代码显得很冗长,于是把WC类和Program类分离开了。在代码整合的过程中,我们制定了自己的规范,并且按照规范修改代码。出现了一些需要修改的地方,比如:
如果if语句块的内容只有一行,可以不加花括号,并且最好和if语句位于同一行,使代码更紧凑。

WordCount结对编程_第1张图片
改进后:
WordCount结对编程_第2张图片
在代码中最好不要出现多余的空行在一个类中,各个方法需用一空行(最好是一个空行),方法的注释最好写在方法上面一行
WordCount结对编程_第3张图片
改进后:
WordCount结对编程_第4张图片
还有一些变量命名没有用Camel命名法,显得不规范,比如 private int NullLineCount;这样和类的命名方法容易混淆。

二·静态代码检查情况

采用的静态代码检查工具是StyleCop,StyleCop是一个分析C#源代码的程序,它执行一套统一风格和一致性规则,可以运行在Visual Studio或集成到MSBuild项目。StyleCop也被集成到许多第三方开发工具中,应用范围适中。
报出一个错误,和一些提示。

WordCount结对编程_第5张图片
错误的原因是在单元测试中把原先控制台输出的部分暂时改成了函数返回,后面改回来之后,单元测试无法得到方法的返回值。改进方法,自己重新定义一个值。
WordCount结对编程_第6张图片
WordCount结对编程_第7张图片

三·单元测试情况

本次功能的拓展,增加了SuperCount方法(统计高级信息:空行数 代码行数 注释行数),ReadStopList方法(读取停用词表),Traverse方法(遍历所有符合条件的文件),我主要测试了SuperCount方法,使用VS2015生成的单元测试框架,为了方便测试,我对其中代码输出的部分进行了修改,将原先控制台输出的部分暂时改成了函数返回。该模块的所有语句和分支都已覆盖。 

WordCount结对编程_第8张图片
这是运行的单元测试,遇到问题
WordCount结对编程_第9张图片
之前文件名因为缺少转义字符“@”,而且应该给出完整路径,所以出错。修改之后
WordCount结对编程_第10张图片
以下设计了一些测试用例,基本覆盖用户的日常使用
WordCount结对编程_第11张图片
WordCount结对编程_第12张图片
WordCount结对编程_第13张图片
WordCount结对编程_第14张图片




WordCount结对编程_第15张图片

四·性能测试和优化

本次性能测试用VS2015进行性能分析
测试结果

WordCount结对编程_第16张图片
WordCount结对编程_第17张图片
WordCount结对编程_第18张图片
可以从图中看出,Console.ReadLine()占据了99.8%时间,这主要与用户的输入时间有关,所以本软件的性能可以算优秀,暂时不用优化。

五·收获和感悟

本次作业采用结对编程,结对编程有助于提高软件质量和加强团队成员合作。它有非常多的好处,但是,也有一些缺陷,比如,都需要相同的编辑器,操作系统等,还需要制定相同的代码规范,而且结对伙伴之间的各方面也应该契合。静态代码工具的使用,会让整个项目更加整齐统一。虽然本次项目的性能测试还算可以,但是项目庞大之后,性能测试就显得尤为重要,性能是用户非常注重的指标。本次作业对于这些方式都体验了一遍,也基本了解使用方法。

六·参考文献链接

此次作业中,静态代码检查参考doris_d的这篇博客:https://blog.csdn.net/doris_d/article/details/51323049,性能测试参考taxuezcy的这篇博客https://blog.csdn.net/taxuezcy/article/details/79315401;有关博客的使用和排版,参考范飞龙老师的这篇博客:http://www.cnblogs.com/math/p/se-tools-001.html;有关Git的使用,参考廖雪峰的官方网站https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/,在此表示感谢。

你可能感兴趣的:(WordCount结对编程)