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

转载于:https://www.cnblogs.com/woaizhongbingdu/p/9829526.html

WordCount结对拓展相关推荐

  1. WordCount结对项目

    合作者:201631062124,201631062423 代码地址:https://gitee.com/yryx/WordCount 作业地址:https://edu.cnblogs.com/cam ...

  2. 结对项目--wordCount

    结对作业: 成员:201631062115(partner),201631062613(me) 代码地址:https://gitee.com/ackary/WordCount 作业的链接地址:http ...

  3. WordCount by C# 结对编程

    合作者:201631062210,201631062110 Gitee项目地址:https://gitee.com/zhouyue98/learngit 本次作业的链接地址:https://edu.c ...

  4. 结对编程Wordcount

    结对伙伴:201631083106 201631063412 项目链接:https://gitee.com/monkeyjb/WordCount 作业链接:https://edu.cnblogs.co ...

  5. 结对项目-WordCount

    结对作业: 成员:201631062115(me),201631062613(partner) 代码地址:https://gitee.com/ackary/WordCount 作业的链接地址:http ...

  6. 软件工程基础-结对项目-WordCount(单词计数)

    结对项目要求 Github项目地址 https://github.com/richardevan/wordcount PSP表格 PSP2.1 Personal Software Process St ...

  7. 系统分析与设计结对项目———Wordcount

    系统分析与设计结对项目---Wordcount 合作者:201631062513.201631062511 本次作业要求链接地址:https://edu.cnblogs.com/campus/xnsy ...

  8. 《软件工程实践》第五次作业-WordCount进阶需求 (结对第二次)

    在文章开头给出结对同学的博客链接.本作业博客的链接.你所Fork的同名仓库的Github项目地址 本作业博客链接 github pair c 031602136魏璐炜博客 031602139徐明盛博客 ...

  9. 结对作业——WordCount进阶版

    1.作业地址及结对伙伴 博客作业要求地址:https://www.cnblogs.com/happyzm/p/9626779.html 结对伙伴: 姓名:贾海涛 学号:201621123027 博客地 ...

最新文章

  1. PRICAI开幕 第四范式发起AutoML议题
  2. 如何选择正确的激活函数?
  3. redux-form(V7.4.2)笔记(一)
  4. leetcode 4
  5. 莫烦Pytorch神经网络第五章代码修改
  6. 日期时间格式转化为方便理解的格式
  7. iOS- 快速实现展示布局
  8. 新松机器人产业小镇_机器人行业迎来拐点,新松机器人如何“过冬”?丨亿欧读财报...
  9. matlab 轴gui,MatlabüGUI学习笔记(4)——公共对象属性的轴,MatlabGUI,四,常用,之,Axes...
  10. classmethod作用
  11. 全国植被覆盖度VFC逐月数据
  12. 魔兽世界 MPQ(MoPaQ) 文件相关资料
  13. LM1875官方电路图元件作用解释说明以及电路调校
  14. C++制作一个连点器
  15. Excel转PDF,Excel行数过多导致PDF折行、换行显示
  16. 360云盘 linux客户端,360安全云盘Linux界面版下载,包括深度版,支持龙芯/兆芯/飞腾芯片...
  17. 阿波罗登月计算机技术,你知道吗,阿波罗登月用的计算机还不如你家计算器!...
  18. S3C6410 SD Card一键烧写 WINCE 6.0
  19. ubuntu查看电脑配置命令
  20. 【庖丁解牛系列】 项目时间管理之前导图/单代号网络图

热门文章

  1. 安装mysql为什么下载了很多_mysql下载与安装过程
  2. 自己建服务器 语音盒子_如何自己搭建一个服务器?
  3. Android安全加密:非对称加密
  4. Apache Commons工具集简介
  5. 小米 一亿像素传感器 笔记
  6. 深入理解JVM虚拟机(十一):线程安全与锁优化
  7. 2020.2idea怎么创建html模块_利用idea快速搭建一个项目
  8. 运行iis提示服务没有及时响应启动或控制请求的解决方法
  9. HTTP协议 TCP协议简要
  10. 基于 matplotlib 的抽象网格和能量曲线绘制程序