省時利器:代碼美化與格式化工具
導讀:有統計表明縮進良好的代碼可以提高代碼閱讀效率40%以上,70%開發工作是維護前任工程師所編寫的代碼,因此代碼的格式美化往往是系統重構的第一步,工欲善其事必先利其器,下面就來看看那些讓人尖叫的工具吧。
文檔齊全、易讀的源代碼是每一個合作開發項目所必備的,邏輯結構清晰的、組織良好的、格式標準的代碼能夠更快地發現 bug,精簡代碼而不失功能性,這些要求在一個協同開發的團隊里顯得尤為重要,在那樣的環境中,一個統一的源代碼展示風格更是不可或缺。事實上,你不需要手工的做任何事,不少相關的工具能為我們節省大量的時間。
需要提醒的是:收集的以下工具,作者并沒有做相關的驗證。除了格式化和美化代碼之外,部分工具甚至能把冗余的元素去除。使用它們的時候記得備份代碼,那樣隨時可以恢復數據。
Quick Highlighter 支持的語言超過85種,如:C++, PHP, Ruby, HTML, JavaScript, Perl, Python, Smarty, XML等等,它能格式化源碼以及高亮內建的關鍵字和數據類型等。
PrettyPrinter適用于 PHP, Java, C++, C, Perl, JavaScript, CSS。提供了大量格式化選項,可以按照你喜歡的方式來展示代碼。
PHP Code Beautifier旨在美化PHP代碼,它運用了大量PHP延伸及擴充程式庫(PEAR),甚至可以準確地處理雜亂的腳本,例如:所有代碼在一行中,它能夠把代碼轉換成可讀性更好的格式。設置缺省的換行而不會移除任何額外的換行符,那樣你可以把相關的東西聚攏在一起,根據嵌套的花括弧來修正錯誤的縮進。
- <?php
- if($code == BAD){$action = REWRITE;}else{$action = KEEP;}
- for($i=0; $i<10;$i++){while($j>0){$j++;doCall($i+$j);if($k){$k/=10;}}}
- ?>
轉換成
- <?php
- if ($code == BAD) {
- $action = REWRITE;
- } else {
- $action = KEEP;
- }
- for($i = 0; $i < 10;$i++) {
- while ($j > 0) {
- $j++;
- doCall($i + $j);
- if ($k) {
- $k /= 10;
- }
- }
- }
- ?>
Ruby 美化工具以命令行的形式接受文件名列表,為每一個指定的文件創建一個副本然后對源文件進行美化。如果有縮進錯誤,腳本程序會打印錯誤消息,但總會對其修改的結果進行保存。
4、 Tabifier
Tabifier 是一個代碼縮進工具,目前Tabifier支持CSS,HTML,JSON,以及C語言風格的代碼。
CSS Beautifier提供了多種選項,包括按字母排序和大寫轉換小寫等特性。
6、 CSS Formatierer und Optimierer
該工具有多種壓縮設計,你可以對選擇器、屬性進行排序,重新組合選擇器,精簡顏色、字體的粗細屬性(font-weight),摒棄無效的屬性以及添加時間戳,同時你還可以自定義模板系統用于格式化代碼。生成結果能夠當做文件輸出保存,你可以在cleancss.com找到一個與之對應的副本。
Highlight.js用于博客、論壇等任何web頁面上作為代碼示例的語法高亮工具。查找代碼塊,檢測語言,高亮處理的自動化機制讓操作者易于使用,它同樣能夠作為WordPress的插進和Firefox的擴展程序,所支持的語言有Python, Ruby, Perl, PHP, HTML, CSS, Django, JavaScript, VBScript, Delphi, Java, C++, SQL,與之類似的工具有由Google提供的 Googles Javascript Code Prettifier.
Code Beautifier Plus支持Java、C#和ActionScript
PHP Formatter可以在控制結構體后添加注釋,輸出文件高亮處理,通過內聯函數鏈接到php手冊,移除注釋和空行。它包含5種預定義的風格,同時你也可以定義自己的樣式。
一個美化PHP4和PHP5源代碼工具,能夠運行在你自己的服務器,但需要PHP5的支持。
11、 JSBeautifier
此工具能夠美化JavaScript、HTML,提高JSON/JSONP的可讀性。
商業版本
12、 Polystyle
Polystyle 能按照你自己代碼風格來自動格式化代碼,它能通過檢測你的代碼樣例來學習如何格式化,該工具支持Actionscript, ASP, C/C++, C#, CMAC, CSS, HTML, Java, Javascript, JSP, PHP, Pascal/Delphi, Perl, Python and Visual Basic.等等,價格是79$,有命令行的窗口兩種模。
原文鏈接:http://blog.jobbole.com/16979/
【編輯推薦】