2010年2月1日 星期一

Z08 程式碼撰寫原則與檢查規則範本

程式碼的寫法就有如作文的風格一般,如果沒有規定就會有編排迥異的結果,因此出現coding standard的建議寫法,期望有比較一致的程式寫法(Sun的coding convention網址:http://java.sun.com/docs/codeconv/)。

工作團隊在數年前引用這個建議,搭配Eclipse的自動格式化功能,如今大家都很習慣規定的寫作風格而不致相差太多。然而建議只是建議,以往僅能在看到不合規定的寫法時告知往後要調整,專案裡繁多的程式碼中有多少沒遵循寫作風格的狀況根本沒人看得到,這正是為什麼要引進檢查軟體的原因;另外基於某些特定寫法在邏輯或效能上可能有潛在問題,也希望藉由類似軟體從所有程式碼裡自動找出來。

選用Checkstyle、PMD、Findbugs這三個檢查軟體在使用上分為幾個等級:
●安裝、設定、執行
 這是使用的最基本要求,所幸這三個軟體都很容易達成。
●勾選
 每個軟體都有各自的檢查規則,檢查時會根據規則勾選與否來過濾條件。有預設的檢查規則。
●自訂
 更進階的用法,可以根據規則的撰寫方法定義特殊的檢查規則。

在討論檢查規則勾選與否的課題下,本來想直接引用預設範本或是全部打開看哪些不適用再關掉,但是考量到定義應該嚴謹,因此決定逐條審閱是否適用。檢視規則時的想法定位於“在撰寫規則提到的狀況時,是否完全不應該寫成那樣”,上週用了很多時間將Checkstyle(128條)、PMD(247條)與Findbugs(369條)的所有檢查規則共744條說明全部看過一遍,最後定義出屬於自己的檢查規則範本。

這麼多的規則看完之後,雖然只能記得大概的內容,但是對它們的認知已不再只是“可以檢查寫作風格,同時可以檢查出一些問題”,而是”精確地知道哪些可以檢查、哪些不行”。另外對於一件事情的執行與落實,產生些許的不同想法。

沒有留言:

張貼留言