搜尋此網誌

工商服務

2007年10月22日 星期一

程式碼排版的好工具──Artistic Style

程式專案一旦經年累月,越多人參與其中,到後來就會變得越來越難看。有的人喜歡起始的大刮號({)獨立到下一行,有的人卻喜歡接在行末寫。有的人縮排(indent)喜歡用空白鍵,有的人喜歡按Tab。

總而言之,「難看的程式碼」這種問題可大可小。在程式規模不大的時候,可能還只是覺得有點「程式碼風格不是很一致」而已。但是程式碼一長,有幾十個起始大刮號({)要對應到幾十個結束大刮號(})時,不讓看的人眼花撩亂才怪哩。

所以這個時候,你就會需要藉由程式碼排版工具的協助,來為原本雜亂的程式碼進行一番美化、消除不一致性,以方便程式後續的維護(包括閱讀與改寫)。

在此推薦一套可以安裝於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」則會以遞迴的方式處理所有子目錄。換言之,這段指令會一次處理專案內的所有程式檔案,而且不會進行備份。

更多有關參數的詳細用法,可以透過執行astyle --help取得。

連結:Artistic Style的官方網站

【2010.02.26 updated】

沒有留言:

張貼留言