使用一致的代码美化工具(Pretty print program)的主要原因是使程序的结构和编码样式标准化,这样代码易于阅读和理解。

使用好的编码约定可以使源代码明白、易读、准确,更加直观且与其他语言约定保持一致。一个缩进良好的代码可以大大提高代码阅读的速度,从而降低软件维护的成本。

几种开放源代码的代码美化工具的介绍:
工具名称 适用语言 简介 安装使用
indent  c indent几乎成为代码美化工具的代名词。 indent是gcc附带的一个工具,
indent [options] [input-files]
indent [options] [single-input-file] [-o output-file]
perltidy  perl perltidy本身也是perl写的。以前写的一个使用简介。 下载后直接运行perltidy脚本
perltidy [ options ] file1 file2 file3 ...
(output goes to file1.tdy, file2.tdy, file3.tdy, ...)
perltidy [ options ] file1 -o outfile
perltidy [ options ] file1 -st >outfile
perltidy [ options ] <infile >outfile
astyle c c++ java (php) 一个速度很快的C/C++/Java源代码美化工具。
astyle比indent好在有很多成套的的风格定义:ansi java linux...不必记住复杂的缩进具体选项。
下载源代码解包后,make, 生成astyle可执行文件
astyle [options] < Original > Beautified
astyle [options] Foo.cpp Bar.cpp [...]
astyle --style=ansi *.cpp
我尝试过用它来格式化PHP程序也很有效(当然是不合HTML代码混在一起的纯PHP代码)。
pydent python pythius包含了2个工具:一个就是缩进整理
pydent: 代码缩进工具
pystat: 代码统计工具
下载源代码解包后:
Run "python setup.py build"
Run "python setup.py install"
htmltidy html/xml HTML代码的纠错工具,可以帮助你的HTML代码更好的符合W3C规范,页面中如果包含ASP PHP JSP等程序,HTMLTIDY都会尽量忽略。
HTMLTIDY也支持对XML的格式美化
使用选项:-xml
下载源代码后 make 生成tidy可执行文件:tidy: file1 file2 ...
注意:对于含有中文的页面要使用 -raw选项

tidy.exe -raw -imuq -wrap 132 -f %f.err %f
选项说明:
-raw: 不修改中文字符 (output values above 127 without conversion to entities)
-i     indend 缺省HTML按2个空格缩进
-m     覆盖原文件
-u     强制所有HTML标记大写(这个可以不加)
-wrap  页面代码宽度大于132行强制换行
-f %f.err 将错误输出到“相应文件名.err”文件中

代码的批量修改:
WIN32:
for /R %f in (*.java) do astyle --style=java --brackets=break-closing-headers %f
for /R %f in (*.jsp) do tidy -raw -imuq -wrap 132 -f %f.err %f

Linux:
find ./ -name *.java -exec astyle --style=java --brackets=break-closing-headers {} /;

HTMLTIDY的错误警告:有些无法解析的错误其实是代码不规范造成的。

  1. JAVASCRIPT中的"<"

    比如
    for (i = 1; i<m; i++)
    需要改成
    for (i = 1; i < m; i++)
    ^ ^ "<"前后需要加空格,防止把<m当成HTML标记

  2. HTML属性中包含JSP标记:

    对于一般的JSP属性输出TIDY是可以认出来的

    比如: <input  type=text  size="9" name="alias" maxlength=20  value=<%=infoForm.getAlias()%> >                                                             
    但像这样的代码:
    <img border=0 src=/image/upload/content/<%=infoForm.getId()%><%=infoForm.getPhoto()%> width=120>
    由于属性的开头不是<%,因此会出现IMG没有结尾错误

HTMLTIDY同时也支持XML的格式美化:
tidy -xml -imq web.xml
tidy -xml -imq build.xml

程序员应该是善于沟通的,代码美化的意义在于体现了开发者对他人的尊重,从而让程序员之间更好的沟通。有统计表明一个缩进良好的代码可以大大提高代码阅读的速度40%,另一个统计是软件开发工作的70%以上是维护前人的代码,因此代码美化工具的使用也是降低软件维护成本的一个途径。

以上工具只是代码格式缩进的美化,遵守完整的代码规范可以参考以下文档:

GNU Coding Standards
http://www.gnu.org/prep/standards_toc.html

Code Conventions for the Java(TM) Programming Language
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html

PHP Coding Standard
http://utvikler.start.no/code/php_coding_standard.html

perlstyle
http://www.perldoc.com/perl5.6/pod/perlstyle.html

HTML XML XHTML CSS...
http://www.w3c.org/

