省時利器:代碼美化與格式化工具
導讀:有統計表明縮進良好的代碼可以提高代碼閱讀效率 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),甚至可以準確地處理雜亂的腳本,例如:所有代碼在一行中,它能夠把代碼轉換成可讀性更好的格式。設置缺省的換行而不會移除 任何額外的換行符,那樣你可以把相關的東西聚攏在一起,根據嵌套的花括弧來修正錯誤的縮進。
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;}}} ?>
轉換成
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$,有命令行的窗口兩種模式
原文:Sven Lennartz 編譯:伯樂在線 – 劉志軍