前几天应老师课设要求,选取了课程推荐参考书《移山之道》并读了一部分,使我发现了我目前正在进行的工作中的诸多不足。
首先这并不是一个风格非常严肃的书,作者的叙述性比较强,并且能够自问自答,就已经解决了我不少疑惑。
但是同时,我也从自身出发发现了一些问题:
1、在团队项目中,工作量如何分配?如果对于一个足够成熟的团队,可以假定每个人都是可以信赖的,那么这个时候就可以将工作量接近平均地分配,保证每一个人的利益,但是在我们目前这种不成熟至只做一次项目的团队中,首先工作量的分配问题就已经很难找到平衡点。因为相互之间非常熟悉,所以考虑到个人的性格习惯、知识储备、团队认识等差异,平均分配工作的方式寸步难行;但是过分不平衡的分配会导致破坏团队向心力等一系列问题。
2、运行效率和开发效率之间应该怎么权衡?在以往的练习中,老师会要求我们尽量优化算法,精进运行效率,不断提高代码质量。但是在这一次最接近实际开发的过程中,我们发现过度追求对于算法的优化会大大降低我们的开发效率,使得我们开发代码的其他步骤卡在算法这一瓶颈上。我们尽量降低对算法的要求来追求更高的开发效率,结果就是牺牲了一部分算法的运行效率,这样做不知道是否明智?
3、我很赞同书中所述的规范化开发流程,但是在实际的开发过程中,我们的团队并不成熟,我们的成员已经相互理解并且能很好的沟通,团队中并不是每个人都可以担当,所以规范化的开发流程一定程度上在我们这种小规模的开发中并不适用。
4、最后是关于bug与测试的。首先我们必须接受我们的程序是有很多bug的。但是怎么判断这些bug的重要程度?怎么确定对某个bug的修改不会影响其他功能?有没有一种比单元测试更简单快捷的方式来保证所有单元的正确性?即使我们经过了足够的测试,还是不能保证在实际运行中不会出错。那么在维护阶段出现bug有没有比打补丁更规范适用的方法?
这些问题在实际的开发团队看来可能相当幼稚,甚至在我经历了这一学期的锻炼之后就能够轻而易举地解释,但是在目前来说,这些问题实在是一直困扰着我。希望在以后的开发过程中我能够通过自己的努力解答这些问题。
原文地址:http://www.cnblogs.com/ksven/p/ksven.html