加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

AS3/Flex 代码审查工具 – FlexPMD

发布时间:2020-12-15 04:28:19 所属栏目:百科 来源:网络整理
导读:FlexPMD 是什么? FlexPMD 是一款免费开源的 AS3/Flex 代码审查工具,由Adobe 发布。 FlexPMD 通过审查 AS3/Flex 目录检测常见的不良用法,例如: 未使用的代码(函数,变量,常量等) 无效代码 (滥用动态过滤器,厚重的构造器等) 过于复杂的代码 (嵌套循环,
FlexPMD 是什么?
FlexPMD 是一款免费开源的 AS3/Flex 代码审查工具,由Adobe 发布。

FlexPMD 通过审查 AS3/Flex 目录检测常见的不良用法,例如:

  • 未使用的代码(函数,变量,常量等)
  • 无效代码 (滥用动态过滤器,厚重的构造器等)
  • 过于复杂的代码 (嵌套循环,条件过多等)
  • 代码过长 (类,方法等)
  • 错误使用组件的生命周期 (commitProperties 等)

FlexPMD 使用了PMD部分机能,原理与其类似,也是通过规则定义检测内容。
截止发稿时 FlexPMD 已有 20 个规则组,包括 100 多个规则,当然你也可以自定义规则以扩展当前机能。

你可以通过以下方式调用 FlexPMD:

  • The command line
  • Maven
  • Ant
  • Automator on Mac OS X
  • Eclipse
  • TextMate on Mac OS X
  • FlashDevelop

官方站点
http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD

安装 FlexPMD 插件

  1. 打开?Eclipse
  2. 点击?Help > Install New Software… > Add…
  3. 在打开的对话框中输入以下内容,之后点击?OK?按钮
    Name:?http://opensource.adobe.com/svn/opensource/flexpmd/plugin/trunk/flex-pmd-eclipse-plugin-site
  4. 待信息显示后全选
  5. 按安装向导下一步直至完成
  6. 安装成功后你会在以下两处位置看到?FlexPMD?
    选择?Window > Preferences,在打开的对话框中
    右键?Flex?工程,打开的菜单中

下载 FlexPMD 插件所需 jar 包

  1. 从?FlexPMD 下载页下载最新的 All-in-one-bundle 类型压缩包
  2. 解压上诉文件到某一目录(我放在 C:FlexPMD 下)

生成 FlexPMD 规则配置文件
FlexPMD 有一个在线规则组创建器,你可以通过它了解、屏蔽、追加规则,之后导出这些规则到某一目录(我放在 C:FlexPMDrules 下)

配置 FlexPMD 插件

  1. 选择?Window > Preferences > FlexPMD
  2. 在打开的对话框中入力以下内容,其他默认
    FlexPMD command line installation:C:FlexPMDflex-pmd-command-line-1.2.jar
    FlexPMD custom ruleset:C:FlexPMDrulespmd_rule.xml
    FlexCPD command line installation:C:FlexPMDflex-pmd-cpd-command-line-1.2.jar
  3. 点击?OK

运行 FlexPMD
FlexPMD 已安装完成,使用很简单:

  1. 选择 Flex 工程根或工程下的目录,文件
  2. 右键?FlexPMD > Run FlexPMD

FlexPMD設定规则一览

FlexPMD是什么?
FlexPMD是一种 ActionScript 工具,类似于 JavaPMD。FlexPMD 通过审核 ActionScript 3.0 或 Flex 源目录来提高代码品质。

FlexPMD能检测出什么问题?
它可以检测出品质欠佳的代码编写方法,例如未使用的代码、过度复杂的代码、过长的代码和使用不正确的 Flex 组件生命周期。
如:
???1. 绑定规则:
??????绑定类时使用了硬编码的字符串;
??????绑定表达式过长。

???2. Cairngorm规则:
??????ModelLocator必须是不可绑定的;
??????一个Cairngorm事件的名称应在实际事件名称前包含功能区名称。

???3. 使用组件规则:
??????不要通过updateDisplayList方法添加或删除可显示的子对象;
??????不要明确的调用callLater。

???4. 表达式规则:
??????Catch语句不能为空;
??????If语句不能为空。

???5. 可维护性规则:
??????导入类的数量过多;
??????包含了硬编码的布尔值;
??????方法为空;
??????

???6. 命名规则:
??????在变量名字最后使用数字,不利于理解它的含义;
??????类名字必须以大写字母开头;
??????接口名字应该以字母I开头;
??????

???7. 实装规则:
??????存在全局绑定类;
??????在循环内部定义了变量;
??????过多的嵌套if语句;
???

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读