1,编程关键就是两个方面,数据结构以及相关函数(或者说算法)。
2,对于我们现在的这个项目,里面分成两层,一个是接口层,负责COM接口,一个是逻辑层,是真正做事情的。这种分发未必就一定最好,但是实用性不错。
3,程序员最常用的一个解决办法就是递归,递归的难度在于:必须先在脑袋里构造出一个层层递进的逻辑过程,用人脑去模拟电脑的运行过程。
4,项目开始,必须定下来如何Log过程,如何进行自动的unit test,用什么无所谓,但是必须坚持。所谓坚持,就是不断的增加test case,不断地根据需求修改unit test。
5,使用visual c++,编译时打开level 4的警告,可以对代码做一个非常有用的lint。相信很多人也不知道lint是什么,打开就好了,然后根据提示修改代码,尽量减少警告。
6,不会算法无所谓,不会某些语言特性无所谓,但是,不会思考,那就完蛋了。
7,所谓代码质量保证,两条而已,unit test以及code review。
8,代码有了坏味道,一定要改。起一个有意义容易理解的函数以及变量名;长函数改短;删掉不必要的参数;重构重复的代码;确定让函数只做一件事;使用c++标准而不是微软的扩展。
9,使用doxygen的注释方式,可以自动生成代码。