【文章內(nèi)容簡介】
別注意的地方的,而不是注釋程序是怎么工作的(How),你的程序本身就應(yīng)該能說明這一問題,如果程序的邏輯過于復(fù)雜,添加一些注釋也是有必要的。例如:下面的注釋是必須的://go thru the array, note the last element is at [len1]for (i = 0。 ilen。 i++){ DoSomeThing()。}下面的注釋是多余的//this loop starts the i from 0 to len, in each step, it// does SomeThingfor (i = 0。 ilen。 i++){ DoSomeThing()。}Java 程序有兩類注釋:實(shí)現(xiàn)注釋(implementation ments)和文檔注釋(documentments)。實(shí)現(xiàn)注釋使用/*...*/和//界定的注釋。文檔注釋是Java 獨(dú)有的,并由/**...*/界定。切記,注釋要隨著程序的修改而不斷更新,一個(gè)誤導(dǎo)的(Misleading)注釋往往比沒有注釋更糟糕。另外,注釋(包括所有源代碼)建議只用ASCII字符,不要用中文或其他特殊字符,它們會極大地影響程序的可移植性。 單行注釋短注釋可以顯示在一行內(nèi),并與其后的代碼具有一樣的縮進(jìn)層級。如果一個(gè)注釋不能在一行內(nèi)寫完,就該采用多行注釋(參見多行注釋)。單行注釋之前應(yīng)該有一個(gè)空行。例如:if (condition) {/* Handle the condition. */...}或者if (condition) {//Handle the condition. ...} 多行注釋多行注釋通常用于提供對方法,數(shù)據(jù)結(jié)構(gòu)和算法的描述。多行注釋常被置于每個(gè)類和方法開始處,或者用于需要對某一實(shí)現(xiàn)細(xì)節(jié)做詳細(xì)說明時(shí)。例如:/** Here is a block ment.*/ 行末注釋極短的注釋與它們所要描述的代碼位于同一行,注釋界定符是//或者/* */,可以注釋掉整行或者一行中的一部分。例如:if (a == 2){return true。 // special case}else{return false。 /* special case */} 文檔注釋文檔注釋描述Java 的類、接口、構(gòu)造器,方法,以及字段(field)。每個(gè)文檔注釋都會被置于注釋定界符/**...*/之中,一個(gè)注釋對應(yīng)一個(gè)類、接口或成員。該注釋應(yīng)位于聲明之前,文檔注釋的第一行(/**)不需縮進(jìn),隨后的文檔注釋每行都縮進(jìn)1 格(使星號縱向?qū)R)。例如:/*** The Example class provides ...*/public class Example { /*** the field description ...*/ private int iCount = 0。/*** the method description ...* @param * @return * @throws*/ public void doSomething() { }}若你想給出有關(guān)類、接口、變量或方法的信息,而這些信息又不適合寫在文檔中,則可使用實(shí)現(xiàn)塊注釋或緊跟在聲明后面的單行注釋。例如,有關(guān)一個(gè)類實(shí)現(xiàn)的細(xì)節(jié),應(yīng)放入緊跟在類聲明后面的實(shí)現(xiàn)塊注釋中,而不是放在文檔注釋中。文檔注釋不能放在一個(gè)語句塊內(nèi)使用。 聲明變量的聲明:推薦一行聲明一個(gè)變量,因?yàn)檫@樣以利于寫注釋;盡量在聲明變量的同時(shí)進(jìn)行初始化,唯一不這么做的理由是變量的初始值依賴于某些先前發(fā)生的計(jì)算;避免聲明的局部變量覆蓋上一級聲明的變量。例如,不要在內(nèi)部代碼塊中聲明相同的變量名;只在代碼塊的開始處聲明變量,不要在首次用到該變量時(shí)才聲明。定義類的成員變量時(shí),總的定義順序是先定義靜態(tài)變量后定義實(shí)例變量,在每種類型的變量中,變量順序依次為:公共(public)變量,受保護(hù)(protected)變量,私有(private)變量。 語句if、for、do、while、case、switch、default等語句自占一行,且if、for、do、while等語句的執(zhí)行語句部分無論多少都要加括號{}。盡量減少嵌套語句的層數(shù),最好不好超過4層,如果多于4層,則應(yīng)該對函數(shù)進(jìn)行重構(gòu)。 ifelse只有if的語句:if ( condition ){ //do something }含有else的語句:if ( condition ){ //do something }else{ //do something}含有elseif的語句:if ( condition ){ //do something }else if( condition2 ){ //do something} for語句一個(gè)for 語句應(yīng)該具有如下格式:for (initialization。 condition。 update){statements。}一個(gè)空的for 語句(所有工作都在初始化,條件判斷,更新子句中完成)應(yīng)該具有如下格式:for (initialization。 condition。 update){ }當(dāng)在for 語句的初始化或更新子句中使用逗號時(shí),避免因使用三個(gè)以上變量,而導(dǎo)致復(fù)雜度提高。若需要,可以在for 循環(huán)之前(為初始化子句)或for 循環(huán)末尾(為更新子句)使用單獨(dú)的語句。 while語句一個(gè)while 語句應(yīng)該具有如下格式while (condition){statements。}一個(gè)空的while 語句應(yīng)該具有如下格式:while (condition)