结对编程已告一段落,接上一篇博客在此做一些必要的总结。
一、对整个结对编程项目的总结
1.结对编程的意义:
(1)互相监督,避免编程中的很多不必要的低级错误,使得总体进度更为流畅;
(2)针对每个模块,有更多的思路和想法,通常我们会进行讨论,及时地查找缺漏并得出一个最佳方案,保证了软件在功能上的完善性;
(3)当遇到bug时,可以从更多的思维角度去思考、去解决,同时可以寻求更多的资源,明显提高了解决问题的效率;
(4)结对过程中,我们会在遇到困难时相互鼓励、保持沟通,维持良好的情绪,有助于问题的解决,从而提高了整体的效率。
2.从结对编程中学到了什么?
(1)学习了Qt开发技能,了解了dll、lib等基本概念和用法,并初步接触到了MVC架构;
(2)对于编程过程中的一些逻辑规则、编码规范有了更深入的认识并通过实践加以了强化;
(3)更加意识到了合作的重要性以及一些合作中的注意事项,学到了更多关于交流合作的方法技巧;
(4)利用搜索引擎解决问题的能力得到了很大的提升。
3.走上工作岗位后,是否选择结对编程用于解决部分任务?
我认为结对编程是一个很好的选择,因为结对编程可以大大提高项目开发的效率,尤其是工作量较大的项目,具体的原因上述两点已经详述,在此略过。
4.经验总结:今后的团队作业,每周的任务,准备如何吸收个人作业、结对作业,改善开发流程?
(1)团队作业也需要像结对作业一样,事先给出完整的架构;
(2)接口双方、前后端一定要事先进行交流并制定出双方都同意的方案,避免后续返工;
(3)团队作业中,对于部分模块也可以使用结对编程的模式,以提高局部开发的效率;
(4)在团队项目中,每个成员都需要及时地进行单元测试,排除bug,避免对团队造成影响。
二、对接过程总结
从上一篇博客的PSP表格中可以看出,我们把大部分时间都花在了对接上,原因有很多:(1)作业要求缺少对很多细节问题的界定,例如小数精度是只针对操作数还是也针对结果、是否支持小数分数混合出现,因此基本上每个core组提供的设置入口参数都不同,我们需要根据每一组的参数重新规划ui界面、传参变量以及入口检测;(2)core组的接口方式五花八门,例如传参有结构体传参、类传参、函数直接传参,获取题目和答案的有写入文件的、存到C++容器里的、放在stl string数组里的,主要的难题在于类传参,其他方式的解决方法都相对简单(但不乏各种奇奇怪怪的报错还需要我们各种搜索解决)(3)接口类型也有很多:dll、lib、cpp、.h都有。
对接口处理的收获:
(1)掌握了dll、lib的基本概念和用法,对API有了入门级的了解和初步实践,关于编译环境对API调用的影响有了初步认识和体验,以及巩固了对C++容器、stl string的一些操作知识;
(2)在debug的过程中,学习到了很多关于编译环境的兼容性问题,有关的博客也是做了收藏便于今后查看,虽然只是入门,但至少打了基础,相信以后再遇到的时候会轻松很多;
(3)在与不同组对接的过程中,学习到了如何根据API入口的改变来调整接口,这里其实有很多重复性的工作,但做到后面明显感觉到自己熟练了很多,相信以后再遇到类似问题可以很轻松地
解决;
(4)在dll显式调用和类调用两个bug上花的时间最多,当然学到的知识也最多(这里就不详述了),希望以后可以再派上用场;
(5)对接过程少不了与各个core组大佬的交流,交流的过程中不仅学到了很多关于API的新知识,更重要的是在与人交流的技能上又进了一步,这正是之后的团队项目所需要的。
特别棒的一次结对编程体验,感谢队友的支持和陪伴,希望大家一齐努力,一同进步!