一点点记录我对编程的一些思考,不断更新中。。。
1、一个好的程序应该是要做到对当前的功能要求按照高内聚,低耦合,模块化进行编程。同时能够对未来可能产生的新功能预留好相应的接口。并且作为嵌入式软件,要为后期的不同平台移植做好分层。
2、禁止无效注释,例如:rcvDataFlag = 1;//将rcvDataFlag 值置1.这就是一个无效注释。注释应该体现置1的效果。例如:rcvDataFlag = 1;接收到有效的移动协议数据,需要进一步解析。
3、if不要嵌套超过3层,一个if程序应该尽量控制在50行代码内。尽可能地维持正常流程代码在最外层,保持主干流程是正常核心流程。(具体看这篇文章)
4、把复杂的业务写简单,而不是把简单的写复杂了。不要在到处打标志位了。如果迫不得已打标志位一定要详细注释该标志位作用。全局变量的标志位是一个程序模块化最大的阻碍。对程序的低耦合破坏最大。
5、不要用0/1/2/3/4/5这样数字作为返回或者状态, 应该封装上一层宏定义。让人能理解它的意义。可以通过自定义TRUE和FALSE返回值作为返回:
#define TRUE 0 //为什么要定义TRUE为0呢?因为正确只有一个,错误却有各种原因,为后期拓展返回错误状态提供支持。
#define FALSE 1
6、命名规范化,可以根据编程语言选择不同命名方式,也可以用组合的命名法,但是一定要做到统一。(我自己定的stm32编程的命名方法)
7、高扇入,合理的扇出。扇入指的是该函数别调用次数,次数越多,证明该函数利用率越高。扇出指的是本函数内调用其他下级函数的个数。一般控制在3-5个最合理。(相关文章)