📄 cc++ 编码规范.htm
字号:
<TR bgColor=#ffffff>
<TD><table border='0' width='100%' align='center' cellspacing='1' cellpadding='1' bgcolor=''><tr><td colspan='1' bgcolor='' style='font-size:16px; font-family:;text-align :right'><a href='blog.asp?name=cxjr&month=2006-5'>«</a></td><td colspan='5' style='color:;font-size:14px;font-family:;text-align :center'><b>June 2006</b></td><td colspan='1' bgcolor='' style='font-size:16px; font-family:;text-align :left';><a href='blog.asp?name=cxjr&month=2006-7'>»</a></td></tr><tr><td align='center' bgcolor=''>日</td><td align='center' bgcolor=''>一</td><td align='center' bgcolor=''>二</td><td align='center' bgcolor=''>三</td><td align='center' bgcolor=''>四</td><td align='center' bgcolor=''>五</td><td align='center' bgcolor=''>六</td></tr><tr><td bgcolor=''></td><td bgcolor=''></td><td bgcolor=''></td><td bgcolor=''></td><td align='center' bgcolor='' style='font-size:10px;font-family:'>1</td><td align='center' bgcolor='' style='font-size:10px;font-family:'>2</td><td align='center' bgcolor='' style='font-size:10px;font-family:'>3</td></tr><td align='center' bgcolor='' style='font-size:10px;font-family:'>4</td><td align='center' bgcolor='' style='font-size:10px;font-family:'>5</td><td align='center' bgcolor='' style='font-size:10px;font-family:'>6</td><td align='center' bgcolor='' style='font-size:10px;font-family:'><a href='blog.asp?name=cxjr&date=2006-6-7'><a href='blog.asp?name=cxjr&date=2006-6-7'><a href='blog.asp?name=cxjr&date=2006-6-7'><a href='blog.asp?name=cxjr&date=2006-6-7'><a href='blog.asp?name=cxjr&date=2006-6-7'><a href='blog.asp?name=cxjr&date=2006-6-7'>7</a></td><td align='center' bgcolor='' style='font-size:10px;font-family:'><a href='blog.asp?name=cxjr&date=2006-6-8'><a href='blog.asp?name=cxjr&date=2006-6-8'>8</a></td><td align='center' bgcolor='' style='font-size:10px;font-family:'><a href='blog.asp?name=cxjr&date=2006-6-9'><a href='blog.asp?name=cxjr&date=2006-6-9'><a href='blog.asp?name=cxjr&date=2006-6-9'>9</a></td><td align='center' bgcolor='' style='font-size:10px;font-family:'><a href='blog.asp?name=cxjr&date=2006-6-10'><a href='blog.asp?name=cxjr&date=2006-6-10'><a href='blog.asp?name=cxjr&date=2006-6-10'><a href='blog.asp?name=cxjr&date=2006-6-10'>10</a></td></tr><td align='center' bgcolor='' style='font-size:10px;font-family:'><a href='blog.asp?name=cxjr&date=2006-6-11'>11</a></td><td align='center' bgcolor='' style='font-size:10px;font-family:'>12</td><td align='center' bgcolor='' style='font-size:10px;font-family:'>13</td><td align='center' bgcolor='' style='font-size:10px;font-family:'>14</td><td align='center' bgcolor='' style='font-size:10px;font-family:'>15</td><td align='center' bgcolor='' style='font-size:10px;font-family:'><a href='blog.asp?name=cxjr&date=2006-6-16'><a href='blog.asp?name=cxjr&date=2006-6-16'><a href='blog.asp?name=cxjr&date=2006-6-16'><a href='blog.asp?name=cxjr&date=2006-6-16'><a href='blog.asp?name=cxjr&date=2006-6-16'>16</a></td><td align='center' bgcolor='' style='font-size:10px;font-family:'><a href='blog.asp?name=cxjr&date=2006-6-17'><a href='blog.asp?name=cxjr&date=2006-6-17'><a href='blog.asp?name=cxjr&date=2006-6-17'><a href='blog.asp?name=cxjr&date=2006-6-17'>17</a></td></tr><td align='center' bgcolor='' style='font-size:10px;font-family:'><a href='blog.asp?name=cxjr&date=2006-6-18'><a href='blog.asp?name=cxjr&date=2006-6-18'><a href='blog.asp?name=cxjr&date=2006-6-18'><a href='blog.asp?name=cxjr&date=2006-6-18'>18</a></td><td align='center' bgcolor='' style='font-size:10px;font-family:'><a href='blog.asp?name=cxjr&date=2006-6-19'>19</a></td><td align='center' bgcolor='' style='font-size:10px;font-family:'>20</td><td align='center' bgcolor='' style='font-size:10px;font-family:'>21</td><td align='center' bgcolor='' style='font-size:10px;font-family:'>22</td><td align='center' bgcolor='' style='font-size:10px;font-family:'>23</td><td align='center' bgcolor='' style='font-size:10px;font-family:'>24</td></tr><td align='center' bgcolor='' style='font-size:10px;font-family:'>25</td><td align='center' bgcolor='' style='font-size:10px;font-family:'>26</td><td align='center' bgcolor='' style='font-size:10px;font-family:'>27</td><td align='center' bgcolor='' style='font-size:10px;font-family:'>28</td><td align='center' bgcolor='' style='font-size:10px;font-family:'>29</td><td align='center' bgcolor='' style='font-size:10px;font-family:'>30</td><td align='center' bgcolor='' style='font-size:10px;font-family:'></td></tr><tr><td colspan='7' bgcolor='' align='center'></tr></table></TD></TR></TBODY></TABLE></P>
<P align=center>
<TABLE style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" cellSpacing=1 cellPadding=3 width="100%" bgColor=#cccccc border=0>
<TBODY>
<TR bgColor=#f8f8f8>
<TD><STRONG><FONT color=#ff0000>博客信息</FONT></STRONG></TD></TR>
<TR bgColor=#ffffff>
<TD>
<P><FONT color=#ff0000>blog名称:匠人的百宝箱<br>日志总数:1837<br>评论数量:707<br>留言数量:24<br>访问次数:1352231<br>建立时间:2005年5月18日</FONT></P>
<P align=center><FONT size=3><A href="http://cxjr.21ic.org/" target=_blank><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blog.21ic.org/uploadfile-/20051217161245384.gif" border=0></A></FONT></P></TD></TR></TBODY></TABLE></P>
<TD vAlign=top align=middle width=660>
<P align=left>
<TABLE style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" cellSpacing=1 cellPadding=3 width="100%" bgColor=#cccccc border=0>
<TBODY>
<TR bgColor=#f8f8f8>
<TD><STRONG><FONT color=#ff0000>广告(2号位)</FONT></STRONG></TD></TR>
<TR bgColor=#ffffff>
<TD>
<DIV align=center>
<ADDRESS> <A href="http://www.3gmcu.com/" target=_blank><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blog.21ic.org/uploadfile-/2005122820932375.gif" border=0></A></ADDRESS></DIV></TD></TR></TBODY></TABLE></P>
<P align=left>
<TABLE style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" cellSpacing=1 cellPadding=3 width="100%" bgColor=#cccccc border=0>
<TBODY>
<TR bgColor=#f8f8f8>
<TD><STRONG><FONT color=#ff0000>酷贴推荐 <FONT color=#ff0000>[</FONT><A href="http://blog.21ic.org/more.asp?name=cxjr&id=7437" target=_blank><U><FONT color=#ff0000>更多…… </FONT></U></A><FONT color=#ff0000>]</FONT></FONT></STRONG></TD></TR>
<TR bgColor=#ffffff>
<TD>
<P align=left>
<TABLE borderColor=#cccccc cellSpacing=2 cellPadding=3 width="100%" bgColor=#ffffff border=1>
<TBODY>
<TR>
<TD>
<P align=center> [<A href="http://blog.21ic.com/more.asp?name=cxjr&id=16591"><U><FONT style="BACKGROUND-COLOR: #ffff00" color=#ff0000>岁月如歌——记匠人的百宝箱博客开通一周年</FONT></U></A>] [<A href="http://blog.21ic.com/more.asp?name=cxjr&id=17379"><U><FONT color=#0000ff>事件驅動觀念</FONT></U></A>] [<A href="http://blog.21ic.com/more.asp?name=cxjr&id=17377"><U><FONT color=#0000ff>单片机程序设计中运用事件驱动机制</FONT></U></A>]</P></TD>
<TR>
<TD>
<P align=center>[<A href="http://blog.21ic.com/more.asp?name=cxjr&id=18941"><U><FONT color=#0000ff>计算机族必喝的健康饮料</FONT></U></A>] [<A href="http://blog.21ic.com/more.asp?name=cxjr&id=18714"><U><FONT color=#0000ff>男人·女人·电脑</FONT></U></A>] [<A href="http://blog.21ic.com/more.asp?name=cxjr&id=18713"><U><FONT color=#0000ff>学编程的人不能不看的好文章</FONT></U></A>] [<A href="http://blog.21ic.com/more.asp?name=cxjr&id=18742"><U><FONT color=#0000ff>PIC机与MCS-51的区别</FONT></U></A>]</P></TD>
<TR>
<TD>
<P align=center>[<A href="http://blog.21ic.com/more.asp?name=cxjr&id=19794"><U><FONT color=#0000ff>一种软件去除键抖动的方法</FONT></U></A>] [<A href="http://blog.21ic.com/more.asp?name=cxjr&id=19752"><U><FONT color=#0000ff>司马光,你干嘛砸缸?</FONT></U></A>] [<A href="http://blog.21ic.com/more.asp?name=cxjr&id=19748"><U><FONT color=#0000ff>编码规范</FONT></U></A>] </P></TD>
<TR>
<TD>
<P align=center><FONT color=#ff0000>调查:[</FONT><A href="http://21icbbs.com/club/vote/showvote.asp?id=98" target=_blank><U><FONT color=#ff0000>您认为《匠人的百宝箱》如何?</FONT></U></A><FONT color=#ff0000>] [</FONT><A href="http://21icbbs.com/club/vote/showvote.asp?id=129" target=_blank><U><FONT color=#ff0000>您最喜欢《匠人的百宝箱》中哪个栏目?</FONT></U></A><FONT color=#ff0000>] [</FONT><A href="http://blog.21ic.com/more.asp?name=cxjr&id=18993"><U><FONT color=#ff0000>请网友来评选最佳队员专栏</FONT></U></A><FONT color=#ff0000>]</FONT> </P></TD></TR></TBODY></TABLE></P></TD></TR></TBODY></TABLE></P>
<P align=left>
<TABLE style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" cellSpacing=1 cellPadding=3 width="100%" bgColor=#cccccc border=0>
<TBODY>
<TR bgColor=#f8f8f8>
<TD>
<P align=left><FONT color=#ff0000 size=4><STRONG><img src=images/face/3.gif ><a href=blog.asp?name=cxjr&subjectid=66>[编程技巧]<a href=more.asp?name=cxjr&id=2631>C/C++ 编码规范</a></STRONG></FONT><BR>程序匠人 2005-8-22 23:43:00 <a href=more.asp?name=cxjr&id=2631>阅读全文(993)</a> | <a href=more.asp?name=cxjr&id=2631#comment>回复(0)</a> | <a href=showtb.asp?id=2631 target=_blank>引用(0)</a><BR><FONT face=宋体 size=4><STRONG>[</STRONG></FONT><A href="http://blog.21ic.org/more.asp?name=cxjr&id=6250" target=_blank><FONT face=宋体 color=#ff0000 size=4><STRONG>广告8号位</STRONG></FONT></A><FONT face=宋体 size=4><STRONG>] [</STRONG></FONT><A href="http://blog.21ic.org/more.asp?name=cxjr&id=7705"><U><FONT style="BACKGROUND-COLOR: #000000" face=宋体 color=#ffffff size=4><STRONG>免责声明</STRONG></FONT></U></A><FONT face=宋体 size=4><STRONG>] [</STRONG><A href="http://blog.21ic.com/more.asp?name=cxjr&id=18993"><U><FONT style="BACKGROUND-COLOR: #ffff00" color=#ff0000 size=3><STRONG>请网友来评选最佳队员专栏!</STRONG></FONT></U></A><STRONG>]</STRONG></FONT></P></TD></TR>
<TR bgColor=#ffffff>
<TD height=0>
<DIV align=left><P>C/C++ 编码规范 </P>
<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>*pApple = 'a'; // 内容操作"*"与内容之间 <BR>flag = !bIsEmpty; // 非操作"!"与内容之间 <BR>p = &cMem; // 地址操作"&" 与内容之间 <BR>i++; // "++","--"与内容之间 </P>
<P>(4)"->"、"."前后不加空格 <BR>p->id = pId; // "->"指针前后不加空格 </P>
<P>由于留空格所产生的清晰性是相对的,所以,在已经非常清晰的语句中没有必要再留空格,如最内层的括号内侧(即左括号后面和右括号前面)不要加空格,因为在C/C++语言中括号已经是最清晰的标志了。8BR>另外,在长语句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部不加空格。 <BR>最后,即使留空格,也不要连续留两个以上空格(为了保证缩进和排比留空除外)。 </P>
<P><规则3> 函数体的开始,类的定义,结构的定义,if、for、do、while、switch及case语句中的程序都应采用缩进方式,憑捄蛻}捰禀独占一行并且位于同一列,同时与引用它们的语句左对齐
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -