个人第3次作业:结对编程
结对作业 | 内容 |
---|---|
GitHub项目地址 | https://github.com/Tayvay/PairProgramming.git |
结对伙伴博客地址 | https://www.cnblogs.com/Tayvay/ |
作业连接 | https://www.cnblogs.com/cherish599/p/11577268.html |
一、PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 40 |
· Estimate | · 估计这个任务需要多少时间 | 1170 | 1330 |
Development | 开发 | 1050 | 1190 |
· Analysis | · 需求分析 (包括学习新技术) | 50 | 50 |
· Design Spec | · 生成设计文档 | 20 | 20 |
· Design Review | · 设计复审 (和同事审核设计文档) | 20 | 20 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 20 | 40 |
· Design | · 具体设计 | 70 | 80 |
· Coding | · 具体编码 | 650 | 700 |
· Code Review | · 代码复审 | 160 | 200 |
· Test | · 测试(自我测试,修改代码,提交修改) | 60 | 80 |
Reporting | 报告 | 120 | 140 |
· Test Report | · 测试报告 | 60 | 80 |
· Size Measurement | · 计算工作量 | 20 | 20 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 40 | 40 |
合计 | 合计 | 1200 | 1370 |
二、项目描述
实现一个WinForm随机点名的程序
第一步、实现基本功能
1、winform界面设计
2、实现班级学生的随机点名
第二步、接口封装
1、体现类的设计
2、体现分层思想
第三步、增加新功能
1、学生数据的加载
2、进度条跟踪
第四步、附加功能
1、创新性功能设计
第五步、设计单元测试
1、使用单元测试对项目进行测试
三、代码复审及互审
四、代码调试
我们是用的老师给的代码,这里不知道为什么代码显示不出来,但还是可以运行,最后借同学的电脑才可以,单元测试还是不行。
五、附加功能
我们尝试在原有的基础上增加随机提问功能,记录每位同学所答问题得分情况,丰富点名系统,提高实用性。但是由于我和我的结对伙伴编程能力很弱,最终以失败告终。
六、结对过程及照片
结对过程:
我和我的队友是室友,比较方便交流沟通,我们先共同看代码的要求,并对题目进行分析,各自阐述对题目的看法以及做法,并进行任务分工以及制定代码规范。各自来写自己有把握的部分,对于两个人都不懂的地方,我们通过问同学和查百度的方法,一起研究共同编写困难的地方。根据两个人编写代码量,较少的同学编写测试代码。在对接时,先分别对照代码规范修改对方没有达到要求的地方,再进行整合,在整合时遇到的问题共同进行修正,保证运行通过。
结对照片:
七、心路历程及收获
首先这次的程序比上一次的要求更多,我认为首先拿到题目,入手点就是去分析它的功能,可以先画出或者总结出结构图。明白它的要求,可以在编译器中写出注释,理出解题思路,在注释下写代码,这样可以更有效的编译复杂度较高的代码。其次,就是上课听老师讲的代码规范问题,真正在和队友一起整理代码的时候发现,有明确注释,循环有缩进等这种规范性很高的代码可以很大程度上的提高整合代码的效率,在团队合作上,这项工作确实必不可少。这次编码是结对编程,我同意1+1>2的观点。经过两个同学的讨论和研究,可以让自己的思路更加的清晰,一起解决困难想出的办法也比较多。