本次微信开发实战,可以说是我们接触的第一个比较成形的软件工程开发项目,从项目管理计划到最后部署都和之前不同,开发的时候也遵循了编码1/3工作量的原则,不像之前做过的作业,测试和优化部分在本次作业中占的比重尤其明显。主要感想有以下几点:

1.架构和框架设计

  对一个项目来说架构和框架设计是有很大作用的,像这次的编码部分,助教提供的框架使得我们要完成的部分难度降低了很多,主要是思路清晰,只要实现一个个接口就可以了,整个系统自然正常运转。这时候框架的意义非常突出,我想这也是一个大的软件工程开发中必须经过的重要一步——让程序员更高效、更有组织、更方便地完成开发任务。

2.重视测试和反馈

  初次经历测试的过程,起初以为没有什么用的测试部分暴露了几个非常非常隐蔽的bug,这些bug主要是关乎安全性的问题,不像逻辑性问题那么容易可以通过走读审查出来。这之后我彻底改变了看法,一个工程系统如果想稳定安全运行,测试部分是必不可少的,只有严密的测试和反馈修改,才能构建出成熟的软件系统。毕竟连微软都每个月补丁不断......

3.结对编程的感想

  关于结对编程,我感觉是能提高编码效率的好方法。但是要有计划和要求,松弛有度,不然两个人很容易效率偏低。要想取得1+1>2的效率,就需要两个人都有相当的编码能力基础和认真投入的态度。在这次作业中我和队友合作非常愉快,但也听说其他组有存在消极怠工影响合作的情况。由此看出程序员的合作效率不仅取决于编码框架,也取决于人事的合作能力。