總而言之,「難看的程式碼」這種問題可大可小。在程式規模不大的時候,可能還只是覺得有點「程式碼風格不是很一致」而已。但是程式碼一長,有幾十個起始大刮號({)要對應到幾十個結束大刮號(})時,不讓看的人眼花撩亂才怪哩。
所以這個時候,你就會需要藉由程式碼排版工具的協助,來為原本雜亂的程式碼進行一番美化、消除不一致性,以方便程式後續的維護(包括閱讀與改寫)。
在此推薦一套可以安裝於Windows、Linux和Mac環境的工具,叫做Artistic Style,目前版本出到1.24(2010年1月30日釋出,截至目前為止在SourceForge上面獲得一面倒的正面評價喔),可以通吃C、C++、C#和Java語言的程式碼。以我自己使用1.23版本的經驗為例,針對C語言的專案,我會先切換到專案的根目錄底下,然後執行下列指令:
astyle -rn --style=ansi --indent=tab --indent-switches --indent-cases *.c *.h
因為Artistic Style會將舊的程式檔案備份起來,但是我覺得這樣浪費空間,所以使用參數「n」選擇不留存這些原始內容的備份檔案(這當然是有風險的,但是我選擇相信這套工具),另外參數「r」則會以遞迴的方式處理所有子目錄。換言之,這段指令會一次處理專案內的所有程式檔案,而且不會進行備份。
更多有關參數的詳細用法,可以透過執行
連結:Artistic Style的官方網站
【2010.02.26 updated】
沒有留言:
張貼留言