知识大全 JBuilder 2005代码审查功能体验(1)

Posted

篇首语:常识很少会把我们引入歧途。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JBuilder 2005代码审查功能体验(1)相关的知识,希望对你有一定的参考价值。

JBuilder 2005代码审查功能体验(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  代码审查作为JBuilder 强大的新特性闪亮登场 直指编码中的软肋 力争将编码中的错误或隐患扼杀于萌芽态 强力提升开发人员的编码质量     JBuilder 根据Sun的编码规范及软件开发界总结出的一套行之有效的编码习惯 对Java开发中的编码风格 声明风格 Javadoc文档注释 EJB规范 命名风格 潜在错误 编码中的画蛇添足等诸多方面进行代码审查并给出警示 以便开发人员发现这些不足和隐患予以及时更正     代码审查和语法错误检查是两个不同层次的概念 语法错误是低层次 强制性的检查 任何违反语法的程序都是无法通过编译的 也就是说可运行的程序必须是语法正确的 而代码审查是高级别 非强制性的检查 它对语法正确的程序施加了更高更严格的要求 从而提升程序的可读性 降低因变量命名 方法定义 程序逻辑的不完整性等问题而导致程序的潜在出错机率 增加程序的可维护性和健壮性     林林总总的Java编程规范 编程范式以及编程经验都致力于提升代码质量 程序性能 软件维护性等非语法方法的课题 JBuilder 代码审查即是将各种行之有效的编程规范 范式 经验施加于你的程序中 以使你的程序遵守这些业已被大量的实践证明是成功的编程准则     JBuilder 在默认的情况下设置的代码审查机制即是Sun的代码编程规范 此外还提供了大量可供选择的审查规则 你可以根据需要激活或关闭这些审查的规则     对于初学者来说 代码审查无疑是学习和工作的良师益友 JBulder 通过即时的代码审查达到了对开发人员 监督匡正 笃行扶弱 的作用 开发人员也可以通过代码审查所反馈的问题 学习有关语法之外更多的编程要求和经验      一 使用代码审查  在默认情况下 JBuilde 未激活代码审查的功能 可以通过Project >Project Properties >Code Audits调用代码审查的设置页      二 代码风格审查  往往有些程序员热衷于将Java的语法发挥到极致 以资其对Java语法精通的凭据 但在需要充分协作沟通的软件项目中 简洁明了 清晰易懂将会受到推崇 晦涩难懂的语句将会受到奚落 故大部分的软件公司的规范都对语句的精简明了提出了要求 JBuilder 代码审查可以在一定程度上帮助公司落实和贯彻这一要求      三 声明审查  成员变量和局部变量的隐藏 常常会使开发人员张冠李戴 犯一些不经意的错误 而子类隐藏父类的成员和静态变量常常是由于没有注意到父类中已经具有相同的名字而引起的 由此而生产的程序Bug由于其隐身性强 是很难被发现 JBuilder 提供几个对声明进行审查的工具      四 命名风格  良好的命名风格在遵守Java命名语法之上 对命名提出了更高的要求 良好的命名风格必须遵守Java的命名规则     五 潜在错误审查  由于流程控制语句语法的特殊性 编写程序时需要特别注意 否则将会埋下祸根 JBuilder从多个方面对这些语句进行审查      六 规避各种画蛇添足  JBuilder 代码审查功能的强大还在于能够判断多余的import包引入 不必要的强制类型转换 无用成员 多余的接口修饰符等      七 其他  在程序中 由于种种原因存在无效表达式 或者程序永远不能使用的程序段 对于这些无用的代码 JBuilder 提供的代码审查功能也能查出来 并提醒程序员      总结  JBuilder 提供了语法之上的代码审查功能 使用好代码审查功能不但可以增强程序代码的简洁性 可读性 还可以尽早发现潜在的编码错误 防患于未然     JBuilder 代码审查功能无疑是一项开创性的工作 将对程序开发产生深远的影响 也是智能开发工具的一个发展方向     使用Jbuilder 代码审查    在默认情况下 JBuilde 未激活代码审查的功能 可以通过Project >Project Properties >Code Audits调用代码审查的设置页 如图 所示    educity cn/img_ / / / jpg>  图代码审查设置    勾选Code Audits设置页中的 Enable Code Audits 激活当前工程的代码审查功能 Code Audits设置页的左边是一棵代码审查规则项的树 分为两级 第一级为审查规则项的归类 点开第一级的节点 第二级的各节点为具体的一个规则项 可以根据需要勾选可取消这些审查的规则     点击规则项 在Code Audits设置页的右边显示出了该规则的详细描述信息并提供了实例 方便开发人员学习和理解     在激活代码审查规则后 JBuilder 实时地审查编辑器中当前编写的程序文件 并在违反审查规则代码附近的控制槽上标注 违反规则代码的关键处将以一条粉红色的下划波浪线标识出来 此外在结构窗格的Warning文件夹下列出当前程序所有违反审查规则的代码 如图 所示   educity cn/img_ / / / jpg>  图结构窗格中代码审查结果汇总    审查结果项描述了代码中存在的问题的简要描述 通过这个提示和编译器控制槽上的 标识 点选审查结果项时 编辑器中相应的代码内容将以下划虚线形式显示 通过查看相应的代码 开发人员将能够快速发现问题所在 更正问题后 对应的审查警告将自动从Warning文件夹中清除     代码风格审查     switch 必须带一个default语句    根据Sun的编码规范 每个switch流程控制语句都必须带一个default分支 以保证逻辑分支的完整性 在默认情况下该审查项未激活 对应的设置项是 Coding Style 下的 switch Statement Should Include a Default Case     代码清单 所有switch必须带default分支     switch (formatType)       case :     formatStr = yyyyMMddHHmmss ;     break;    case :     formatStr = yyyy MM dd HH:mm:ss ;     break;    case :     formatStr = yyyy MM dd HH:mm:ss ;     break;    case :     formatStr = yyyy 年 MM 月 dd HH:mm:ss ;     break;    default:     formatStr = yyyy MM dd HH:mm:ss ;       如果没有第 ~ 行的default代码 代码审查将给出警告     提示     可以通过Ctrl+J 调用switch代码模板录入的switch流程控制语句代码块将带一个default分支 这样 不但加速了编码的录入效率还保证了代码块的规范性      应通过类名引用静态成员    类中所有的静态方法或变量都应该通过类名来引用 如果通过类的实例来引用这些静态的成员将影响到程序的可读性 如果通过类名来引用静态变量 将容易分辨出这些成员的静态属性 因为类静态成员变量在JVM中仅存在一份 而非每个对象实例各自一份 因此静态成员变量可以看成类的成员     代码清单 关于静态成员的引用     public class ASMO        void func()         ASMO obj = new ASMO ();     ASMO obj = new ASMO ();     obj attr = ; //应更正为ASMO attr     obj attr = ; //应更正为ASMO attr     obj oper(); //应更正为ASMO oper();     obj oper(); //应更正为ASMO oper();     this attr++; //应更正为ASMO attr++;     this oper(); //应更正为ASMO oper();           static int attr;    static void oper()             class ASMO         static int attr;     static void oper()            该审查规则对应的设置项是 Coding Style 下的 Accessing Static Members by the Descendant Class Name      避免复杂晦涩代码    往往有些程序员热衷于将Java的语法发挥到极致 以资其对Java语法精通的凭据 如果是为了练习语法 理解语法 无可厚非 但如果在需要充分协作沟通的软件项目中 简洁明了 清晰易懂将会受到推崇 晦涩难懂的语句将会受到奚落     故此 大部分的软件公司的规范都对语句的精简明了提出了要求 JBuilder 代码审查可以在一定程度上帮助公司落实和贯彻这一要求     代码清单 演示了晦涩的赋值语句及替代的写法     代码清单 复杂晦涩的赋值语句     int i = ;   int j = ;   int k = ;   int l = ;   i *= ++j;   //应更改为    //++j;   //i *= j;      k = j = ;   //应更改为    //k = ;   //j = ;      l = j += ;   //应更改为    //j += ;   //l = j;      i = j++ + ;   //应更改为    //i = j + ;   //j++;      i = (j = ) + ;   //应更改为    //j = ;   //i = j + ;      i = j++ + ;   //应更改为    //i = j + ;   //j++;      i = (j = ) + ;   //应更改为    //j = cha138/Article/program/Java/hx/201311/26373

相关参考

知识大全 JBuilder2005 Struts深度体验之改造

JBuilder2005Struts深度体验之改造  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 JBuilder2005 Struts深度体验之概述

JBuilder2005Struts深度体验之概述  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 JBuilder2005单元测试体验之测试配置

JBuilder2005单元测试体验之测试配置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在

知识大全 JBuilder X 初体验

JBuilderX初体验  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JBUILDER的版本飞

知识大全 JBuilder2005实现重构之类内部提炼

JBuilder2005实现重构之类内部提炼  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  提炼

知识大全 体验VS.NET 2005的winform新功能

体验VS.NET2005的winform新功能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  年

知识大全 JBuilder2005单元测试之JUnit框架

JBuilder2005单元测试之JUnit框架  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 JBuilder2005单元测试之创建测试固件

JBuilder2005单元测试之创建测试固件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在

知识大全 用JBuilder 2005实现重构之认识重构

用JBuilder2005实现重构之认识重构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  为什

知识大全 JBuilder2005创建开发文档之编写注释

JBuilder2005创建开发文档之编写注释  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  可