导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[幽游梦蝶][原创]我自己总结的编程规范。。。吐血



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();
}
而应该 ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:16毫秒 最大:3031毫秒 查询6次