全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java中十个常见的违规编码最近,我给Java项目做了一次代码清理工作。经过清理后,我发现一组常见的违规代码(指不规范的代码并不表示代码错误)重复出现在代码中。因此,我把常见的这些违规编码总结成一份列表,分享给大家以帮助Java爱好者提高代码的质量和可维护性。这份列表没有依据任何规则或顺序,所有的这些都是通过代码质量工具包括CheckStyle,FindBugs和PMD检查出。一起来看下:一、Eclipse编译器提供源代码格式输入Eclipse提供自动源码格式选项,并且组织输入(删除未使用的代码)。你可以使用下面的这些快捷键进行操作。Ctrl + Shift + F源代码格式Ctrl + Shift + O组织输入并删除未使用的代码代替手动调用这两个函数,只需根据Eclipse自动格式和自动组织选项,可以随时保存文件。操作步骤,在Eclipse中进入Window - Preferences - Java - Editor - Save Actions,然后以选定的方式保存,最后检查Format source code + Organize imports。二、避免多个返回(退出点)依照你的方法,确保只有一个退出点。不要在同一个地方或多个地方使用返回。比如,下面的代码,NOT RECOMMENDED(不建议),这是因为有多个退出点(返回语句)。1. privatebooleanisEligible(intage) 2. if(age18) 3. returntrue; 4. else 5. returnfalse; 6. 7. 下面的代码有所提升,这是更高版本的。1. privatebooleanisEligible(intage) 2. booleanresult; 3. if(age18) 4. result=true; 5. else 6. result=false; 7. 8. returnresult; 9. 三、简化if-else我写了几个实用的方法作为参考,检查语句条件并且基于该条件返回值。比如,考虑到isEligible方法,正如你之前所看到的:1. privatebooleanisEligible(intage) 2. booleanresult; 3. if(age18) 4. result=true; 5. else 6. result=false; 7. 8. returnresult; 9. 整个方法以一个单一的return语句重新编写:1. privatebooleanisEligible(intage) 2. 3. returnage18; 4. 5. 四、不要给Boolean, Integer或者String创建新的实例避免给Boolean,Integer,String创建新的实例。比如,使用new Boolean(true),Boolean,valueOf(true)。修改后的语句与之前的效果基本相同,除了在性能上有所提升。五、使用大括号模块语句永远别忘了使用大括号模块语句比如if、for、while。这样做的好处是当你在修改模块级语句时减少了模糊代码并且避免引进bug的机会。不建议:1. if(age18) 2. result=true; 3. else 4. result=false;建议:1. if(age18) 2. result=true; 3. else 4. result=false; 5. 六、以final类型标记方法参数,任何时候都适用请记住,以final类型标记方法参数,任何时候都适用。这样做的好处在于当你不小心修改参数值时,编译器会给你警告,同时它还能以更好的方式优化编译器代码字节。建议:1. privatebooleanisEligible(finalintage).七、在UPPERCASE中命名public static final字段在UPPERCASE中命名public static final字段(通常也被称之为常量)。这个可以让你轻松区分常量字段和局部变量之间的不同。不建议:1. publicstaticfinalStringtestAccountNo=12345678;建议:1. publicstaticfinalStringTEST_ACCOUNT_NO=12345678;,八、组合成单一的if语句在尽可能多的情况下,把多个if语句组合成单一的if语句,比如下面的代码:1. if(age18) 2. if(voted=false) 3. /eligibletovote. 4. 5. 合并成单一的if语句:1. if(age18&!voted) 2. /eligibletovote 3. 九、Switch应该有default始终给Switch语句添加default。十、使用常量来避免重复定义相同的字符串值如果你在多个地方必须使用字符串,那么使用常量来避免重复定义拥有相同值的字符串。比如,看下面的代码:1. privatevoidsomeMethod() 2. logger.log(MyApplication+e); 3. . 4. . 5. logger.log(MyApplication+f); 6. string literal“我的应用”可以作为常量并且能在代码中使用。1. publicstaticfinalStri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 团队协作沟通标准化模板促进效率工具
- 企业资产盘点及折旧管理工具
- 科研工作质量承诺函(5篇)
- 婚恋权益个人维护承诺书5篇
- 对家乡的眷恋抒情散文(10篇)
- 创新技术成效责任承诺函6篇范文
- 《初中化学实验演示:实验室安全与操作》
- 标准化会议日程安排及参会人员管理工具
- 客户满意度调查报告分析模板顾客反馈及改进措施
- 小众赛道人才培养承诺函(7篇)
- 《热辐射》(课件)苏教版五年级科学上册
- 釜类设备安装检验记录
- 桩基工程计量与计价-预制桩(建筑工程计量与计价)
- 思想政治教育学科发展历程与现状
- 《视听语言》习题模版
- 初中英语试卷考试双向细目表
- 绿色工厂自评价报告及第三方评价报告
- 《材料分析测试技术》全套教学课件
- 2021一级消防工程师继续教育考试石油化工类答案
- 安全学原理第2版-ppt课件(完整版)
- 心理普查回访记录表(辅导员用)
评论
0/150
提交评论