個人認為Let code speak for themselves這一點是非常重要的,即是讓其他人單看程式碼就能看得懂,不用問作者,不用依賴其他文件。而且寫得好且漂亮的Code也能讓人讀起來沒那麼辛苦(起碼會讓人想讀),提高生產力。
以下是我自己會使用的一些原則,盡量讓自己的程式碼能讓其他人看得懂:
1. 直接了當,沒有comment也能看得懂
最好的code是用variable和function名稱本身解釋一切,你應該做的最多就是解釋「為何要這樣做」,而不是「在做甚麼」。當然把程式碼分成一段段再用comment來大致解釋那一段的用途會更好。2. 一個屏幕顯示整個function
控制function的長度,最好在一個屏幕便能顯示function的所有(或大部分)內容如果開始感覺function的長度超出你可以一眼理解和控制的範圍,請把部分內容拆成另外一個function,並用容易理解的命名,這樣便能讓人容易掌握這個function的input和output。
3. 用scope來限制variable的影響力
很多variable的用途是非常短暫的,可以利用scope來清楚標明variable的影響力,這樣別人便能容易理解這個variable只會在某小段區域存在,不會被後面用到。 例如下面的code,nLineLen只是用來設定szLine的,所以用完便應捨棄:char* szLine = NULL; { const int nLineLen = 100; szLine = new char[nLineLen + 1]; memset(szLine, 0, nLineLen + 1); }不過要留意的是,有些語言以及比較舊的compiler會無視scope。
4. 別亂comment code
經常看見有人會把一大段code都comment掉,也許這段code只是用來debug,又或者是因為程式要求有改過所以已經不適用但又不捨得刪掉,結果讓這種commented code越來越多,影響閱讀。
如果這段code是不需要的,請無情刪了它,又或者是把舊版本放進Version Control之後再在新版本刪了它。如果因為某些原因真的不捨得移除,就起碼加上註解,解釋這段code為甚麼會被comment。