碰巧瞄过 软件工程不同于计算机科学 (En: How Software Engineering Differs From Computer Science )
上一个项目,我在思考,如果才能做出一个可维护的项目,他似乎给出了答案,或者说是给出了解题的方向。
自从上次参加 RubyConf 2009,虽然我没深入玩 Ruby,但是其中 松本行弘 谈到一点,快乐编程,给予我很多启发,使我不得不承认之前做了很长时间的思考的方向是错的,虽然早就意识到有点怪怪的。
做开发最重要的是人,做出来的项目的可维护性所依赖的也是人。
可维护性和稳定性是两回事,显然我们公司的人觉得交付给客户的软件的稳定性才是最重要的,这点我不反对,只不过观点有点不一样。我认为维护不是在稳定交付之后才进入的一种状态,而是之前,深入在开发过程之中。开发一个功能可以是很赤裸的,给人感觉是不稳定的,要让它稳定下来,就要看开发者的维护能力了。
之前公司有个培训,讲到一个冷笑话:有文档,CMMI 1,有文档的文档,CMMI 2,有文档的文档的文档,CMMI 3……
我不喜欢看到一堆的文档,但是我乐意看到这一堆文档的索引,因为这样我就知道,在我需要的时候,我该从哪里,而且是最快的,找到我所需要的东西。
做开发的同样有这么一种愉快经历,项目导入 eclipse 之后,需要什么类,Ctrl+Shift+T一下,很快就找到了,因为 eclipse 自动的帮助我们建立起了索引;在开发过程中,我们会有意识的将一些类进行归类,特别地我十分注重类的命名,除了符合基本命名规则,还需要考虑一个贴切的名字,这样就为日后,不仅仅为我,更重要是为了接手维护的人,快速地找回提供了一个重要的线索。
按照思维定势,估计都知道我想说,可维护的项目需要什么了吧。
具体怎么实施?且看下个项目怎么折腾了……
上面的东西有点跳,几个的目标不一样,但是方向却是一致的,以人为本。