8种常见的Java不规范代码

在工作上,我最近对一个现有的Java项目代码进行了清理。完成之后,我发现了一些反复出现的不规范代码。所以,我把它们整理成了一个列表出来分享给我的同行希望能引起注意并改善代码的质量和可维护性。

这个列表不区分顺序,全部来自一些代码质量检查工具,如 CheckStyle, FindBugs 和PMD。

在Eclipse中格式化源代码并管理import语句

Eclipse提供了自动格式化源代码和管理import语句的功能(并移除未使用的语句)。你可以使用下面的快捷键来使用这些功能。

Ctrl + Shift + F – 格式化源代码。

Ctrl + Shift + O – 管理import语句并移除未使用的语句。

除了手动执行这两个功能外,你还可以让Eclipse在保存文件的时候自动格式化源代码并自动管理import语句。要做到这个,在Eclipse中,到 Window -> Preferences -> Java -> Editor -> Save Actions并启用 Perform the selected actions on save,选中 Format source code和 organize imports。

避免在方法中出现多个return语句(退出点):

在你的方法中,确保只有一个 退出点。不要在一个方法中使用多于一个return语句。

如,下面的代码是 不推荐的,因为它有多个退出点(return语句)。

简化if-else方法:

我们写了一些只要一个参数的工具方法,检查一些条件并根据条件返回一个值。如,在上面见到的 isEligible方法。

不要为Boolean,Integer或String创建新的实例:

避免创建新的Boolean,Integer,String等实例。使用Boolean.valueOf(true)代替new Boolean(true)。两种写法效果差不多但却可以改善性能。

在代码块周围使用大括号:

永远不要忘记在块类型语句(如:if,for,while)周围使用大括号。这可以减少代码歧义并且避免在你修改代码块的时候产生新的bug。

不推荐

把方法的参数声明为final类型:

总是在所有兼容的地方把把方法的参数声明为final。这样做的话,当你无意中修改了参数的值,编译时会得到警告,并且编译生成的字节码也会得到优化。

推荐

用大写命名public static final类型成员变量:

总是使用大写命名用public static final类型变量。这样可以让你很容易区分常量和本地变量。

不推荐

把多个if语句合并成一个:

下面的代码

别忘了给switch添加default语句:

总是给switch添加一个default语句。

避免 重复 使用同样的字符串,创建一个常量吧:

如果你需要在多个地方使用同一个字符串,那就创建一个字符串常量来使用吧。

下面的代码:

猿圈 (ID: CodePush )(←长按复制)

为程序员提供最优质的博文、最精彩的讨论、最实用的开发资源;提供最新最全的编程学习资料:PHP、Objective-C、Java、Swift、C/C++函数库、.NET Framework类库、J2SE API等等。并不定期奉送各种福利。

原文发布于微信公众号 - java一日一条(mjx_java)

原文发表时间:2016-02-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏思考的代码世界

Python编程从入门到实践之继承|第11天

编写类时,并非总是要从空白开始。如果你要编写的类是另一个现成类的特殊版本,可使用继承。一个类继承另一个类时,它将自动获得另一个类的所有属性和方法;原有的类称为父...

3334
来自专栏极客编程

测试利器Mocha

mocha 是一个功能丰富的javascript测试框架,可以运行在nodejs和浏览器环境,使异步测试变得简单有趣。mocha 串联运行测试,允许灵活和精确地...

1102
来自专栏Java学习网

java开发中代码级别的优化方法总结,有效提高程序性能

负载测试和应用程序监控对于确定应用程序的一些关键性能瓶颈非常有用。但同时,我们需要遵循良好的编码习惯,以避免在对应用程序进行监控的时候出现过多的性能问题。

1692
来自专栏Java架构沉思录

Redis进阶不得不了解的内存优化细节

Redis所有的数据都在内存中,而内存又是非常宝贵的资源。对于如何优化内存使用一直是Redis用户非常关注的问题。本文让我们深入到Redis细节中,学习内存优化...

5472
来自专栏黑白安全

php代码审计之弱类型引发的灾难

有人说php是世界上最好的语言,这可能是对开发人员来说,确实有这方面的特点,因为它开发起来不像其他语言那样麻烦,就比如:弱类型,它不需要像java等语言那样明确...

862
来自专栏java一日一条

8种常见的Java不规范代码

在工作上,我最近对一个现有的Java项目代码进行了清理。完成之后,我发现了一些反复出现的不规范代码。所以,我把它们整理成了一个列表出来分享给我的同行希望能引起注...

1243
来自专栏chafezhou

小说python的类型提示(type hints)

大家都知道python是一门动态类型的语言,但作者Guido van Rossum在2014年创建PEP-484添加了类型提示,在python3.5的版本中正式...

1111
来自专栏IT技术精选文摘

易犯的Java内存泄漏代码

Java隐式地通过GC(守护线程)回收内存。 GC定期检查是否存在无法访问的对象,或者确切地说,没有指向该对象的引用。如果是这样,GC回收新可用的内存。 现在...

2227
来自专栏web前端教室

复习知识点 -- JS高效拼接字符串

image.png JS拼接字符串,一种是用变量 += ,另一种是用 join。这个办法我早就知道,但一直用的不是很熟练,今天就复习一下。 第一是js的字符...

31010
来自专栏Golang语言社区

(译)Go 语言的内存、指针详解

这是一篇面向即将学习 go 语言并且对指针理念或者 go 的指针类型不是很了解的程序员的内容 什么是指针? 简单解释,指针就是指向另一段地址的值,课本上是这么解...

47514

扫码关注云+社区

领取腾讯云代金券