程序代码美化工具的使用相关推荐

  1. 程序代码传输工具:飞秋官方下载

    程序代码传输工具:与此同时我打开qq,和各地分公司的飞秋官方下载 前后台经理甚至几个平时来往熟悉的总监了解他们的运作,原来通用网址在有的分公司已经销售的如火如荼了.这一切在十分钟完成,五分钟后,我整理 ...

  2. 最近开始研究PMD(一款采用BSD协议发布的Java程序代码检查工具)

    PMD是一款采用BSD协议发布的Java程序代码检查工具.该工具可以做到检查Java代码中是否含有未使用的变量.是否含有空的抓取块.是否含有不必要的对象等.该软件功能强大,扫描效率高,是Java程序员 ...

  3. Jsbeautifier JS代码美化库

    介绍 Jsbeautifier是一款JS代码美化工具,常用地址如下 官网 http://jsbeautifier.org/ GitHub地址 https://github.com/beautify-w ...

  4. 代码规范工具-Checkstyle使用手册

    前段时间中心需要对外包的项目进行代码质量管理,所以在此对前段时间的工作做下总结. 现在很多开源工具都可以对代码进行规范审核,比较流行的有以下几款,大致给个简单介绍. PMD:是一款采用BSD协议发布的 ...

  5. java代码检查工具pmd_Java 代码检查工具 PMD

    PMD是一款采用BSD协议发布的Java程序代码检查工具.该工具可以做到检查Java代码中是否含有未使用的变量.是否含有空的抓取块.是否含有不必要的对象等.该软件功能强大,扫描效率高,是Java程序员 ...

  6. 代码高亮_微信公众号代码高亮美化工具 Markdown Nice

    微信公众号代码高亮美化工具 使用 Chrome 浏览器把右侧生成的页面直接拷贝到微信中即可. https://www.mdnice.com/ // 目录[TOC] 1. Markdown Nice 简 ...

  7. WeChat之小工具:基于C++程序代码设计的查看微信撤销、撤回消息(包括文本、图片、视频等)GUI小工具

    WeChat之小工具:基于C++程序代码设计的查看微信撤销.撤回消息(包括文本.图片.视频等)GUI小工具 导读      哈哈,千万不要给程序猿随便发信息,程序猿认真起来,别说你发的微信信息,就连你 ...

  8. php歌声美化_PHP代码在线格式化美化工具

    PHP代码在线格式化美化工具 使用该工具可有效实现PHP代码的格式化与美化功能,并且输入代码与格式化之后的代码都具有代码高亮显示效果.除格式化功能外,还提供了生成代码的`一键保存功能,非常方便实用,免 ...

  9. 代码合并工具_11个代码质量审核和管理工具,程序员必备!

    「 读者福利!2 TB 各类技术资源免费赠送 」 如今,代码质量分析和审核已成为每个企业的基本流程.随着开源代码库使用的增加,安全性和代码质量对于构建高质量软件至关重要.不良的代码不仅会影响代码的可维 ...

最新文章

  1. MySQL数据表命令
  2. AntiXSS - 支持Html同时防止XSS攻击
  3. C++的黑科技(深入探索C++对象模型)
  4. 分布式系统中一些主要的副本更新策略——Dynamo/Cassandra/Riak同时采取了主从式更新的同步+异步类型,以及任意节点更新的策略。...
  5. JavaWeb:CSS层叠样式表
  6. elementui table 不显示表头_不懂就问 || 单晶XRD第二期课后答疑出炉啦!!
  7. spring的DI/IOC机制
  8. hadoop集群的搭建(分布式安装)
  9. oracle数据库,增加序列,自增序列,规定位数,不足用0补足
  10. docker 安装镜像失败_docker(mips 64)安装中文字符集失败
  11. find命令使用及实例
  12. windows配置pip加速器
  13. 浙江大学黄杨思博计算机学院,黄杨-江南大学 理学院
  14. 关于《数据出境安全评估办法》,来看看3位行业专家的不同视角
  15. 人在当时处境中,像旋涡中的一片落叶,身不由己
  16. 用 snapper 轻松玩转 Btrfs 的快照功能
  17. cf Educational Codeforces Round 54 C. Meme Problem
  18. [停更] 微信平台上的DRL [停更]
  19. 关于ASP.Net的validateRequest=false(验证请求)
  20. VB.NET连接数据库的几种方法

热门文章

  1. NDC标准下:航企需要做些什么?
  2. struts2标签解析(一)
  3. 编译原理三大经典:龙书 虎书 鲸书
  4. 转:S3C6410中断控制详解
  5. ADUM1201和川土微电子的CA-IS3722HS数字隔离器参数对比
  6. 一夜之间小米与CDR分道扬镳,背后究竟隐藏了什么?
  7. 物联网智能家居系统概述和相关技术
  8. 巡检机器人中的指针式仪表读数识别系统
  9. 本地缓存:为什么要用本地缓存?用它会有什么问题?
  10. 我的项目部署到阿里云怎么就那么难?