总结:这次结对编程,我主要负责登录注册模块的部分判断函数编写以及UI的小调整以及最后和队友一并测试,然后完成代码的少量注释编写。
1、对个人项目的复用
由于我的项目采用c++程序编写,而好队友的项目采用java程序编写,考虑到java的图形化更加简单,所以使用队友的项目为蓝本进行结队编程的工作。
队友在个人项目中就已经考虑了结队项目的基础,所以项目中一些类可以直接复用:包括paper类(用于生成题目和查重题目),filesystem类(用于管理目录),user类部分代码(用于管理用户),复用后没有遇到新的问题,但是由于生成题目时没有考虑如何解题,在解题时遇到了一些困难,以后需要注意。
2、经验和教训
项目一开始就做了流程图,让项目的框架规划更近明确清晰,模块分工也更明确,这里也要感谢队友做好了接口等工作。
也要得益于项目开始前对项目的规划比较完整(把类和函数接口都提前设计好,只留下函数等待填入具体内容),所以队伍在沟通上没有遇到问题,功能实现的也比较顺利。
由于对于Java项目的开发经验较少,上手比较生疏,很多函数知识都是先学先用,在传递代码过程中由于队友用了一个第三方库而我不知道,导致我这边进度掉了一段时间无法完成测试,调试很久才发现问题,对Java的经验不足是我的问题。最大的教训是早期遗漏了需求修改密码,导致在对应界面缺乏修改密码所需要的变量,为了在已经完全完成的程序上添加这一功能,我们添加了四个传参函数(如果提前设计好了接口最多只需要一个),对程序的可读性,功能性造成了极大的损伤,我们从此得知了反复核验项目需求的重要性。我学到了任何个体的一段代码都需要为整个工程服务,我们需要从整体出发,而不是简单的功能拼接,这需要我们完成统筹。我还知道,互相帮助的力量是巨大的,我们两个人可以完成之前从未接触的地方,这样的体验是艰难的但也是令人兴奋的,正是在这样的过程中我们都完成了进步。还有完成工程之后,一定要有人做整合的工作,对于风格不同的代码,可读性很差,所以这也侧面体现出了注释的作用。
原文:https://www.cnblogs.com/cxl20001003/p/13789658.html