?? 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 + -