版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java编码规范及Jtest应用王少锋2010年3月24日2 / 43Outline编码规范的好处Jtest 简介及安装Java 编码规范Jtest 实例应用3 / 43编码规范的好处 减少错误,改进软件质量。如果代码符合规范,编译器和代码检查工具可以帮助发现潜在的bug。 减少人员之间通信工作量,提高工作效率。软件开发是团队成员协作的结果,而编码规范是程序员之间沟通的桥梁。如果每个成员遵循一致的编码风格,则可以减少沟通所需的工作量。 减轻了程序员的负担。命名规范是一种约定,减少了编码的自由度,从某种意义上可以帮助程序员不用操心一些编码细节上的选择问题。 规范外包编码工作。4 / 43 例:在
2、核心系统某次紧急版本上线后,由于开发人员使用eclipse对代码进行了格式调整,导致刷卡金额的变量多了一个空格,上线后在用户实际刷卡时出现刷卡金额变为实际金额的十分之一的严重错误。上线后当晚即有用户上报刷卡无法通过,报“刷卡金额与实际金额不符”的错误,另有机构出现了按实际金额十分之一刷卡的情况。幸运的是,当晚即有用户上报无法刷卡,运行人员、开发人员、版本更新人员重返公司进行问题处理,花费半宿时间查找问题、测试、修复系统,避免了问题拖延到第二天早上才暴露。 5 / 43Outline编码规范的好处Jtest 简介及安装Java 编码规范Jtest 实例应用6 / 43Jtest 简介 Paras
3、oft公司产品 http:/ Jtest主要用途 代码格式检查 bug检测 代码优化 代码评审 软件度量 单元测试 7 / 43Jtest安装步骤1. 安装Eclipse(或MyEclipse)2. 运行jtest_win32_eclipse_plugin_8.4.20.exe3. 点击“是”8 / 434. 点击Yes9 / 435. 点击Next10 / 436. 确定安装目录后点击Next11 / 437. 弹出对话框,确定Eclipse(或MyEclipse)的安装路径12 / 438. 确定Eclipse(或MyEclipse)已关闭,点击“确定”13 / 439. Jtest开始安
4、装 14 / 4310. Jtest安装结束,点击“确定”15 / 43Outline编码规范的好处Jtest 简介及安装Java 编码规范Jtest 实例应用16 / 43编码规范选择准则 按以下准则从Jtest中挑选编码规范:1)易于修改的,且修改后不会产生副作用的;2)能产生较大效益的;3)优先考虑和内存泄漏、优化、bug(如零除)相关的编码规范;4)属于严重级别较高的规范(3级以上);5)初期应用该规则不会产生过多报告的,以避免一次修改代码过多。17 / 43在初步使用Jtest阶段,共挑选了4条编码规范:1. Avoid unnecessary calls to String met
5、hods (避免不必要的String方法调用)2. Avoid conditions that always evaluate to the same value(避免值为常量的条件表达式)3. Avoid division by zero(避免零做除数)4. Avoid NullPointerException(避免NullPointerException异常)18 / 43导入定制的编码规范1. 打开菜单JtestTest Configurations2. 右键单击User-defined,在弹出菜单中选Import19 / 433.在弹出的对话框中选择文件DubonJavaCodingR
6、perties20 / 434. 导入成功后,在User-defined下增加了一新的配置项。21 / 43Outline编码规范的好处Jtest 简介及安装Java 编码规范Jtest 实例应用22 / 43实例 1 规则:OPT.STS 类别:OptimizationAvoid unnecessary calls to String methods 说明:避免不必要的String方法调用,如调用一个String的对象的toString()方法。 例子:23 / 4324 / 43实例 2 规则:BD.PB.CC 类别:Bug DetectivePossible B
7、ugsAvoid conditions that always evaluate to the same value 说明:避免值为常量的条件表达式 如果一个表达式总是返回常量值,则需要重新检查该表达式的正确性,很可能该表达式并不是开发人员真正要写的表达式。 例子:25 / 4326 / 43实例 3 规则:BD.PB.ZERO 类别:Bug DetectivePossible BugsAvoid division by zero 说明:避免零做除数 例子:27 / 4328 / 43实例 4 规则:BD.EXCEPT.NP 类别:Bug DetectiveExceptionsAvoid Nu
8、llPointerException 说明:避免NullPointerException异常 例子 4.129 / 4330 / 43 例子:4.231 / 4332 / 4333 / 43Jtest报告实例1 发现问题的报告样式: 针对包com.sinosoft.prpall.blsvr.statreport34 / 4335 / 43 点击Author为unknown的超链接,将显示详细的信息。36 / 4337 / 43Jtest报告实例2 未发现问题的报告样式: 针对包com.sinosoft.prpall.dbsvr.jf中的文件DBAccRushVoucher.java38 / 4
9、339 / 43Q & A1. 如何添加新的规范? 2. 如何得到最新一次的检查结果?3. Jtest能否检查.jsp文件?4. 假设有代码A.java, B.java,可以有两种方式检查代码: 1)分别对这二个文件进行检查,然后将检查结果进行合并。 2)同时对这二个文件进行检查。 这两种检查方式结果是否一致?40 / 435. 如果源代码中没有author标签,所生成检查报告中的作者名会是运行Jtest的当前用户名,如何避免这种情况? (在菜单WindowPreferencesJtestScope and Authorship中设置。)41 / 436. Jtest运行时对内存要求较高,如果一次检查文件数过多,可能运行很很慢,如何解决这个问题? (修改eclipse.ini文件中设置的虚拟机参数值,根据系统内存大小修改,如:-vmargs-Xms512m-Xmx1024m-XX:PermSize=256M-XX:MaxPermSize=512M )42 / 43练习题1. 在服务器上有项目claim, interface, platform, prpall, reins, sales, undwrt, visa的开发环境,试用Jtest及所导入的4条规范,生成相应的Jtest报告。(服务器配置环境为: Windows Server 2003 En
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新设公司审计制度汇编
- 施行科室绩效考核制度
- 景区反恐教育培训制度
- 期刊杂志社绩效考核制度
- 机关审计工作联络员制度
- 村民合作社财务规章制度
- 林业局绩效考核制度
- 校车司机教育培训制度
- 检察院教育培训制度
- 殡仪馆安全绩效考核制度
- 2023年国际脓毒症和感染性休克管理指南全文
- 计算机组成原理(本全)白中英课件
- 教科版科学五年级上册《光》单元教材解读培训PPT
- 微生物发酵制药
- 2023中移铁通春季校园招聘高频考点题库(共500题含答案解析)模拟练习试卷
- 融资服务协议合同
- 如何做好医院科主任
- GB/T 1040.2-2022塑料拉伸性能的测定第2部分:模塑和挤塑塑料的试验条件
- 行政事业单位内部控制培训 课件
- 危大工程管控清单
- 动物福利与保护课件
评论
0/150
提交评论