第三次做业 结对编程

结对编程完成WordCount

合做者:201731062301 201731062304(学号)html

本次做业连接:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2882git

一.Github项目地址及做业地址

   1.结对使用的Github项目地址:https://github.com/qili12/WordCount.git

   2.结对伙伴的做业地址:http://www.javashuo.com/article/p-uflzwttf-mt.html

二.结对过程及填写PSP表格

   1.结对过程

   先找好结对的小伙伴,阅读做业内容及要求,再进行商讨、作好分工以及填写 PSP表格中的预估耗时部分。本人负责实现基础功能,结对伙伴在本人的基础上负责实现新功能。完成后进行代码复审、单元测试、效能分析。github

下图为两人结对编程照片:正则表达式

 

   2.填写PSP表格

 PSP2.1

 Personal Software Process Stages

 预估耗时(分钟)

 实际耗时(分钟)

 Planning

 计划

 45

 45

 · Estimate  · 估计这个任务须要多少时间  45  45

 Development

 开发

 910

 1295

 · Analysis  · 需求分析 (包括学习新技术)  45  60
 · Design Spec  · 生成设计文档  30  45
 · Design Review  · 设计复审 (和同事审核设计文档)  20  60
 · Coding Standard  · 代码规范 (为目前的开发制定合适的规范)  30  30
 · Design  · 具体设计  45  60
 · Coding  · 具体编码  600  800
 · Code Review  · 代码复审  60  90
 · Test  · 测试(自我测试,修改代码,提交修改)  80  150

Reporting

 报告

 90

 115

· Test Report  · 测试报告  30  45
 · Size Measuremen  · 计算工做量  25  25 
 · Postmortem & Process Improvement Plan  · 过后总结, 并提出过程改进计划  35  45
   合计

 1045

 1455


    总结分析:在本次项目完成后,发现预估时间和实际时间相差很大,主要表如今开发阶段,其中又主要集中在具体编码和测试、修改中。在具体编码过程当中困难重重,好比统计单词总数和‘!’、‘?’等字符须要用到正则表达式。因而上网查资料并对正则表达式的使用进行了学习,又如,统计词频并按频率由高到低、字母表顺序输出,须要用到Dictionary。在后期的代码复审以及修改也花了较多时间。
编程

三.解题思路

  1.基础功能

    项目要求:统计文件字符数、单词总数、有效行数以及统计词频并按照频率由高到低、字母表顺序输出。单元测试

   (1)统计字符:即统计整个字符串的长度;学习

   (2)统计行数:将文件字符一行行传入来统计行数;测试

   (3)统计单词总数:采用正则表达式进行判断单词是否符合要求,若符合,则用列表存储;编码

   (4)统计词频并按照频率由高到低、字母表顺序输出:用Dictionary。spa

  2.新功能:结对伙伴博客

四.设计实现过程(见结对伙伴博客

五.制定的代码规范(见结对伙伴博客

六.改进(见结对伙伴博客

七.代码说明(见结对伙伴博客

八.单元测试(见结对伙伴博客

九.收获

  在本次结对编程过程,发现1+1>2,开发效率明显提升。在知识方面学习到不少,在结对伙伴的身上也学到不少。

    1.编程方面:好比,在统计单词总数时,一块儿查资料,学习正则表达式的使用;

    2.单元测试:本人学会了写单元测试;

    3.对GitHub的push操做更加的熟练;

    4.对本身的要求更高了。

相关文章
相关标签/搜索