第三次作业——结对编程

第三次作业——结对编程

一、Fork仓库的Github项目地址

作业地址: https://www.cnblogs.com/cherish599/p/11577268.html
GitHub地址: https://github.com/River-flows-in-you/PairProgramming
结对伙伴博客地址: https://www.cnblogs.com/leibinyuan/

二、 PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 30 25
· Estimate · 估计这个任务需要多少时间 500 550
Development 开发 360 485
· Analysis · 需求分析 (包括学习新技术) 60 40
· Design Spec · 生成设计文档 40 30
· Design Review · 设计复审 (和同事审核设计文档) 20 10
· Coding Standard 代码规范 (为目前的开发制定合适的规范) 20 15
· Design · 具体设计 30 40
· Coding · 具体编码 150 230
· Code Review · 代码复审 60 40
· Test · 测试(自我测试,修改代码,提交修改) 120 100
Reporting 报告 30 30
· Test Report · 测试报告 40 35
· Size Measurement · 计算工作量 20 20
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 20 20
. 合计 1500 1670

三、原则体现

1.对于界面设计

在界面的设计上我和伙伴一致同意使用比较简洁的模板,注重他的使用性。在背景的选择上,要突出名字,不能稀释掉名字的颜色而导致后排无法看清的情况。

2.对于程序功能

在程序功能上,我和伙伴谈论过增加链接数据库,再设计一个考勤(旷课)或者答题加分的功能并将数据存入数据库保存。这个想法在实施过程中夭折了,由于我和伙伴电脑都无法成功连接上,所以还是回归原来的板块(即将所有的信息都编辑在代码中)。

3.对于程序信息加载

在信息加载上,我们保持较慢速度;在信息量方面,我们增加了专业和性别,以防出现同名的同学导致的乌龙。

4.Information Hiding

信息隐藏指在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),对于不需要这些信息的其他模块来说,是不可访问的。
结对编程中:对于信息的保密性,我们使用了private和public两个字段,由于未连接数据库,所以没有采用interna等字段。

5.Loose Coupling 松耦合

想让对象与对象间松耦合,通过增加抽象类(Abstract Class)或者接口来做到 如何实现:软件设计的一条基本原则就是“低耦合,高内聚”,降低对象与对象之间的耦合性,便于代码设计与维护。在这个简单的程序我和伙伴并没有考虑到这样的情况。

四、代码复审

1.代码复审的标准我们采用了在CSDN看到了一篇文章的标准:
[博客地址](https://blog.csdn.net/kimylrong/article/details/7700311)
2.完成了大部分的代码,伙伴负责代码的复审,在一些类的命名问题和简洁度上讨论后保持了一致的意见。

五、单元测试

1.创建测试
第三次作业——结对编程_第1张图片
2.单元测试过程:
第三次作业——结对编程_第2张图片
3.测试通过及单元测试得到的测试覆盖率截图(分别在我和伙伴的两个电脑上测试过)
第三次作业——结对编程_第3张图片
第三次作业——结对编程_第4张图片

六、结对的过程

1.结对图片

2.我们相约一同在写代码,我负责代码的书写,伙伴在一旁负责复审代码和帮助我解决问题,这样的过程达到了1+1>2的效果,我写代码时有些粗心大意,而他思维敏捷细腻,这样正好弥补了我的缺陷。

七、附加功能

1.效果图如下:
第三次作业——结对编程_第5张图片
2.功能问题上面已经阐述过,主要是增加了两个信息列让点名同学的一一对应,不出现同名时两个同学起来回答问题的尴尬情况。

八、感想

1.对于结对的感想 1+1>2的效果在本次结对编程中切实的感受到了,两个伙伴的优劣互补让实验的进程显得更快。
2.对于代码复审的感想 在代码的复审中,我清晰的了解到伙伴的认真与细心
3.对于作业的感想 本次作业相比前两次较为简单,可能是熟悉了软件和流程,在过程中也没有出现那么多问题,结对编程让很多个人的问题得到了解决。
4.对于伙伴的感想 组队很成功。

你可能感兴趣的:(第三次作业——结对编程)