📄 c-51.txt
字号:
向您推荐C51BOX 2代仿真器开发工具,适合单片机快速入门和开发,正在限期优惠促销中(点击阅读全文)
fangli单片机
fangli单片机论坛 http://c51.aycom.cn
公告
O单片机的世界
├51单片机
├C语言.算法
├单片机源码天下
├ARM新天地
├MSP430单片机
O电子制作
├protel专栏
├无线电、音响及其它
├卫星接收技术专栏
├射频技术
├智能手机专区
O电脑知识
├PHOTOSHOP
├网页制作
O灌水专区
├精彩帖图
├时空菜园
├网络文学
├情感随笔
O嵌入式操作系统
├Windows CE开发
├uClinux开发
├vxworks开发
├uC/OS-II开发
O管理专区
├事务大厅
├意见和建议
网络时代知识共享,大家可以随意转发本站内容。
文章
fangli单片机 总目录
照葫芦画瓢:90S2313,最高分辨
绿叶工作室论坛-[转帖]uCOS移植
5GB卖95美金 国外卖硬盘MP3更
[转帖]绝对隐私:华为员工待遇全面揭
千万不要让你家小孩看太多新闻联播
avr---复位检测与看门狗范例
avr---模拟比较器范例
avr----定时器、PWM、ICP
AVR的IO结构分析与操作
AVR单片机的主要特性
新手入门的第一个范例
为何要使用C而不是汇编开发AVR?
AVR Studio 调试快速入门
为什么选用AVR单片机?
[转载]短信陷阱惊天爆光(对大家绝对
铁证如山!福彩双色球爆出惊天骗局
将DBGrid中的数据导出到Word
c51box2内特殊应用之1--片内
串行通信波特率的一种自动检测方法
评论
Re:铁证如山!福彩双色球爆出惊天骗
Re:[在线试听]:深蓝色的情书(完
Re:转发: 国人醒醒吧!
Re:[在线试听]:深蓝色的情书(完
Re:【影视】犬夜叉剧场版4-红莲之
Re:第五课 常量
Re:[转帖]绝对隐私:华为员工待遇
Re:[转帖]绝对隐私:华为员工待遇
Re:2005全国百强县排名
Re:铁证如山!福彩双色球爆出惊天骗
留言
::签写留言::
dsaads
走在岸上的鱼
DASDSA
交换连接~
http://huitong.its
连接
磁动力
c51bbs
周力功单片机
大虾电子网
美信
21ic电子工程师
伟纳
电子之城
中国芯片手册网
精彩网址库
电子资料下载
可编程逻辑器件
三毛电子世界
华方卓越
单片机C语言论坛(人气很旺)
信息
日志总数:1101
评论数量:613
留言数量:93
访问次数:389010
本站:fangli8437.c51bbs.com
加为好友 发送短信
登陆
用户名:
密 码:
验证码:
记住密码
新注册 忘记密码
搜索
日志标题日志内容
首页 相册C51学习(52) C51源码(43) 单片机外围(58) PROTEL学习(21) 电路知识(50) verilog HDL学习(4) EDA学习(24) ARM学习(2) PIC学习(1) AVR学习(10) 杂文(109) 模拟电路基础(120) 数字电路基础(47) 单片机初学入门(0) 单片机C语言教程(14) uc/os 学习(16) labview学习(0) linux学习(0) google(14) 网业制作(5) 21ic精华文章(40) Linux Kernel核心中文手册(24) 大唐双龙传(小说)(45) 影视音乐(44) 求职应聘(14) bt种子(189) 程序员大本营.Net版(73) 射频技术(30) 卫星接收(4) QQ宠物专家(2) WinCE 学习(0) 【游戏】QQ幻想 专栏(21) 电脑知识(3) eMule天下(1) borland c专栏(13)
算全的C51编程规范
fangli单片机 发表于 2005-8-16 16:28:25 http://fangli8437.c51bbs.com
算全的C51编程规范
附录 C/C++ 编码规范
引言
今天人们越来越明白软件设计更多地是一种工程,而不是一种个人艺术。由于大型产品的开发通常由很多的人协同作战,如果不统一编程规范,最终合到一起的程序,其可读性将较差,这不仅给代码的理解带来障碍,增加维护阶段的工作量,同时不规范的代码隐含错误的可能性也比较大。
BELL实验室的研究资料表明,软件错误中18%左右产生于概要设计阶段,15%左右产生于详细设计阶段,而编码阶段产生的错误占的比例则接近50%;分析表明,编码阶段产生的错误当中,语法错误大概占20%左右,而由于未严格检查软件逻辑导致的错误、函数(模块)之间接口错误及由于代码可理解度低导致优化维护阶段对代码的错误修改引起的错误则占了一半以上。
可见,提高软件质量必须降低编码阶段的错误率。如何有效降低编码阶段的错误呢?BELL实验室的研究人员制定了详细的软件编程规范,并培训每一位程序员,最终的结果把编码阶段的错误降至10%左右,同时也降低了程序的测试费用,效果相当显著。
本文从代码的可维护性(可读、可理解性、可修改性)、代码逻辑与效率、函数(模块)接口、可测试性四个方面阐述了软件编程规范,规范分成规则和建议两种,其中规则部分为强制执行项目,而建议部分则不作强制,可根据习惯取舍。
2. 编码规范
2.1. 排版风格
<规则 1> 程序块采用缩进风格编写,缩进为4个空格位。排版不混合使用空格和TAB键。
<规则2> 在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如->),后不应加空格。
采用这种松散方式编写代码的目的是使代码更加清晰。例如:
(1) 逗号、分号只在后面加空格
printf("%d %d %d" , a, b, c);
(2)比较操作符, 赋值操作符"="、 "+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域操作符"<<"、"^"等双目操作符的前后加空格
if(lCurrentTime >= MAX_TIME_VALUE)
a = b + c;
a *= 2;
a = b ^ 2;
(3)"!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格
*pApple = 'a'; // 内容操作"*"与内容之间
flag = !bIsEmpty; // 非操作"!"与内容之间
p = &cMem; // 地址操作"&" 与内容之间
i++; // "++","--"与内容之间
(4)"->"、"."前后不加空格
p->id = pId; // "->"指针前后不加空格
由于留空格所产生的清晰性是相对的,所以,在已经非常清晰的语句中没有必要再留空格,如最内层的括号内侧(即左括号后面和右括号前面)不要加空格,因为在C/C++语言中括号已经是最清晰的标志了。8BR>另外,在长语句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部不加空格。
最后,即使留空格,也不要连续留两个以上空格(为了保证缩进和排比留空除外)。
<规则3> 函数体的开始,类的定义,结构的定义,if、for、do、while、switch及case语句中的程序都应采用缩进方式,憑捄蛻}捰禀独占一行并且位于同一列,同时与引用它们的语句左对齐
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -