标题 | 谢凯宇(24222)与成湘(24110)结对作业 |
---|---|
GitHub项目地址 | https://github.com/Iskoqi/PairProgramming.git |
伙伴作业地址 | https://www.cnblogs.com/amelia13/p/11616191.html |
一、PSP表格
Personal Software Process Stages | 预估耗时 | 实际耗时 |
---|---|---|
计划 | 0.5hour | 0.5hour |
· 估计这个任务需要多少时间 | 0.5hour | 0.5hour |
开发 | 12hour | 6hour |
· 需求分析 (包括学习新技术) | 6hour | 6hour |
· 生成设计文档 | 3hour | 2hour |
· 设计复审 (和同事审核设计文档) | 1hour | 1hour |
· 代码规范 (为目前的开发制定合适的规范) | 1hour | 1hour |
· 具体设计 | 1.5hour | 1hour |
· 具体编码 | 6hour | 5hour |
· 代码复审 | 1hour | 0.5hour |
· 测试(自我测试,修改代码,提交修改) | 1.5hour | 1hour |
报告 | 1hour | 1.5hour |
· 测试报告 | 0.5hour | 0.5hour |
· 计算工作量 | 1hour | 0.5hour |
· 事后总结, 并提出过程改进计划 | 1.5hour | 1hour |
合计 | 38hour | 28hour |
二、设计编码
1.思路
因为现在的能力原因只有从老师的代码哪里寻找帮助,先整体通读一边老师的代码,看出了老师的思路,然后去找到之前学习的c#的书进行学习,然后根据自己的理解,对程序进行翻新加增加一些自己东西。我们的窗口界面是换了皮肤的,步骤就是主要先进行人员的载入,通过泛型集合进行,建一个数据源把集合的数据导入,然后再把数据源里有了的数据传给表格。后面就是进行设计点名的按钮,开始和结束。我在结束的按钮处设计了自己的新意,可以询问是否缺勤,然后并记录下来。本次的项目有五个类(包括后面的窗体设计里的类)
2.代码
具体的代码有
这些是人员的基础数据录入,
这个是后面的窗口里面的程序。其他的更多的图片就不多加展示了,具体的在上传代码里。
三、代码复审
在代码复审中,我们是互相观看对方的部分,并且有些部分我们都做了,然后互相看有什么错误,选择最好的方法。我复审结对伙伴时,也发现了一些问题,伙伴的有些代码是重复的,并且和我的有些也是重复的,然后并且我们的一些代码的顺序写反了,然后导致意思就是完全不一样了。可能导致一些界面出现一些与其结果相反的内容。还有就是我们有些内容意思一样写的函数或者用的东西是不一样的这些都是结对是发现的问题,并解决了。
四、单元测试
单元测试采取的是对函数进行测试,在这些类库中,这些类中,实际上并没有太多的函数。我们可以对于大部分的函数进行测试,并且还可以只抽取其中的一个或者两个的内容进行测试。其中还用到了断言,判断两个的值是不是一样的。具体的代码和结果都如下,以及代码的单元测试的覆盖率都进行了运行。下图是测试结果:
下图是测试的覆盖率的情况:从图中我们可以看出我们代码的测试的覆盖率达到了百分之九十几,我觉得这是不错的测试效果了。
五、结对过程
这是我们的结对过程的图片:
六、附加功能
附加功能其实就是一个小小的功能,在随机点名的后面加上询问是否缺勤然后让老师判断是否缺勤,并把缺勤的人记录下来。当然由于能力有限,可能有些地方还不够完善,希望后面能做出更好的东西。下面是代码展示以及结果展示:
七、总结
这次的结对编程让我应该这学期是想忘都忘不了了,我不会忘记就是因为两句代码的位置写反了,怎么运行都不成功,然后一直坐在电脑面前想,中午的饭都差点没吃上,真的想的脑袋要炸裂了。虽然是想的很痛苦,但是这并非没有收获,至少下一次的实验我不会再犯同样的错误了。并且在想的时候我必须把前后的代码都联系起来,使得我对于一些一直半解的内容不再困惑了。通过这次的实验我的编程能力得到了极大的提高,虽然可能还不是很厉害,但是对于以前的我这一定是一次飞跃,我收获良多。