1. 程式人生 > >Code Review之程式碼規範篇

Code Review之程式碼規範篇

 由於先前公司做了一個外國的專案,那個專案好像基於掌上電腦的一個小網站(具體的不敢問頭太多),結果我們的HTML程式碼寫的不好,
被國外的人說我們的程式碼結構不好,CSS裡屬性值老多重複等.在我看來可能當時這樣一種網站由於時間進度\專案規模等各種原因,沒有足夠的人手去把那些東西寫好.

結果後來這個單子就丟了.
頭就急了,後來就讓我負責全部開發團隊的程式碼規範的Code Review事宜.他在向其他人宣佈我的這一職責也明確說了.Code Reveiw中我主要檢查程式碼規範,至於具體其他效能上,設計上的就不是我的範疇了

但問題是:程式碼規範都是靜態的東西.怎麼執行?執行到什麼程度好呢?你比如說:幾乎所有的語言的程式碼縮排都要求4個空格,如果讓團隊每個人都做到這一點?把它們的各種開發工具編輯器的都設定一遍嗎?讓他們自己設定?如果他們重新安裝的電腦了怎麼辦?
看似程式碼縮排4個空格的這個簡單問題,執行起來確有各種可能,這裡絕對不能有教條思維,

還比如javascript,變數沒有申明前,就不要直接使用.但是你如果真的用了,也沒有關係,程式也能跑.這一點怎麼執行呢?我還要辛辛苦苦用jslint.com的工具來檢查.
程式設計師出現這種問題,只是道德問題,而不是法律問題;而頭非要反過來說是警察和小偷的問題,是法律問題.

爭論歸爭論,做還得做;

我初步的步驟如下;
 1)排程svn命令,每天增量下載所有要Reivew專案程式碼的Source Code.
2)Javascript:  jslint.com
HTML: http://validator.w3.org/
CSS: http://jigsaw.w3.org/css-validator/
JSP: PMD
Java: PMD/Checkstyle
C#: unknown
aspx: unknown

用這些工具檢查下載下來的各種型別檔案,然後形成一個Jira Issues,提交到SVN版本庫裡的相應的作者.

這個過程是蠻麻煩和蠻瑣碎的.

  1)整合這些工具,形成jira issue比較麻煩.
  2) jira issues還要跟蹤,重新下載被Review的svn程式碼,檢查,然後要向發生問題的解釋,然後讓他執行,這個比較費時,工作量無法估量

最麻煩的是頭還要我形成一個報告,列出哪些是團隊經常犯的程式碼規範問題 ?哪些人經常犯?我說這些問題你直接去看jira,他說他不看那些detail的報告,他要那些總結性的.
我的哥,這些報告如果沒有每一個平臺去自動形成,那麼就意味著我要自己手工去歸納,我歸納出來的這樣的報告有意義嗎?這樣的報告只是靜態的.這樣的工作持續會持續多長時間?
  我倒是想寫一個軟體平臺,把上面的程式碼檢查工具整合一下,自動形成jira issue,然後自動得出報告,但是這要費大量時間,而我又有其他工作.

各位,你們是如果做程式碼規範的Code Review的?