省时利器:代码美化与格式化工具
openkk 13年前
<p> <strong>导读:</strong>有统计表明缩进良好的代码可以提高代码阅读效率 40% 以上,70% 开发工作是维护前任工程师所编写的代码,因此代码的格式美化往往是系统<a title="重构" href="http://www.amazon.cn/gp/product/B003BY6PLK/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&tag=vastwork-23&linkCode=as2&camp=536&creative=3200&creativeASIN=B003BY6PLK" rel="nofollow" target="_blank">重构</a>的第一步,工欲善其事必先利其器,下面就来看看那些让人尖叫的工具吧。</p> <p> 文档齐全、易读的源代码是每一个合作开发项目所必备的,逻辑结构清晰的、组织良好的、格式标准的代码能够更快地发现 bug,精简代码而不失功能性,这些要求在一个协同开发的团队里显得尤为重要,在那样的环境中,一个统一的源代码展示风格更是不可或缺。事实上,你不需要 手工的做任何事,不少相关的工具能为我们节省大量的时间。</p> <p> 需要提醒的是:收集的以下工具,作者并没有做相关的验证。除了格式化和美化代码之外,部分工具甚至能把冗余的元素去除。使用它们的时候记得备份代码,那样随时可以恢复数据。</p> <p> <strong>0、 <a href="/misc/goto?guid=4958340075946222920" rel="nofollow" target="_blank">Quick Highlighter</a></strong></p> <p> Quick Highlighter 支持的语言超过 85 种,如:C++, PHP, Ruby, HTML, JavaScript, Perl, Python, Smarty, XML 等等,它能格式化源码以及高亮内建的关键字和数据类型等。</p> <p style="text-align:center;"><a href="/misc/goto?guid=4958340075946222920" rel="nofollow" target="_blank"><img title="timer-saver0" alt="省时利器:代码美化与格式化工具" src="https://simg.open-open.com/show/a5ed022161ff1db794a41b334038c6ee.gif" width="450" height="277" /></a></p> <p> <strong>1、 <a href="/misc/goto?guid=4958340077499118082" rel="nofollow" target="_blank">PrettyPrinter</a></strong></p> <p> PrettyPrinter 适用于 PHP, Java, C++, C, Perl, JavaScript, CSS。提供了大量格式化选项,可以按照你喜欢的方式来展示代码。</p> <p align="center"><a href="/misc/goto?guid=4958340077499118082" rel="nofollow" target="_blank"><img title="timer-saver1" alt="省时利器:代码美化与格式化工具" src="https://simg.open-open.com/show/19a7874f8bb0955d10abad589baa7748.gif" width="379" height="449" /></a></p> <p> <strong>2、 <a href="/misc/goto?guid=4958340079024677398" rel="nofollow" target="_blank">PHP Code Beautifier</a></strong></p> <p> PHP Code Beautifier 旨在美化 PHP 代码,它运用了大量 PHP 延伸及扩充程式库(PEAR),甚至可以准确地处理杂乱的脚本,例如:所有代码在一行中,它能够把代码转换成可读性更好的格式。设置缺省的换行而不会移除 任何额外的换行符,那样你可以把相关的东西聚拢在一起,根据嵌套的花括弧来修正错误的缩进。</p> <div class="cnblogs_code"> <pre> <!--?php <span style="color:#0000ff;"-->if(<span style="color:#800080;">$code</span> == BAD){<span style="color:#800080;">$action</span> = REWRITE;}<span style="color:#0000ff;">else</span>{<span style="color:#800080;">$action</span> = KEEP;} <span style="color:#0000ff;">for</span>(<span style="color:#800080;">$i</span>=0; <span style="color:#800080;">$i</span><10;<span style="color:#800080;">$i</span>++){<span style="color:#0000ff;">while</span>(<span style="color:#800080;">$j</span>>0){<span style="color:#800080;">$j</span>++;doCall (<span style="color:#800080;">$i</span>+<span style="color:#800080;">$j</span>);<span style="color:#0000ff;">if</span>(<span style="color:#800080;">$k</span>){<span style="color:#800080;">$k</span>/=10;}}} ?></pre> </div> <p> 转换成</p> <div class="cnblogs_code"> <pre> <!--?php<span style="color:#0000ff;"-->if (<span style="color:#800080;">$code</span> == BAD) { <span style="color:#800080;">$action</span> = REWRITE; } <span style="color:#0000ff;">else</span> { <span style="color:#800080;">$action</span> = KEEP; }<span style="color:#0000ff;">for</span>(<span style="color:#800080;">$i</span> = 0; <span style="color:#800080;">$i</span> < 10;<span style="color:#800080;">$i</span>++) { <span style="color:#0000ff;">while</span> (<span style="color:#800080;">$j</span> > 0) { <span style="color:#800080;">$j</span>++; doCall (<span style="color:#800080;">$i</span> + <span style="color:#800080;">$j</span>); <span style="color:#0000ff;">if</span> (<span style="color:#800080;">$k</span>) { <span style="color:#800080;">$k</span> /= 10; } } } ?></pre> </div> <p> <strong>3、 <a href="/misc/goto?guid=4958340079811650792" rel="nofollow" target="_blank">Ruby Script Beautifier</a></strong></p> <p> Ruby 美化工具以命令行的形式接受文件名列表,为每一个指定的文件创建一个副本然后对源文件进行美化。如果有缩进错误,脚本程序会打印错误消息,但总会对其修改的结果进行保存。</p> <p> <strong>4、 <a href="/misc/goto?guid=4958340080600423035" rel="nofollow" target="_blank">Tabifier</a></strong></p> <p> Tabifier 是一个代码缩进工具,目前 Tabifier 支持 CSS,HTML,JSON,以及C语言风格的代码。</p> <p style="text-align:center;"><a href="/misc/goto?guid=4958340080600423035" rel="nofollow" target="_blank"><img title="timer-saver2" alt="省时利器:代码美化与格式化工具" src="https://simg.open-open.com/show/5f607fff7136d77e3595260f8a603679.gif" width="450" height="311" /></a></p> <p> <strong>5、 <a href="/misc/goto?guid=4958340082137749928" rel="nofollow" target="_blank">CSS Beautifier</a></strong></p> <p> CSS Beautifier 提供了多种选项,包括按字母排序和大写转换小写等特性。</p> <p style="text-align:center;"><a href="/misc/goto?guid=4958340082137749928" rel="nofollow" target="_blank"><img title="timer-saver3" alt="省时利器:代码美化与格式化工具" src="https://simg.open-open.com/show/db68a8482e29bc4102a18d6735e124e8.jpg" width="611" height="529" /></a></p> <p align="center"><strong>6、 <a href="/misc/goto?guid=4958340083669584172" rel="nofollow" target="_blank">CSS Formatierer und Optimierer</a></strong></p> <p align="center">该工具有多种压缩设计,你可以对选择器、属性进行排序,重新组合选择器,精简颜色、字体的粗细属性(font-weight),摒弃无效的属性以及添加时间戳,同时你还可以自定义模板系统用于格式化代码。生成结果能够当做文件输出保存,你可以在 <a href="/misc/goto?guid=4958340084465489588" rel="nofollow" target="_blank">cleancss.com</a> 找到一个与之对应的副本。</p> <p align="center"><a href="/misc/goto?guid=4958340083669584172" rel="nofollow" target="_blank"><img title="timer-saver4" alt="省时利器:代码美化与格式化工具" src="https://simg.open-open.com/show/02978a2c588378c7335470224beb1763.gif" width="450" height="400" /></a></p> <p><strong>7、<a href="/misc/goto?guid=4958340086004568298" rel="nofollow" target="_blank">Highlight.js</a></strong></p> <p> Highlight.js 用于博客、论坛等任何 web 页面上作为代码示例的语法高亮工具。查找代码块,检测语言,高亮处理的自动化机制让操作者易于使用,它同样能够作为 WordPress 的插进和 Firefox 的扩展程序,所支持的语言有 Python, Ruby, Perl, PHP, HTML, CSS, Django, JavaScript, VBScript, Delphi, Java, C++, SQL,与之类似的工具有由 Google 提供的 <a href="/misc/goto?guid=4958340086801329244" rel="nofollow" target="_blank">Googles Javascript Code Prettifier</a>.</p> <p align="center"><a href="/misc/goto?guid=4958340086004568298" rel="nofollow" target="_blank"><img title="timer-saver5" alt="省时利器:代码美化与格式化工具" src="https://simg.open-open.com/show/df4fe742e2c34edb7e12250f2ef73e0a.jpg" width="270" height="290" /></a></p> <p><a href="/misc/goto?guid=4958340086004568298" rel="nofollow" target="_blank"><img title="timer-saver6" alt="省时利器:代码美化与格式化工具" src="https://simg.open-open.com/show/eeaad13f3cb581eb194ebbbaf30abb13.gif" width="363" height="131" /></a></p> <p> <strong>8、<a href="/misc/goto?guid=4958340089051679541" rel="nofollow" target="_blank">Code Beautifier Plus</a></strong></p> <p> Code Beautifier Plus 支持 Java、C#和 ActionScript<a title="iphone-ipad-webmaster-apps" rel="lightbox[16979]"><img title="iphone-ipad-webmaster-apps" alt="省时利器:代码美化与格式化工具" src="https://simg.open-open.com/show/efd9a94b4327d1803a9aa87727b9da94.jpg" width="150" height="150" /></a></p> <p align="center"><a title="timer-saver7" rel="lightbox[16979]"><img title="timer-saver7" alt="省时利器:代码美化与格式化工具" src="https://simg.open-open.com/show/2f38b247afcc06b4cdc9e3bc9ea22d0b.gif" width="399" height="420" /></a></p> <p> <strong>9、 <a href="/misc/goto?guid=4958340089845686738" rel="nofollow" target="_blank">PHP Formatter</a></strong></p> <p> PHP Formatter 可以在控制结构体后添加注释,输出文件高亮处理,通过内联函数链接到 php 手册,移除注释和空行。它包含 5 种预定义的风格,同时你也可以定义自己的样式。</p> <p style="text-align:center;"><a href="/misc/goto?guid=4958340089845686738" rel="nofollow" target="_blank"><img title="timer-saver8" alt="省时利器:代码美化与格式化工具" src="https://simg.open-open.com/show/51b4b0b6c058d35e5f1368f4363f4659.gif" width="324" height="155" /></a></p> <p> <strong>10、<a href="/misc/goto?guid=4958340091369903292" rel="nofollow" target="_blank">PHP_Beautifier </a></strong></p> <p> 一个美化 PHP4 和 PHP5 源代码工具,能够运行在你自己的服务器,但需要 PHP5 的支持。</p> <p> <strong>11、 <a href="/misc/goto?guid=4958198300736933581" rel="nofollow" target="_blank">JSBeautifier</a></strong></p> <p> 此工具能够美化 JavaScript、HTML,提高 JSON/JSONP 的可读性。</p> <p> <strong>商业版本</strong></p> <p> <strong>12、 <a href="/misc/goto?guid=4958340092894288895" rel="nofollow" target="_blank">Polystyle</a></strong></p> <p> Polystyle 能按照你自己代码风格来自动格式化代码,它能通过检测你的代码样例来学习如何格式化,该工具支持 Actionscript, ASP, C/C++, C#, CMAC, CSS, HTML, Java, Javascript, JSP, PHP, Pascal/Delphi, Perl, Python and Visual Basic. 等等,价格是 79$,有命令行的窗口两种模式</p> <p> 原文:<a title="Posts by Sven Lennartz" href="/misc/goto?guid=4958340093699647472" rel="author nofollow" target="_blank">Sven Lennartz</a> 编译:<a href="/misc/goto?guid=4958185140659301754" target="_blank">伯乐</a>在线 – <a href="/misc/goto?guid=4958340095240890595">刘志军</a></p>