结对作业——四则运算 Part3. 对于结对编程的总结与思考

结对作业——四则运算 Part3. 对于结对编程的总结与思考

PB15061303 刘梓轩
PB16061489 艾寅中

 

GITHUB 地址

戳这里

 

目录


Part 1. Core代码编写部分  
Part 2. 封装与对接相关问题  
Part 3. 对于结对编程的总结与思考

 

关于结对

View:(From 艾中)

  不得不说,结对编程给笔者带来了一次全新的编程体验。就领航员与驾驶员的分工而言,刘承担了生成和计算的大部分任务,笔者(艾)负责了显示和输出部分的函数。

  首先我作为领航员的时候,实际上是有点懵的,因为学长的写代码速度真的是很快,而且真的就是我只要稍微一愣神,就是不知道发生了什么。还要反而需要学长把我领回来,可以说是十分不称职的领航员了hhh

  再说作为驾驶员,一开始后面有个坐个人真的是全身不自在。但是真正投入到解决问题中去的时候,就没有那种感觉了。尤其是这种只要有问题立马就可以回头去交流,而且不需要长篇大论的描述问题,因为两人本质上是一起编程的,学长的人生经验几乎可以立马解决我出现的问题,更不用说被学长发现的那些小问题了。

  而且结对时的交流,真的是对于开阔思路太有帮助了。我们在编程的时候是不断的扩充功能的,因此,在完成了开始的整数的加减乘部分后,进度一度陷入停滞(笔者也苦于期中考试)。在一次交流后,两人对于问题进行深入的探讨,便又飞快地加入了分数的运算部分,后续的小数运算部分也如此。

View:(From 梓轩)

结对编程的体验很棒+1!其实艾中把我的写代码的速度夸大了,我们在一开始确实有过速度非常快的阶段,但是由于我们各自都有事情要忙,所以等到我们重新拾起项目的时候,光是对接和重新拾回效率和思路,就已经花费了很多时间(这也告诉我们一次就把流畅的主体框架全部解决的重要性!!!!)。

在项目中我们俩的分工很明确,由于我清明节前时间比较多,所以我主导了计算和生成模块的构架(事实上我觉得我决定的方向并不好,这在我之后的博客中再详谈吧。),导致艾中会有一种懵的感觉,我想这也是以后的工作和学习中需要注意的地方,不能只顾着一个人向前走,而是要两个人结伴同行,这样才能效率更高。

由于我和艾中之前就认识,也都是辩论队的,所以配合起来十分默契,我想这为我的第一次结对编程的良好体验打下来良好的基础,虽然这次作业花费了我们很多时间(还是两个菜鸟的进阶之旅),也对我们的学业产生了一定影响,但我觉得收获很大,有很多东西想抒发,但限于ddl紧迫,只能以后再谈了。

 

PSP表格

 

Planning 计划 60 60
· Estimate · 估计这个任务需要多少时间 60 60
Development 开发 1625 2100
· Analysis · 需求分析 (包括学习新技术) 60+120 60+120
· Design Spec · 生成设计文档 60 60
· Design Review · 设计复审 (和同事审核设计文档) 15 15
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 20 25
· Design · 具体设计 90 120
· Coding · 具体编码 1000 1400
· Code Review · 代码复审 60 120
· Test · 测试(自我测试,修改代码,提交修改) 200 240
Reporting 报告 100 180
· Test Report · 测试报告 30 60
· Size Measurement · 计算工作量 10 10
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 60 110
合计   1745 2240

 

课程建议

  虽然说,软工是一门注重实践的课程,但是就个人目前到现在为止的学习感受来说,似乎有点太注重于实践了?我甚至感觉自己不是在上一门课,而是在上一个专项培训班。没有其他那些科目上课时那种老师娓娓道来的感觉,更像是老板提一个要求,好了,你们去做就行了。当然,这些科目本身来说就有本质上的区别,毕竟别的学校的软工也是这样的,可能还是我编程编的太少了。

  还有就是,这门课真的让我消耗的时间太太太太太多了。出去单纯的用在编程的问题上的时间,课后作业/读书笔记/任务总结的博客上也真的是消耗了太多的时间。感觉就是一个 ddl 接着一个 ddl,尤其是上周还有信号与系统的期中考试。要不是把结对编程的项目推迟了,多了一个周末的时间,我可能现在已经凉透了。

 

对于团队项目

  这是让我更难受的一点,就是个人任务和结对任务对我的团队项目没有什么实际上的帮助。

  首先因为这两个任务,笔者(艾)这三周可以说完全没有去看团队项目所需的知识。再者,由于我们准备使用 Java 来进行团队项目中网站的后端编写,可是这两个任务中均使用的是 c ,在他们开始前学的那一点点 Java,也全都忘光了。也能是我太菜了,并没有能力用 Java 来写这两个任务的原因吧。

  硬要说的话,就是这次结对过程中,不断的扩展功能这一点,也算是体现了敏捷吧,在后续的团队项目中也可以把成员结对,效果感觉也会有提升。

posted @ 2018-04-15 21:51  艾中  阅读(168)  评论(1编辑  收藏  举报