No.21532 作者:幽游梦蝶 邮件:louisbright@163.com ID:4816 登陆:56次 QQ:54512284 -- MSN:louisbright@hotmail.com 文章数:121篇 最后登陆IP:183.13.220.162 最后登陆:2013/1/22 17:28:59 注册:2001/11/16 9:25:00 财富:437 发帖时间:2003/3/24 9:07:48 发贴者IP:61.187.132.215 标题:幽游梦蝶:[原创]我自己总结的编程规范。。。吐血 摘要:No.21532[原创]我自己总结的编程规范。。。吐血 本人幽游梦蝶从来不认为是单片机高手,但一向对自己的C51编程很自信;公司里一些项目常要俺编程,总算积累了一点经验,因为很多也是各位同仁给予,故不敢独享,说得不好之处,敬请纠正指出: 编程首要是要考虑程序的可行性,然后是可读性、可移植性、健壮性以及可测试性。这是总则。但是很多人忽略了可读性、可移植性和健壮性(可调试的方法可能歌不相同),这是不对的。 1.当项目比较大时,最好分模块编程,一个模块一个程序,很方便修改,也便于重用和便于阅读。 2.每个文件的开头应该写明这个文件是哪个项目里的哪个模块,是在什么编译环境下编译的,编程者(/修改者)和编程日期,值得注意的是一定不要忘了编程日期,因为以后你再看文件时,会知道大概是什么时候编写的,有些什么功能,并且可能知道类似模块之间的差异(有时同一模块所用的资源不同,和单片机相连的方法也不同,或者只是在原有的模块上加以改进)。 3.一个C源文件配置一个h头文件或者整个项目的C文件配置一个h头文件,我自己采用整个项目的C文件配置一个h头文件的方法,并且使用#ifndef/#define/#endif的宏来防止重复定义,方便各模块之间相互调用。 4.一些常量(如圆周率PI)或者常需要在调试时修改的参数最好用#define定义,但要注意宏定义只是简单的替换,因此有些括号不可少。 5.不要轻易调用某些库函数,因为有些库函数代码很长(我是反对使用printf之类的库函数的,但是是一家之言,并不勉强各位)。 6.书写代码时要注意括号对齐,固定缩进,一个{}各占一行,我本人采用采用所进4个字符,应该还是比较合适的,if/for/while/do等语句各占一行,执行语句不得紧跟其后,无论执行语句多少都要加{},千万不要写成如下格式: for(i=0;i <100;i++){fun1();fun2();} for(i=0;i <100;i++){ fun1(); fun2(); } 而应该 ......
>>返回讨论的主题
|