WordCount结对拓展

WordCount结对编程

合作者:201631021308     201631054301 

码云地址:https://gitee.com/ZK154/pair_programming

作业链接:https://edu.cnblogs.com/campus/xnsy/2018softwaretest2398/homework/2187

一,代码互审:

      在上一次的作业中,我们各自实现了WordCount的基本功能,整理出了各自的功能模块进行相互比较,选择其中更为优越的来实现结对项目,然后开始代码互审。

      在互相理解了代码后,我们对对方的代码有了一定的了解,首先统一了变量和函数名,再对代码的执行过程进行检查,队友发现了代码中冗余度过高的问题,然后对主要模块进行了代码重构。最后互相统一意见实现了功能拓展后的WordCount。

二,运行环境:

      本次作业,我们通过eclipse,使用java编写程序。

三,功能拓展:

1,新增功能:本次作业要求在上次WordCount的基本功能中增加三个功能:‘-s’‘-e’‘-a’,所以本次作业添加了三个模块 codeNum( )、referWord( )和circleNum ( );

2,新增功能代码实现:

(1)空行/代码行/注释行:

  

(2)递归文件:

  

(3)停用词表:

3,功能:

(1)-a功能:

 

 (2)-s功能:

 

(3)-e功能:

四,静态代码检查:

1,静态代码检查方式:

本次作业中我们决定并使用静态代码检查工具findbugs来检查代码。

2,检查结果:

使用findbugs进行检查后发现了两个问题:一个是变量命名格式有误,另一个是对文件是否存在缺少判断。

发现问题后再次检查,问题解决。

经过测试发现两个提示:

修改后提示去除:

五,单元测试:

1,测试方法:本次作业,我们采用junit3测试框架。

2,测试代码:

 1 public class AddMethodTes extends TestCase {
 2     //初始化
 3     word  wd;
 4     String filename ="123.c";
 5     protected void setUp()throws Exception{
 6         System.out.println("测试前");
 7         wd = new word();
 8         super.setUp();
 9     }
10     public void testchar() throws IOException {
11     
12         String ch = wd.characterNum(filename);
13         
14             }
15 
16     public void testword() throws IOException {
17 
18         String ch = wd.wordNum(filename);
19 
20     }
21     public void testline() throws IOException {
22     
23         String ch = wd.lineNum(filename);
24         
25             }
26     public void testcode() throws IOException {
27     
28         String ch = wd.codeNum(filename);
29         
30             }
31     public void testrefer() throws IOException {
32         String ch = wd.referWord(filename, "refer.txt");
33         
34             }
35     //结束
36     protected void tearDown()throws Exception{
37         System.out.println("测试后");
38         super.tearDown();
39     }
40 }

3,测试结果:

测试结果正确,通过单元测试:

六,作业总结:

      在完成本次作业过程中,我和另一位同学一起通过结对编程的方法完成WordCount,他有很强的专业能力,在整个过程中他在这个过程中他担任主力,但我在他身上也了解和学习到很多专业相关的知识,学习并使用了Junit单元测试工具和findbugs静态检查工具,对软件开发过程有了更进一步的认识,两人合作也比较成功。其次,通过本次作业我也认识到软件代码规范也是非常重要的,在团队协作过程中可以避免很多不必要的麻烦,通过百度查询了一些大型it公司的代码规范(阿里和微软),使我对代码规范印象深刻。

 

 

参考资料:

1:如何使用Junit编写测试类

2:如何使用findbugs

 

 

 

 

 

posted @ 2018-10-22 13:03  我爱中病毒  阅读(181)  评论(0编辑  收藏  举报