首页 > 技术文章 > 第四次作业结对编程

themoon 原文

第四次作业 结对编程

作业要求地址 结对编程
GitHub项目地址 github地址
结对伙伴作业地址 秦傲明的作业地址
我的学号 201731062324
队友学号 201731062308

一、PSP表格

PSP Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 30 50
· Estimate · 估计这个任务需要多少时间 1320 1470
Development 开发 1200 1340
· Analysis · 需求分析 (包括学习新技术) 120 150
· Design Spec · 生成设计文档 60 50
· Design Review · 设计复审 (和同事审核设计文档) 40 30
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 30 20
· Design · 具体设计 50 85
· Coding · 具体编码 720 870
· Code Review · 代码复审 60 60
· Test · 测试(自我测试,修改代码,提交修改) 120 75
Reporting 报告 120 130
· Test Report · 测试报告 40 50
· Size Measurement · 计算工作量 30 30
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 50 50
合计 1350 1520

结对时候的(非摆拍)照片

在这里插入图片描述

二、解题思路

在经过和队友两人第一次计划的时候,并没有什么思路,只有一个大体方向。然后两个人就认真琢磨题,才有了一些思路。
解题具体思路见队友博客

三、代码规范与代码互审

代码规范

1、明确方法功能,精确(而不是近似)地实现方法设计。用方法使功能明确化,增加程序可读性,同样方便维护和测试。
2、有异常需要写出注释(注释最好写在单独的一行),包括异常的详细描述信息,方便问题定位。
3、避免使用不易理解的数字,最好有有意义的标识来代替。命名使用驼峰法。(如:模型方法:驼峰法。 动作+(关联)+表名。 例 getUserOrder(获取用户订单))
4、少使用难懂的语句,除非很有必要时。
5、适当增加空行,按需要换行,以更方便阅读。
6、不要写冗余无用的代码。if(true)之类的代码块完全不应该出现,用空行隔开该段代码是更好的选择。
7、空格的使用:关键字之后、“,”之后留空格,双目运算符前后应加空格,单目运算符前后不加空格。
8、代码一定要相应对齐、并且缩进得当(尽量一个tab四个空格)。
9、注释要有,但不宜加一些解释简单语句的注释。要边写代码边注释,修改代码的同时修改相应的注释(保证注释与代码的一致性)。

代码互审

1、他的有些代码比较冗余,在我提出后就一起修改了。
2、伙伴的代码可读性是很强的,在一些必要的地方加了注释,而且没有乱命名。
3、程序对于文本内容的处理使用了正则表达式,清晰明确。整个程序的思路也比较清晰。

四、代码说明

代码说明在伙伴的博客上

点击此处可以进行查看

五、测试以及性能

单元测试如下:

首先进行了两个方法的测试,通过assert进行初值与程序返回值进行比对,结果通过

在这里插入图片描述
在初次之后,又多次修改文件里面的单词数后再进行测试,都通过了测试 。这里测试出来的效果和上图并没有什么区别,结果全部通过。

性能方面
整个程序运行起来是比较快的,通过VS自带的性能探查器,生成了一份性能报告,结果发现耗时最多的是文件流操作那里 。我们两个想过用什么办法进行修改,从而让整个程序的性能更好,修改之后,只能好那么一点。性能方面,通过VS自带的性能探查器,生成了一份性能报告,结果发现耗时最多的是文件流操作那里 。在这里插入图片描述
可能是因为需要调用其他方法,然后循环也大大拉低性能,后面也试着去改进,奈何没有时间了,博客作业太猛了。

六、收获与体会

1、这次结对编程之后,我发现两人一起写代码,两个人是可以一起交流提高的。当某个人写出来一段很烂的代码的时候,另一个人马上就能发现问题,当遇到一个疑点难点的时候,两人也可以马上就讨论出一个可行的解决方案。总体来说,对代码的质量和问题的处理效率都会得到较大的提高,而且对双方来说也是一个很好的学习机会。
2、这个学期对于c#的使用还是非常多的了,对C#语言又有了一些提高。看来多编程会提高水平很多。
3、最近这段时间作业和学习比较重,在时间安排上开始还有点适应不过来,导致结对编程也出现了一些问题,但是好在之后慢慢的调整了回来了一些,虽然时间很紧凑,但是还是成功的完成了这次作业。这对于自己而言也算是一种提升吧

推荐阅读