项目总结

一、整体
1、项目或模块开发,总是呈现一种迭代性的行为。在最开始,不可能会考虑的面面俱到。但是绝对不要在初期设置太多的临时性代码,比如设定一个硬编码、设定一个临时函数等等,然后期望到后期再改回来。这往往毁于两种情况的:1、后期还有很多时间进行代码ReView,这太理想了;2、当代码庞大到一定程度后,也许你自己都不知道当时为什么设置这些个东西了。
    所以最好从一开始就宁可多花费时间,将代码写完整,不要偷懒。
    如果中途发生了迭代,导致前期的代码结构不合理,不能因为打算节省时间而不舍得改动以前的构架,其结果是虽然此时省事了,但往后面需求再改动、再改动...,到一定程度后,即时你想改也改不了了。

2、日志一定要从一开始就记录。否则到后期即使想加,也会非常有限。

3、在数据对象与界面之间,最好加一个控制类。
   比如,所有设备、子设备、子设备的子设备...,它们对应的对象应仅限于数据库操作,以及自身关系的维护。如果需要将这种关系反应到界面上,必然涉及到一些控制的方法,那么这些控制的方法不应该属于设备对象本身,而应该交给专门的类去维护,所以最好加个控制类。

4、如果涉及一个界面、控制逻辑、数据库存取等多层次的功能模块,那么一定要分清各层次的功能,即层次之间弱耦合。达到替换任何一层,都不需要改动其它层。
   否则当后期出现bug时,都得从上倒下、从第1层到第N层去找问题,即使找到问题,也不知道会不会影响其它层。如果层次清晰,只用去某一层进行修改、扩展即可。

5、当自己负责的模块完成后,一般自己会进行一些简单测试,然后交给测试。此时最好进入Release版本下进行测试。

6、关于程序。程序是写给谁看的呢?肯定不是自己,你自己想一想,你写的代码有多少你会去看第2遍?除了需要调试bug的时候。真正看的有两个人:1、机器。2、后继的维护者。

    对于机器,无所谓程序好坏,只要结果是对的,它就会严格按照你的程序执行,而且大部分情况下他也不在乎你的效率、优美的编码艺术什么的;

    对于后继的维护者,很可能是你离开公司之后,另外一个新人来阅读、修改你的程序。想一想当我们阅读、维护别人留下的烂摊子的时候,我们的叫苦不迭、骂声连天,所以我们写程序的时候,记住,能让另外一个人,他不是很熟悉业务,要让他能读懂、能修改,才是真的好程序。好程序不是非得用什么什么先进技术、什么高深的模式,好程序就是简单移动,能在业务发生变化是,别人能比较容易的修改!

二、技巧
1、在设计类时,有继承的情况下,最好将析构函数设置为虚函数;
2、变量使用前一定要初始化。否则在Debug下没有问题,在Release下,会出现莫名其妙的问题;

posted @ 2010-12-03 18:19  pjh123  阅读(246)  评论(0编辑  收藏  举报