📄 单片机单片机开发单片机资料单片机编程单片机学习单片机教程单片机应用嵌入式系统-算全的c51编程规范 - 中国单片机世界!!.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0030)http://www.mcuw.com/n36c8.aspx -->
<!--
Powered by DvNews
http://www.xmlasp.net/
--><HTML lang=gb2312 xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>单片机|单片机开发|单片机资料|单片机编程|单片机学习|单片机教程|单片机应用|嵌入式系统-算全的C51编程规范 - 中国单片机世界!!</TITLE>
<META http-equiv=content-type content=text/html;charset=gb2312><LINK
href="favicon.ico" type=image/x-icon rel=icon><LINK href="favicon.ico"
type=image/x-icon rel="shortcut icon">
<META
content=单片机;单片机开发;单片机资料;单片机应用;串口;单片机资料下载;单片机编程;AVR单片机;单片机教程;51单片机;单片机程序;单片机论坛
name=keywords>
<META
content=中国最权威的单片机网--中国单片机世界--主题包括:单片机,单片机开发,单片机资料,单片机资料下载,单片机编程,单片机学习,单片机教程,单片机应用,C51,嵌入式系统,单片机世界,C51源程序,单片机原理,电子资料,单片机程序,液晶开发,电子技术,硬件设计,嵌入式开发,CPLD,FPGA,数字电视,电子人才招聘,MSP430,PIC,液晶模块,硬件开发,C51源代码,单片机C语言,8051,单片机开发资料,单片机开发工具,电路图,51系列单片机,51单片机,单片机网站,单片机网,电子设计,单片机解密,指纹识别,电子市场,电源技术,电子爱好者,硬件,danpianji
name=description><LINK
href="单片机单片机开发单片机资料单片机编程单片机学习单片机教程单片机应用嵌入式系统-算全的C51编程规范 - 中国单片机世界!!_files/style.css"
type=text/css rel=stylesheet>
<SCRIPT
src="单片机单片机开发单片机资料单片机编程单片机学习单片机教程单片机应用嵌入式系统-算全的C51编程规范 - 中国单片机世界!!_files/flash.js"
type=text/javascript></SCRIPT>
<SCRIPT type=text/javascript>
var thumbWidth=120;var thumbHeight=0;
var thumbHWidth=thumbWidth;var thumbHHeight=thumbHeight;
</SCRIPT>
<SCRIPT
src="单片机单片机开发单片机资料单片机编程单片机学习单片机教程单片机应用嵌入式系统-算全的C51编程规范 - 中国单片机世界!!_files/thumbnail.js"
type=text/javascript></SCRIPT>
<SCRIPT language=javaScript
src="单片机单片机开发单片机资料单片机编程单片机学习单片机教程单片机应用嵌入式系统-算全的C51编程规范 - 中国单片机世界!!_files/scroll.js"
type=text/javascript></SCRIPT>
<SCRIPT language=javaScript
src="单片机单片机开发单片机资料单片机编程单片机学习单片机教程单片机应用嵌入式系统-算全的C51编程规范 - 中国单片机世界!!_files/imgResize.js"
type=text/javascript></SCRIPT>
<META content="MSHTML 5.50.4522.1800" name=GENERATOR></HEAD>
<BODY><SPAN id=printScript>
<SCRIPT language=javascript type=text/javascript>
<!--
function ContentSize(size)
{
var obj=document.all.BodyLabel;
obj.style.fontSize=size+"px";
}
-->
</SCRIPT>
</SPAN>
<SCRIPT language=javascript
src="单片机单片机开发单片机资料单片机编程单片机学习单片机教程单片机应用嵌入式系统-算全的C51编程规范 - 中国单片机世界!!_files/print.js"
type=text/javascript></SCRIPT>
<DIV class=twidth>
<TABLE id=sitehead cellSpacing=0 cellPadding=0 align=center border=0>
<TBODY>
<TR>
<TD class=l></TD>
<TD class=m>
<TABLE width="100%" align=center>
<TBODY>
<TR>
<TD width=200><A href="http://www.mcuw.com/"><IMG
style="FILTER: chroma(color=#FFFFFF)"
src="单片机单片机开发单片机资料单片机编程单片机学习单片机教程单片机应用嵌入式系统-算全的C51编程规范 - 中国单片机世界!!_files/logo.gif"
border=0></A> </TD>
<TD align=middle>
<SCRIPT type=text/javascript>Flash("HTTP://WWW.MCUW.COM/bbs/skins/three/topfla.swf",470,60);</SCRIPT>
</TD>
<TD style="LINE-HEIGHT: 120%" align=middle width=100><A
onclick="javascript:window.external.addFavorite('http://www.mcuw.com','中国单片机世界')"
href="http://www.mcuw.com/n36c8.aspx#">加入收藏</A><BR><A
href="http://www.mcuw.com/sitemap.aspx">网站地图</A><BR><A
href="mailto:webmaster@mcuw.com">联系我们</A><BR><A
href="http://www.mcuw.com/search.aspx">网站搜索</A>
</TD></TR></TBODY></TABLE></TD>
<TD class=r></TD></TR></TBODY></TABLE>
<TABLE id=navbar cellSpacing=0 cellPadding=0 align=center>
<TBODY>
<TR>
<TD class=l></TD>
<TD class=m>
<SCRIPT language=javascript1.2
src="单片机单片机开发单片机资料单片机编程单片机学习单片机教程单片机应用嵌入式系统-算全的C51编程规范 - 中国单片机世界!!_files/popmenu.js"
type=text/javascript></SCRIPT>
<SPAN id=dlSortNav><SPAN><A
href="http://www.mcuw.com/default.aspx">单片机首页</A> </SPAN><SPAN><IMG alt=""
src="单片机单片机开发单片机资料单片机编程单片机学习单片机教程单片机应用嵌入式系统-算全的C51编程规范 - 中国单片机世界!!_files/navbar_separator.gif"
align=absMiddle> </SPAN><SPAN><A
href="http://www.mcuw.com/c6.aspx">单片机新闻</A> </SPAN><SPAN><IMG alt=""
src="单片机单片机开发单片机资料单片机编程单片机学习单片机教程单片机应用嵌入式系统-算全的C51编程规范 - 中国单片机世界!!_files/navbar_separator.gif"
align=absMiddle> </SPAN><SPAN><A onmouseover=showmenu(event,19,1,false)
onmouseout=delayhidemenu() href="http://www.mcuw.com/c19.aspx">单片机资料</A>
</SPAN><SPAN><IMG alt=""
src="单片机单片机开发单片机资料单片机编程单片机学习单片机教程单片机应用嵌入式系统-算全的C51编程规范 - 中国单片机世界!!_files/navbar_separator.gif"
align=absMiddle> </SPAN><SPAN><A onmouseover=showmenu(event,18,1,false)
onmouseout=delayhidemenu() href="http://www.mcuw.com/c18.aspx">电子技术</A>
</SPAN><SPAN><IMG alt=""
src="单片机单片机开发单片机资料单片机编程单片机学习单片机教程单片机应用嵌入式系统-算全的C51编程规范 - 中国单片机世界!!_files/navbar_separator.gif"
align=absMiddle> </SPAN><SPAN><A
href="http://www.mcuw.com/c14.aspx">单片机职业生涯</A> </SPAN><SPAN><IMG alt=""
src="单片机单片机开发单片机资料单片机编程单片机学习单片机教程单片机应用嵌入式系统-算全的C51编程规范 - 中国单片机世界!!_files/navbar_separator.gif"
align=absMiddle> </SPAN><SPAN><A
href="http://www.mcuw.com/c22.aspx">论坛栏目</A> </SPAN><SPAN><IMG alt=""
src="单片机单片机开发单片机资料单片机编程单片机学习单片机教程单片机应用嵌入式系统-算全的C51编程规范 - 中国单片机世界!!_files/navbar_separator.gif"
align=absMiddle> </SPAN><SPAN><A target=_blank
href="http://www.mcuw.com/bbs"><SPAN
style="COLOR: #ff0000">单片机论坛</SPAN></A> </SPAN></SPAN></TD>
<TD class=r></TD></TR></TBODY></TABLE>
<TABLE id=navsub cellSpacing=0 cellPadding=0>
<TBODY>
<TR>
<TD class=l></TD>
<TD class=m> <A href="http://www.mcuw.com/default.aspx">中国单片机世界</A>
→ <A href="http://www.mcuw.com/c19.aspx">单片机资料</A> → <A
href="http://www.mcuw.com/c8.aspx">单片机资料共享</A> </TD>
<TD class=r></TD></TR></TBODY></TABLE>
<DIV class=mframe>
<TABLE cellSpacing=0 cellPadding=0 width="100%">
<TBODY>
<TR>
<TD class=tl></TD>
<TD class=tm><SPAN class=tt>阅读新闻</SPAN> </TD>
<TD class=tr></TD></TR></TBODY></TABLE>
<DIV id=printBody>
<TABLE id=middle
style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all; TEXT-ALIGN: left"
cellSpacing=0 cellPadding=0 align=center>
<TBODY>
<TR>
<TD class=ml></TD>
<TD class=mm vAlign=top><BR>
<DIV align=center>
<H1 class=aTitle>算全的C51编程规范</H1></DIV>
<TABLE width="97%" align=center>
<TBODY>
<TR>
<TD width=120>[日期:<SPAN id=TimeLabel>2005-3-12</SPAN>]</TD>
<TD align=middle>来源:<SPAN id=SourceLabel></SPAN> 作者:<SPAN
id=AuthorLabel></SPAN></TD>
<TD align=right width=100>[字体:<A
href="javascript:ContentSize(16)">大</A> <A
href="javascript:ContentSize(14)">中</A> <A
href="javascript:ContentSize(12)">小</A>] </TD></TR></TBODY></TABLE>
<DIV class=content id=BodyLabel
style="PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px"><!--DVNEWS_AD_BEGIN-->
<SCRIPT type=text/javascript>Flash("HTTP://WWW.MCUW.COM/bbs/skins/three/topfla.swf",80,60);</SCRIPT>
<!--DVNEWS_AD_END-->
<P>引言<BR>今天人们越来越明白软件设计更多地是一种工程,而不是一种个人艺术。由于大型产品的开发通常由很多的人协同作战,如果不统一编程规范,最终合到一起的程序,其可读性将较差,这不仅给代码的理解带来障碍,增加维护阶段的工作量,同时不规范的代码隐含错误的可能性也比较大。<BR>BELL实验室的研究资料表明,软件错误中18%左右产生于概要设计阶段,15%左右产生于详细设计阶段,而编码阶段产生的错误占的比例则接近50%;分析表明,编码阶段产生的错误当中,语法错误大概占20%左右,而由于未严格检查软件逻辑导致的错误、函数(模块)之间接口错误及由于代码可理解度低导致优化维护阶段对代码的错误修改引起的错误则占了一半以上。<BR>可见,提高软件质量必须降低编码阶段的错误率。如何有效降低编码阶段的错误呢?BELL实验室的研究人员制定了详细的软件编程规范,并培训每一位程序员,最终的结果把编码阶段的错误降至10%左右,同时也降低了程序的测试费用,效果相当显著。<BR>本文从代码的可维护性(可读、可理解性、可修改性)、代码逻辑与效率、函数(模块)接口、可测试性四个方面阐述了软件编程规范,规范分成规则和建议两种,其中规则部分为强制执行项目,而建议部分则不作强制,可根据习惯取舍。</P>
<P>2. 编码规范<BR>2.1. 排版风格<BR><规则 1>
程序块采用缩进风格编写,缩进为4个空格位。排版不混合使用空格和TAB键。<BR><规则2>
在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如->),后不应加空格。<BR>采用这种松散方式编写代码的目的是使代码更加清晰。例如:<BR>(1)
逗号、分号只在后面加空格<BR>printf("%d %d %d" , a, b, c);</P>
<P>(2)比较操作符, 赋值操作符"="、
"+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域操作符"<<"、"^"等双目操作符的前后加空格<BR>if(lCurrentTime
>= MAX_TIME_value) <BR>a = b + c;<BR>a *= 2;<BR>a = b ^ 2;</P>
<P>(3)"!"、"~"、"++"、"--"、"&"(<BR>"!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格<BR>*pApple
= 'a'; // 内容操作"*"与内容之间<BR>flag = !bIsEmpty; // 非操作"!"与内容之间<BR>p =
&cMem; // 地址操作"&" 与内容之间<BR>i++; // "++","--"与内容之间</P>
<P>(4)"->"、"."前后不加空格<BR>p->id = pId; // "->"指针前后不加空格</P>
<P>由于留空格所产生的清晰性是相对的,所以,在已经非常清晰的语句中没有必要再留空格,如最内层的括号内侧(即左括号后面和右括号前面)不要加空格,因为在C/C++语言中括号已经是最清晰的标志了。<BR>另外,在长语句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部不加空格。<BR>最后,即使留空格,也不要连续留两个以上空格(为了保证缩进和排比留空除外)。</P>
<P><规则3>
函数体的开始,类的定义,结构的定义,if、for、do、while、switch及case语句中的程序都应采用缩进方式,憑捄蛻}捰禀独占一行并且位于同一列,同时与引用它们的语句左对齐
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -