亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 編程規范與范例(1).htm

?? 編程規范大全
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
<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>&nbsp;<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&amp;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>&nbsp;[<A href="http://blog.21ic.com/more.asp?name=cxjr&amp;id=16591"><U><FONT style="BACKGROUND-COLOR: #ffff00" color=#ff0000>歲月如歌——記匠人的百寶箱博客開通一周年</FONT></U></A>] [<A href="http://blog.21ic.com/more.asp?name=cxjr&amp;id=17379"><U><FONT color=#0000ff>事件驅動觀念</FONT></U></A>] [<A href="http://blog.21ic.com/more.asp?name=cxjr&amp;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&amp;id=18941"><U><FONT color=#0000ff>計算機族必喝的健康飲料</FONT></U></A>] [<A href="http://blog.21ic.com/more.asp?name=cxjr&amp;id=18714"><U><FONT color=#0000ff>男人·女人·電腦</FONT></U></A>] [<A href="http://blog.21ic.com/more.asp?name=cxjr&amp;id=18713"><U><FONT color=#0000ff>學編程的人不能不看的好文章</FONT></U></A>] [<A href="http://blog.21ic.com/more.asp?name=cxjr&amp;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&amp;id=19794"><U><FONT color=#0000ff>一種軟件去除鍵抖動的方法</FONT></U></A>] [<A href="http://blog.21ic.com/more.asp?name=cxjr&amp;id=19752"><U><FONT color=#0000ff>司馬光,你干嘛砸缸?</FONT></U></A>] [<A href="http://blog.21ic.com/more.asp?name=cxjr&amp;id=19748"><U><FONT color=#0000ff>編碼規范</FONT></U></A>]&nbsp;</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&amp;id=18993"><U><FONT color=#ff0000>請網友來評選最佳隊員專欄</FONT></U></A><FONT color=#ff0000>]</FONT>&nbsp;</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/1.gif ><a href=blog.asp?name=cxjr&subjectid=66>[編程技巧]<a href=more.asp?name=cxjr&id=2754>編程規范與范例(1)</a></STRONG></FONT><BR>程序匠人&nbsp;&nbsp;&nbsp; 2005-8-27 20:14:00&nbsp;&nbsp;&nbsp;&nbsp; <a href=more.asp?name=cxjr&id=2754>閱讀全文(1414)</a> | <a href=more.asp?name=cxjr&id=2754#comment>回復(0)</a> | <a href=showtb.asp?id=2754 target=_blank>引用(0)</a><BR><FONT face=宋體 size=4><STRONG>[</STRONG></FONT><A href="http://blog.21ic.org/more.asp?name=cxjr&amp;id=6250" target=_blank><FONT face=宋體 color=#ff0000 size=4><STRONG>廣告8號位</STRONG></FONT></A><FONT face=宋體 size=4><STRONG>]&nbsp;[</STRONG></FONT><A href="http://blog.21ic.org/more.asp?name=cxjr&amp;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&amp;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>編程規范與范例(1)&nbsp; <BR>〖文章轉載或出處〗≡中國電子技術信息網≡ 網址:<A href="http://www.CETINet.com">www.CETINet.com</A> <BR>編程規范與范例(1)</P>
<P>目&nbsp; 錄<BR>1 排版 6<BR>2 注釋 11<BR>3 標識符命名 18<BR>4 可讀性 20<BR>5 變量、結構 22<BR>6 函數、過程 28<BR>7 可測性 36<BR>8 程序效率 40<BR>9 質量保證 44<BR>10 代碼編輯、編譯、審查 50<BR>11 代碼測試、維護 52<BR>12 宏 53<BR>&nbsp;<BR>1 排版<BR>&amp;sup1; 1-1:程序塊要采用縮進風格編寫,縮進的空格數為4個。<BR>說明:對于由開發工具自動生成的代碼可以有不一致。<BR>&amp;sup1; 1-2:相對獨立的程序塊之間、變量說明之后必須加空行。<BR>示例:如下例子不符合規范。<BR>if (!valid_ni(ni))<BR>{<BR>&nbsp;&nbsp;&nbsp; ... // program code<BR>}<BR>repssn_ind = ssn_data[index].repssn_index;<BR>repssn_ni&nbsp; = ssn_data[index].ni;</P>
<P>應如下書寫<BR>if (!valid_ni(ni))<BR>{<BR>&nbsp;&nbsp;&nbsp; ... // program code<BR>}</P>
<P>repssn_ind = ssn_data[index].repssn_index;<BR>repssn_ni&nbsp; = ssn_data[index].ni;<BR>&amp;sup1; 1-3:較長的語句(&gt;80字符)要分成多行書寫,長表達式要在低優先級操作符處劃分新行,操作符放在新行之首,劃分出的新行要進行適當的縮進,使排版整齊,語句可讀。<BR>示例:<BR>perm_count_msg.head.len = NO7_TO_STAT_PERM_COUNT_LEN<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + STAT_SIZE_PER_FRAM * sizeof( _UL );</P>
<P>act_task_table[frame_id * STAT_TASK_CHECK_NUMBER + index].occupied<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = stat_poi[index].occupied;</P>
<P>act_task_table[taskno].duration_true_or_false<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = SYS_get_sccp_statistic_state( stat_item );</P>
<P>report_or_not_flag = ((taskno &lt; MAX_ACT_TASK_NUMBER)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; (n7stat_stat_item_valid (stat_item))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; (act_task_table[taskno].result_data != 0));<BR>&nbsp;<BR>&amp;sup1; 1-4:循環、判斷等語句中若有較長的表達式或語句,則要進行適應的劃分,長表達式要在低優先級操作符處劃分新行,操作符放在新行之首。<BR>示例:<BR>if ((taskno &lt; max_act_task_number)<BR>&nbsp;&nbsp;&nbsp; &amp;&amp; (n7stat_stat_item_valid (stat_item)))<BR>{<BR>&nbsp;&nbsp;&nbsp; ... // program code<BR>}</P>
<P>for (i = 0, j = 0; (i &lt; BufferKeyword[word_index].word_length)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; (j &lt; NewKeyword.word_length); i++, j++)<BR>{<BR>&nbsp;&nbsp;&nbsp; ... // program code<BR>}</P>
<P>for (i = 0, j = 0;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; (i &lt; first_word_length) &amp;&amp; (j &lt; second_word_length);&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; i++, j++)<BR>{<BR>&nbsp;&nbsp;&nbsp; ... // program code <BR>}<BR>&amp;sup1; 1-5:若函數或過程中的參數較長,則要進行適當的劃分。<BR>示例:<BR>n7stat_str_compare((BYTE *) &amp; stat_object,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (BYTE *) &amp; (act_task_table[taskno].stat_object),<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sizeof (_STAT_OBJECT));</P>
<P>n7stat_flash_act_duration( stat_item, frame_id *STAT_TASK_CHECK_NUMBER<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + index, stat_object );<BR>&amp;sup1; 1-6:不允許把多個短語句寫在一行中,即一行只寫一條語句。<BR>示例:如下例子不符合規范。<BR>rect.length = 0;&nbsp; rect.width = 0;</P>
<P>應如下書寫<BR>rect.length = 0;<BR>rect.width&nbsp; = 0;<BR>&amp;sup1; 1-7:if、for、do、while、case、switch、default等語句自占一行,且if、for、do、while等語句的執行語句部分無論多少都要加括號{}。 <BR>示例:如下例子不符合規范。<BR>if (pUserCR == NULL) return;</P>
<P>應如下書寫:<BR>if (pUserCR == NULL)<BR>{<BR>&nbsp;&nbsp;&nbsp; return;<BR>}<BR>&amp;sup1; 1-8:對齊只使用空格鍵,不使用TAB鍵。<BR>說明:以免用不同的編輯器閱讀程序時,因TAB鍵所設置的空格數目不同而造成程序布局不整齊,不要使用BC作為編輯器合版本,因為BC會自動將8個空格變為一個TAB鍵,因此使用BC合入的版本大多會將縮進變亂。<BR>&amp;sup1; 1-9:函數或過程的開始、結構的定義及循環、判斷等語句中的代碼都要采用縮進風格,case語句下的情況處理語句也要遵從語句縮進要求。<BR>&amp;sup1; 1-10:程序塊的分界符(如C/C++語言的大括號‘{’和‘}’)應各獨占一行并且位于同一列,同時與引用它們的語句左對齊。在函數體的開始、類的定義、結構的定義、枚舉的定義以及if、for、do、while、switch、case語句中的程序都要采用如上的縮進方式。<BR>示例:如下例子不符合規范。<BR>for (...) {<BR>&nbsp;&nbsp;&nbsp; ... // program code<BR>}</P>
<P>if (...) <BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; ... // program code<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>void example_fun( void )<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; ... // program code<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>應如下書寫。<BR>for (...) <BR>{<BR>&nbsp;&nbsp;&nbsp; ... // program code<BR>}</P>
<P>if (...) <BR>{<BR>&nbsp;&nbsp;&nbsp; ... // program code<BR>}</P>
<P>void example_fun( void )<BR>{<BR>&nbsp;&nbsp;&nbsp; ... // program code<BR>}<BR>&amp;sup1; 1-11:在兩個以上的關鍵字、變量、常量進行對等操作時,它們之間的操作符之前、之后或者前后要加空格;進行非對等操作時,如果是關系密切的立即操作符(如-&gt;),后不應加空格。<BR>說明:采用這種松散方式編寫代碼的目的是使代碼更加清晰。<BR>由于留空格所產生的清晰性是相對的,所以,在已經非常清晰的語句中沒有必要再留空格,如果語句已足夠清晰則括號內側(即左括號后面和右括號前面)不需要加空格,多重括號間不必加空格,因為在C/C++語言中括號已經是最清晰的標志了。<BR>在長語句中,如果需要加的空格非常多,那么應該保持整體清晰,而在局部不加空格。給操作符留空格時不要連續留兩個以上空格。</P>
<P>示例:<BR>(1) 逗號、分號只在后面加空格。<BR>int a, b, c; </P>
<P>(2)比較操作符, 賦值操作符"="、 "+=",算術操作符"+"、"%",邏輯操作符"&amp;&amp;"、"&amp;",位域操作符"&lt;&lt;"、"^"等雙目操作符的前后加空格。<BR>if (current_time &gt;= MAX_TIME_VALUE) <BR>a = b + c;<BR>a *= 2;<BR>a = b ^ 2;</P>
<P>(3)"!"、"~"、"++"、"--"、"&amp;"(地址運算符)等單目操作符前后不加空格。<BR>*p = 'a';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 內容操作"*"與內容之間<BR>flag = !isEmpty; // 非操作"!"與內容之間<BR>p = &amp;mem;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 地址操作"&amp;" 與內容之間<BR>i++;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // "++","--"與內容之間</P>
<P>(4)"-&gt;"、"."前后不加空格。<BR>p-&gt;id = pid;&nbsp;&nbsp;&nbsp;&nbsp; // "-&gt;"指針前后不加空格</P>
<P>(5) if、for、while、switch等與后面的括號間應加空格,使if等關鍵字更為突出、明顯。<BR>if (a &gt;= b &amp;&amp; c &gt; d)<BR>&amp;frac12; 1-1:一行程序以小于80字符為宜,不要寫得過長。<BR>&nbsp;<BR>2 注釋<BR>&amp;sup1; 2-1:一般情況下,源程序有效注釋量必須在20%以上。<BR>說明:注釋的原則是有助于對程序的閱讀理解,在該加的地方都加了,注釋不宜太多也不能太少,注釋語言必須準確、易懂、簡潔。<BR>&amp;sup1; 2-2:說明性文件(如頭文件.h文件、.inc文件、.def文件、編譯說明文件.cfg等)頭部應進行注釋,注釋必須列出:版權說明、版本號、生成日期、作者、內容、功能、與其它文件的關系、修改日志等,頭文件的注釋中還應有函數功能簡要說明。<BR>示例:下面這段頭文件的頭注釋比較標準,當然,并不局限于此格式,但上述信息建議要包含在內。<BR>/*************************************************<BR>&nbsp; Copyright (C), 1988-1999, Huawei Tech. Co., Ltd.<BR>&nbsp; File name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 文件名<BR>&nbsp; Author:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Version:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Date: // 作者、版本及完成日期<BR>&nbsp; Description:&nbsp;&nbsp;&nbsp; // 用于詳細說明此程序文件完成的主要功能,與其他模塊<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 或函數的接口,輸出值、取值范圍、含義及參數間的控<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 制、順序、獨立或依賴等關系<BR>&nbsp; Others:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 其它內容的說明<BR>&nbsp; Function List:&nbsp; // 主要函數列表,每條記錄應包括函數名及功能簡要說明<BR>&nbsp;&nbsp;&nbsp; 1. ....<BR>&nbsp; History:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 修改歷史記錄列表,每條修改記錄應包括修改日期、修改<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 者及修改內容簡述&nbsp; <BR>&nbsp;&nbsp;&nbsp; 1. Date:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Author:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Modification:<BR>&nbsp;&nbsp;&nbsp; 2. ...<BR>*************************************************/<BR>&amp;sup1; 2-3:源文件頭部應進行注釋,列出:版權說明、版本號、生成日期、作者、模塊目的/功能、主要函數及其功能、修改日志等。<BR>示例:下面這段源文件的頭注釋比較標準,當然,并不局限于此格式,但上述信息建議要包含在內。<BR>/************************************************************<BR>&nbsp; Copyright (C), 1988-1999, Huawei Tech. Co., Ltd.<BR>&nbsp; FileName: test.cpp<BR>&nbsp; Author:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Version :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Date:<BR>&nbsp; Description:&nbsp;&nbsp;&nbsp;&nbsp; // 模塊描述&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp; Version:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 版本信息<BR>&nbsp; Function List:&nbsp;&nbsp; // 主要函數及其功能<BR>&nbsp;&nbsp;&nbsp; 1. -------<BR>&nbsp; History:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 歷史修改記錄<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;author&gt;&nbsp; &lt;time&gt;&nbsp;&nbsp; &lt;version &gt;&nbsp;&nbsp; &lt;desc&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; David&nbsp;&nbsp;&nbsp; 96/10/12&nbsp;&nbsp;&nbsp;&nbsp; 1.0&nbsp;&nbsp;&nbsp;&nbsp; build this moudle&nbsp; <BR>***********************************************************/<BR>說明:Description一項描述本文件的內容、功能、內部各部分之間的關系及本文件與其它文件關系等。History是修改歷史記錄列表,每條修改記錄應包括修改日期、修改者及修改內容簡述。<BR>&amp;sup1; 2-4:函數頭部應進行注釋,列出:函數的目的/功能、輸入參數、輸出參數、返回值、調用關系(函數、表)等。<BR>示例:下面這段函數的注釋比較標準,當然,并不局限于此格式,但上述信息建議要包含在內。<BR>/*************************************************<BR>&nbsp; Function:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 函數名稱<BR>&nbsp; Description:&nbsp;&nbsp;&nbsp; // 函數功能、性能等的描述<BR>&nbsp; Calls:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 被本函數調用的函數清單<BR>&nbsp; Called By:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 調用本函數的函數清單<BR>&nbsp; Table Accessed: // 被訪問的表(此項僅對于牽扯到數據庫操作的程序)<BR>&nbsp; Table Updated:&nbsp; // 被修改的表(此項僅對于牽扯到數據庫操作的程序)<BR>&nbsp; Input:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 輸入參數說明,包括每個參數的作<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 用、取值說明及參數間關系。<BR>&nbsp; Output:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 對輸出參數的說明。<BR>&nbsp; Return:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 函數返回值的說明<BR>&nbsp; Others:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 其它說明<BR>*************************************************/<BR>&amp;sup1; 2-5:邊寫代碼邊注釋,修改代碼同時修改相應的注釋,以保證注釋與代碼的一致性。不再有用的注釋要刪除。<BR>&amp;sup1; 2-6:注釋的內容要清楚、明了,含義準確,防止注釋二義性。<BR>說明:錯誤的注釋不但無益反而有害。<BR>規則2-7:避免在注釋中使用縮寫,特別是非常用縮寫。<BR>說明:在使用縮寫時或之前,應對縮寫進行必要的說明。<BR>&amp;sup1; 2-8:注釋應與其描述的代碼相近,對代碼的注釋應放在其上方或右方(對單條語句的注釋)相鄰位置,不可放在下面,如放于上方則需與其上面的代碼用空行隔開。<BR>示例:如下例子不符合規范。<BR>例1:<BR>/* get replicate sub system index and net indicator */</P>
<P><BR>repssn_ind = ssn_data[index].repssn_index;<BR>repssn_ni = ssn_data[index].ni;</P>
<P>例2:<BR>repssn_ind = ssn_data[index].repssn_index;<BR>repssn_ni = ssn_data[index].ni;<BR>/* get replicate sub system index and net indicator */</P>
<P>應如下書寫<BR>/* get replicate sub system index and net indicator */<BR>repssn_ind = ssn_data[index].repssn_index;<BR>repssn_ni = ssn_data[index].ni;<BR>&amp;sup1; 2-9:對于所有有物理含義的變量、常量,如果其命名不是充分自注釋的,在聲明時都必須加以注釋,說明其物理含義。變量、常量、宏的注釋應放在其上方相鄰位置或右方。<BR>示例:<BR>/* active statistic task number */<BR>#define MAX_ACT_TASK_NUMBER 1000</P>
<P>#define MAX_ACT_TASK_NUMBER 1000 /* active statistic task number */<BR>&amp;sup1; 2-10:數據結構聲明(包括數組、結構、類、枚舉等),如果其命名不是充分自注釋的,必須加以注釋。對數據結構的注釋應放在其上方相鄰位置,不可放在下面;對結構中的每個域的注釋放在此域的右方。<BR>示例:可按如下形式說明枚舉/數據/聯合結構。<BR>/* sccp interface with sccp user primitive message name */<BR>enum&nbsp; SCCP_USER_PRIMITIVE<BR>{<BR>&nbsp;&nbsp;&nbsp; N_UNITDATA_IND, /* sccp notify sccp user unit data come */<BR>&nbsp;&nbsp;&nbsp; N_NOTICE_IND,&nbsp;&nbsp; /* sccp notify user the No.7 network can not */<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* transmission this message */<BR>&nbsp;&nbsp;&nbsp; N_UNITDATA_REQ, /* sccp user's unit data transmission request*/<BR>};<BR>&amp;sup1; 2-11:全局變量要有較詳細的注釋,包括對其功能、取值范圍、哪些函數或過程存取它以及存取時注意事項等的說明。<BR>示例:<BR>/* The ErrorCode when SCCP translate */<BR>/* Global Title failure, as follows */&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 變量作用、含義<BR>/* 0 - SUCCESS&nbsp;&nbsp; 1 - GT Table error */<BR>/* 2 - GT error&nbsp; Others - no use&nbsp; */&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 變量取值范圍<BR>/* only&nbsp; function&nbsp; SCCPTranslate() in */<BR>/* this modual can modify it,&nbsp; and&nbsp; other */<BR>/* module can visit it through call */<BR>/* the&nbsp; function GetGTTransErrorCode() */&nbsp;&nbsp;&nbsp; // 使用方法<BR>BYTE g_GTTranErrorCode;&nbsp; <BR>&amp;sup1; 2-12:注釋與所描述內容進行同樣的縮排。<BR>說明:可使程序排版整齊,并方便注釋的閱讀與理解。<BR>示例:如下例子,排版不整齊,閱讀稍感不方便。<BR>void example_fun( void )<BR>{<BR>/* code one comments */<BR>&nbsp;&nbsp;&nbsp; CodeBlock One</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* code two comments */<BR>&nbsp;&nbsp;&nbsp; CodeBlock Two<BR>}</P>
<P>應改為如下布局。<BR>void example_fun( void )<BR>{<BR>&nbsp;&nbsp;&nbsp; /* code one comments */<BR>&nbsp;&nbsp;&nbsp; CodeBlock One</P>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃视频在线观看一区| 久久你懂得1024| 成人app在线| 国产福利一区二区三区在线视频| 青娱乐精品视频| 六月丁香婷婷久久| 精品亚洲欧美一区| 国产成人鲁色资源国产91色综| 国产激情视频一区二区在线观看 | 99久久久无码国产精品| 国产91精品免费| 99久久精品国产观看| 一本久久精品一区二区| 在线观看亚洲精品视频| 欧美日韩一区二区电影| 欧美一区二区视频观看视频| 日韩亚洲欧美综合| 久久久亚洲午夜电影| 国产精品污www在线观看| 中文字幕一区二区不卡| 樱花影视一区二区| 亚洲一区二区三区四区五区黄| 亚洲午夜久久久久久久久电影网 | 欧美一级日韩一级| 国产亚洲精品中文字幕| 一区二区三区在线免费| 日韩在线一二三区| 国产宾馆实践打屁股91| 91国偷自产一区二区使用方法| 欧美日韩在线不卡| 久久蜜桃av一区精品变态类天堂 | 欧美一区二区三区思思人| 亚洲精品在线电影| 亚洲综合偷拍欧美一区色| 久久成人免费网站| 99久免费精品视频在线观看| 欧美三级三级三级爽爽爽| 精品99一区二区三区| 亚洲精品高清在线| 国内精品嫩模私拍在线| 欧美亚洲日本国产| 国产偷国产偷精品高清尤物| 亚洲福利国产精品| 成人美女视频在线观看18| 欧美日韩高清一区二区不卡| 欧美激情资源网| 日韩成人伦理电影在线观看| 不卡电影免费在线播放一区| 91精品国产麻豆| 亚洲理论在线观看| 国产麻豆视频一区二区| 欧美精品第1页| 亚洲欧美日韩国产另类专区| 激情综合色播激情啊| 欧美日韩国产大片| 一区二区三区蜜桃网| 国产成人啪免费观看软件| 欧美高清视频不卡网| 亚洲欧美日本韩国| 成年人午夜久久久| 亚洲国产精品传媒在线观看| 经典三级一区二区| 91精品国产高清一区二区三区蜜臀 | 日本伊人色综合网| 在线观看日韩高清av| 欧美国产综合一区二区| 黑人巨大精品欧美一区| 日韩欧美一级特黄在线播放| 亚洲精品成人少妇| 色综合一个色综合亚洲| 欧美激情一区不卡| 成人免费看片app下载| 国产亚洲欧美色| 国产乱子轮精品视频| 久久久精品国产免费观看同学| 蜜桃精品在线观看| 精品国产乱子伦一区| 激情小说欧美图片| 久久先锋资源网| 国产91精品露脸国语对白| 国产精品无遮挡| 成人aa视频在线观看| 一区二区在线观看免费视频播放 | 亚洲成在线观看| 在线播放欧美女士性生活| 图片区小说区区亚洲影院| 欧美丝袜自拍制服另类| 日本亚洲视频在线| 精品欧美一区二区在线观看| 韩国女主播成人在线| 国产亚洲精久久久久久| 91视频在线看| 日韩综合小视频| 欧美一级久久久久久久大片| 国产一区日韩二区欧美三区| 国产精品乱码一区二区三区软件| gogogo免费视频观看亚洲一| 亚洲黄色av一区| 欧美一区日韩一区| 国产丶欧美丶日本不卡视频| 日韩一区日韩二区| 91精品国产乱码久久蜜臀| 精品一区二区三区在线观看 | 亚洲一区二区三区四区五区中文| 欧美猛男男办公室激情| 国内精品伊人久久久久影院对白| 国产精品视频看| 欧美日韩亚洲综合在线 | 9191国产精品| 国产91在线看| 午夜精品福利一区二区蜜股av| 精品国产免费人成电影在线观看四季| 99久久婷婷国产综合精品电影| 亚洲妇女屁股眼交7| 国产欧美精品一区二区三区四区| 91国在线观看| 成人深夜福利app| 日本麻豆一区二区三区视频| 国产精品久久久久久久第一福利| 欧美日韩国产电影| 波波电影院一区二区三区| 日韩精品国产精品| 亚洲欧美一区二区不卡| 欧美精品一区二| 欧美日韩国产高清一区二区三区| 岛国精品在线观看| 看电视剧不卡顿的网站| 一区二区三区在线观看国产| 久久精品视频在线免费观看| 欧美久久久久中文字幕| 日本乱码高清不卡字幕| 成人一区二区视频| 免费成人av资源网| 日韩高清欧美激情| 一区二区三区四区av| 欧美国产综合一区二区| 久久蜜臀中文字幕| 精品久久国产字幕高潮| 欧美一区二区免费视频| 欧美日本一道本在线视频| 在线观看欧美日本| 99国产一区二区三精品乱码| 成人在线综合网站| 国产91精品一区二区麻豆网站 | 男女男精品视频网| 亚洲成年人网站在线观看| 亚洲欧美日韩国产手机在线 | 婷婷中文字幕综合| 亚洲自拍偷拍网站| 亚洲影院在线观看| 亚洲最新在线观看| 亚洲另类春色国产| 亚洲自拍偷拍麻豆| 午夜影院久久久| 日日噜噜夜夜狠狠视频欧美人| 亚洲小说春色综合另类电影| 亚洲永久精品国产| 日韩国产精品久久久久久亚洲| 夜夜爽夜夜爽精品视频| 五月天视频一区| 日韩中文字幕不卡| 黄色资源网久久资源365| 国产一区二区三区av电影 | 又紧又大又爽精品一区二区| 伊人夜夜躁av伊人久久| 亚洲国产精品久久人人爱| 午夜不卡av免费| 麻豆成人综合网| 国产精品一区二区久久不卡| 国产精品中文字幕一区二区三区| 国产成人综合视频| 一道本成人在线| 91精品国产福利| 国产亚洲精品超碰| 亚洲综合激情网| 国产一区二区三区高清播放| 成人av片在线观看| 欧美三级乱人伦电影| 日韩三级精品电影久久久| 久久久九九九九| 一区二区三区日韩在线观看| 天天综合天天做天天综合| 国产在线视频精品一区| 色域天天综合网| 日韩视频在线观看一区二区| 中文字幕av不卡| 亚洲成av人片在线| 成人午夜又粗又硬又大| 欧美日韩一级视频| 久久精品在线观看| 亚洲午夜av在线| 国产精品一区2区| 欧美性色aⅴ视频一区日韩精品| 日韩一级视频免费观看在线| 国产欧美综合在线| 日本欧美一区二区三区| 91香蕉视频污在线| 国产亚洲欧美日韩在线一区| 亚洲va欧美va人人爽午夜| 国产精品综合av一区二区国产馆|