大泥球你好~
一度狭隘的以为编程能力就是指数据结构和算法,只有在ACM的时候才有用武之地,经过这一阶段的团队项目开发我才真正地意识到,编程能力已经成为了构建程序框架不可或缺的能力,他不仅决定了程序的正确性和鲁棒性,还决定了其可扩展性,一言以蔽之就是决定了代码的生死存亡,编程能力强就意味着程序中大泥球的数量很小甚至没有。
曾经写过一个目标追踪的项目,程序的框架设计和编写同时进行,最后一股脑的才开始测试,由于类的设计交错冗余,功能或独立或重复,还有功能没有覆盖上的,再加上函数的正确性没有进行单元化覆盖测试,执行的结果也时对时错,不断地调试修改程序导致“泥球”越滚越大,不仅在调试上花费了大量的时间精力,而且写出来的程序可扩展性很差,仅仅是添加个接口都需要改动很多代码。
经过了上次“血的教训”,在进行软件工程团队项目开发的阶段,我都会首先确定需求,预留接口,在编写代码的时候始终保证单元功能的正确性,虽然程序中还是有很多需要改进的”大泥球“,但我会端正对“大泥球”的态度,努力提高自己的编程能力,培养良好的编程习惯。