代碼註釋的作用,簡單的說,就是讓人能夠讀懂你的代碼。
讀懂代碼有什麽用?當你接手他人的工作時,註釋可以幫助你瞭解代碼隱含的業務邏輯。我在接手ATIP這個系統時,看到前人寫的幾十、上百行代碼中只有一兩行註釋,真恨不得提刀躍馬去砍了那人。當你修改自己的代碼時,註釋可以讓你知道這段代碼的作用、初衷,并可以幫你分析修改這段代碼可能造成的影響。而且很多時候,當我回頭看自己三個月前寫的代碼時,常常發現自己甚至忘記了我居然寫過這段代碼!這種狀態下,讓我去解釋、修改,簡直是天方夜譚了。
當然,好的命名可以對代碼進行自解釋。這與寫註釋不衝突,而是互補。
用具體的例子來解釋,可以比較以下幾組代碼。 黃色底色 為無註釋版, 綠色底色 為有註釋版。
對比組一。generateExcel方法的註釋,很清楚的指出了兩個參數的作用。這個方法是我寫的。但是當我再次去調用它時,我常常會忘記map這個參數所代表的含義。後面的兩個參數設定方法,可以較好的通過方法和參數名進行自解釋了。
public interface GenerateExcelService {

public void generateExcel( final ExcelMap map, final String fileName)

throws SAABException;

public void setSearchCountSql(String searchCountSql);

public void setSearchPagedListSql(String searchPagedListSql);

}

public
interface GenerateExcelService {

/**

* 生成excel文件的接口。<br />

* 操作成功完成后,在參數fileName指定的位置應該產生一個excel文件。如果該位置上已經有一個文件了,那麼此次導出的數據將綴在該文件后。 <br />

* 2012年10月09日 增加了fileName参数 团长

*

* @author 团长

* @since 2012-9-26

* @throws SAABException

* @param map

*                        包含有查询条件的参数。服務將根據此參數從數據庫中查詢待導入的數據。

* @param fieName

*                        待生成的excel文件的全路徑名。需指定該文件的完整物理路徑、文件名、後綴。此處要求後綴是

*                        {@linkplain com.sinosig.atip.file.model.BLFile#FILENAME_EXTEND_XLS()

*                        .xls} 。

*/


public void generateExcel( final ExcelMap map, final String fileName)

throws SAABException;

/**

* 設置查找數據庫中數據總數的sql語句

*

* @author 團長

* @since 2012-12-3

* @return String 用於查找數據庫中數據總數的sql語句

*/


public void setSearchCountSql(String searchCountSql);

/**

* 設置查找數據庫中分頁數據的sql語句

*

* @author 團長

* @since 2012-12-3

* @param searchPagedListSql

*                        用於查找數據庫中分頁數據的sql語句

*/


public void setSearchPagedListSql(String searchPagedListSql);

}