關於代碼註釋(一)
代碼註釋的作用,簡單的說,就是讓人能夠讀懂你的代碼。
讀懂代碼有什麽用?當你接手他人的工作時,註釋可以幫助你瞭解代碼隱含的業務邏輯。我在接手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 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);
}
转载于:https://blog.51cto.com/atip3/1094225