最速提升Java编码技能
2018-12-10 本文已影响287人
十毛tenmao
提升编码技能最快速的方式莫过于有一位老司机在旁边手把手指导(即时反馈),但是这并不现实!不过可以使用一些辅助工具,时刻帮助我们发现编码中可能存在的问题!
Intellij IDEA
IDEA是最重要、最有效的工具,可以编码的时候实时检测代码,并给出改进意见。比如如下代码:
import java.util.ArrayList;
import java.util.List;
/**
* Hello world!
*
* @author tenmao
*/
public class App {
public static void main(String[] args) {
List<Integer> data = new ArrayList<Integer>();
for (int i = 0; i < data.size(); i++) {
System.out.println(data.get(i));
}
}
}
IDEA可以给出两处改进意见,一处是new ArrayList<Integer>()
中Integer可以去掉,另外一处是for
循环,建议使用foreach
替换。
IDEA自带检查功能
- 重复代码
- 更优秀/简洁的表达(如lambda, 方法引用,流式方法等)
- 命名错误
-
还有太多了(就不列举了),如下图
IDEA支持的检查
主动检测
菜单Analyze -> Inspect Code
,可以主动要求IDEA检测所有代码。这样就不用逐个文件的检查了。
例外
有时候项目或者公司习惯,一些IDEA的检查项是允许的(甚至是要求的),比如常见的DAO, DTO命名就不符合IDEA的命名规范(驼峰式),也可以在IDEA的弹出提示中(ALT + ENTER
),禁止某一个检查项
Findbugs
Findbugs是最经典的代码检查工具,可以帮助发现很多常见错误。比如资源没有释放、空指针、字符编码等问题。 Findbugs有一个小毛病,就是无法实时检查,而是需要手工触发。
Alibaba Java Coding Guidelines
阿里出品的代码风格及最佳实践的插件,推荐安装,效果如下图
image.png
总结
利用上面的工具,可以帮助Coder更快地掌握良好的编码习惯和技巧,几乎避免了所有低级的错误。(十毛编码超过5年了,还是非常有帮助)。
PS:另外很多大公司内部,也都会有一些内部的代码检查工具和服务,也尽可能的使用起来,以成本最低、效率最高的方式提升自己。