全是Bug

一、开始实现程序之前

1. 在文章开头给出结对使用的Github项目地址和结对伙伴的作业地址。(两个人使用同一个)

  我的结对伙伴是 : 201731044205.

  伙伴的作业地址: https://www.cnblogs.com/jhm12345678/p/10649766.html 

  我们使用的Github项目的地址:https://github.com/jmddd/WordCount 

2. 描述结对的过程,提供非摆拍的两人在讨论的结对照片(一起工作编码时的照片)。

  由于我们对编程的平常的练习不够多,对实现这些功能应该要去做什么还是很陌生的。

  首先我们先讨论了一下,把自己会部分分工了,剩下的不会的,我们可以一起查资料重新学习去实现,相信两个人一起的能力还是比一个人的能力大的,下面是我们在进行一起编程讨论时所拍的照片。

 

 

 

3. 给出结对的PSP表格。

PSP表格:

PSP Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 75分钟 90分钟
· Estimate · 估计这个任务需要多少时间 75  90
Development 开发  1005  1260
· Analysis · 需求分析(包括学习新技术) 75  90
· Design Spec · 生成设计文档   30  45
· Design Review · 设计复审(和同事审核设计文档)  60  75
· Coding Standard · 代码规范(为目前的开发制定合适的规范) 60  45
· Design · 具体设计  60  60
· Coding · 具体编码 8*60=480  10*60=600
· Code Review · 代码复审 1.5*60=90  2*60=120
· Test · 测试(自我测试,修改代码,提交修改) 2.5*60=150  225
Reporting 报告 145 145
· Test Report · 测试报告 75  65
· Size Measurement · 计算工作量  25  35
· Postmortem&Process Improvement  Plan · 事后总结,并提出过程改进计划  45  45
  合计  1225

149

4.解题思路描述。即刚开始拿到题目之后,如何思考,如何找资料的过程。

  在刚开始看到这次作业,慌得一批,(对于编程能力很弱的我来说,所有的编程作业都让我慌得一批)。

  需求分析的能力也很弱,只停留在需求分析的最表面,无法进行更深层次更准确的需求分析,只能按照作业的要求进行设计代码的框架结构。

 

  • 首先弄清楚需要实现的有5个基本功能,其次分别用不同的类实现这5个不同的功能:
  1. 统计文件的字符数:CountCharacter.
  2. 统计文件的单词总数:WordNum.
  3. 统计文件的有效行数:YouLine.
  4. 统计文件中各单词的出现次数:CountWord.
  5. 按照字典序输出到文件txt:PutTxt.
  • 分别对着这5个部分编写显示输出的5个方法。在主函数里面建立功能类的对象,再将其结果传入到相对应显示输出的函数中

 

将想法具体一下,基本功能的实现大概如上图 

5.设计实现过程。设计包括代码如何组织,比如会有几个类,几个函数,他们之间关系如何,关键函数是否需要画出流程图?单元测试是怎么设计的?

见结对搭档的作业:201731044205

 

对代码的测试:

由于是实现功能的方式,对它进行实例测试,输入一句英文,预测其结果,若其输出与预期结果不符合,则其测试未通过,抓取异常。

 

6.给出你们制定的代码规范或链接,记录你们代码互审的情况,审查的模块名、发现的问题等。

 

制定的代码规范见结对搭档的作业:201731044205

我们在讨论制定了计划之后便开始我们的编程之旅,我们在把基本功能实现之后,便开始了我们一边审查、一边修改并一边实现新功能。

1.审查的时候,发现互相之间的对功能的不同的变量、方法和类的命名有点差异,于是再进行讨论让其更为规范易懂;

2. 包含基本的类和方法的功能的设计实现是否正确合理;

3. 主函数中对其他模块的方法的调用情况。

 

7.记录在改进程序性能上所花费的时间,描述你改进的思路,并展示一张性能分析图(由VS 2017的性能分析工具自动生成),并展示你程序中消耗最大的函数。

 

 

 

 

见结对搭档的作业:201731044205

8.代码说明。展示出项目关键代码,并解释思路与注释说明。

 见结对搭档的作业:201731044205

9.结合在构建之法中学习到的相关内容与结对项目的实践经历,撰写解决项目的心路历程与收获,以及结对感受,是否1+1>2。

  在这一次作业中,相对独立也相对合作,在各自编码的过程中,如若遇到问题,会互相询问,若还是解决不了会停下来去查找资料解决,这种方式有一定的优点,毕竟两个人的行动会比一个人独自思考有用的多,但是也有很大的弊端,要是问题无法解决,会耽误作业进度,同时消耗两个人的时间,还好在这次的作业中没有发生太严重的事情,希望如有下次合作,能改进一下这种方式。

但是总的来说,1个人的力量真的有限,再加上1个人之后,我明显感觉到没有一个人的时候费劲,能给提供更多的思路,和更多的解决方法。

 

posted @ 2019-04-05 13:55  xinzcover  阅读(230)  评论(2编辑  收藏  举报