在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
对于刚刚入门学习Java编程语言的初学者而言,学习Java的基础语法固然重要,养成良好的编程习惯也是在一开始就需要注意的学习重点。只有在一开始建立好基础的习惯,才能在后期的Java开发中,提高自己的编码水平和效率。在这里小编整理了提高Java开发效率的十个编程好习惯供大家参考,下面一起来看看吧!

1、尽可能的编写整洁的代码
要想让其他人能够读懂你的代码,尽量使用最少的代码来完成任务。遵循DRY(Don’t repeat yourself)的原则,使用明确定义的对象和库,将任务分解成小而简单的代码段。
2、尝试使用单个例如在合适的场合
使用单例可以减轻负荷的负担,缩短加载时间。提高装载效率,但并不是所有的地方都适合一个案例。简单的说,单主要适用于以下三个方面:控制资源的使用,通过线程同步来控制资源的并发訪问;控制实例的产生,以达到节约资源的目的;控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。
3、使用CheckStyle工具规范代码。
其实任何东西我们都希望它能够“自动化”,随着编程经验的提升,大部分编程规范你已经了然于心,但是实际操作的时候,又总是忘这忘那,我们希望一个工具来帮我们自动检测我们的程序是否是符合规范,结构良好的。事实上,任何语言都是有自己的编程规范的,编程规范的制定,十分有利于代码的阅读和潜在Bug风险的降低,比如在Java中,有严格的命名规范。比如在Java中,有严格的文档规范。所以我们需要使用checkstyle插件去自动检测我们的程序是否符合规范。
4、多阅读官方文档。
不要过分依赖教程,要学会看官方文档。凡是能被做成教程的东西,往往已经过时了,最新的技术,最新发布的标准,往往没有现成的教程,你需要去认真阅读官方文档,那里的东西才是最权威的。
5、不要重复代码
尽可能杜绝重复代码,凡是需要用至少两次的代码,给它单独做一个类或函数。举个例子:当我们在Java开发中遇到同一个类中两个函数含有相同的表达式的时候,可以采用Extract Method提取重复的代码使之成为函数,两处函数同时调用提出的函数。
6、应该使用Collection.isEmpty()检测空
使用 Collection.size() 来检测空逻辑上没有问题,但是使用 Collection.isEmpty()使得代码更易读,并且可以获得更好的性能。任何 Collection.isEmpty() 实现的时间复杂度都是 O(1) ,但是某些 Collection.size() 实现的时间复杂度可能是 O(n) 。
正例:
if (collection.isEmpty()) {
...
}
如果需要还需要检测 null ,可采用CollectionUtils.isEmpty(collection)和CollectionUtils.isNotEmpty(collection)。
7、集合初始化尽量指定大小
Java 的集合类用起来十分方便,但是看源码可知,集合也是有大小限制的。每次扩容的时间复杂度很有可能是 O(n) ,所以尽量指定可预知的集合大小,能减少集合的扩容次数。
正例:
int[] arr = new int[]{1, 2, 3};
List<Integer> list = new ArrayList<>(arr.length);
for (int i : arr) {
list.add(i);
}
8、优先使用常量或确定值来调用 equals 方法。
对象的 equals 方法容易抛空指针异常,应使用常量或确定有值的对象来调用 equals 方法。当然,使用java.util.Objects.equals() 方法是最佳实践。
正例:
public void isFinished(OrderStatus status) {
return OrderStatus.FINISHED.equals(status);
}
public void isFinished(OrderStatus status) {
return Objects.equals(status, OrderStatus.FINISHED);
}
9、表达式不要多余括号
对应表达式中的多余括号,有人认为有助于代码阅读,也有人认为完全没有必要。对于一个熟悉 Java 语法的人来说,表达式中的多余括号反而会让代码显得更繁琐。
正例:
return x;
return x + 2;
int x = y * 3 + 1;
int m = n * 4 + 2;
10、最好不用使用split
最好不用使用split,除非是必须的。split因为支持正則表達式,所以效率比較低,假设是频繁的几十。几百万的调用将会耗费大量资源,假设确实需 要频繁的调用split,能够考虑使用apache的StringUtils.split(string,char),频繁split的能够缓存结果。因此,为了提高Java开发效率最好避免使用split。
以上就是提高Java开发效率的十个编程好习惯,大家都记住了吗?以上的十个编程好习可以说是,从事Java开发极其重要的经验总结。如果大家能真正养成上面的好习惯,相信就能编写出更加优雅的代码,并且提高Java的开发效率。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
详解Java开发三大体系JavaSE、JavaEE、JavaME
Java编程语言是世界上使用率最多的编程语言之一,但是你真正的了解Java语言吗?今天小编主要和大家分享一下Java开发语言中的三大体系JavaSE、JavaEE、javaME。
10786
2019-06-17 17:39:42
Java学习重点Java参数传递
众所周知,Java有两种参数传递方式,即按值传递和引用传递,而String类型比较特殊,需要单独讨论。Java参数传递只有值拷贝,没有引用传递。本文将讨论基本类型、引用类型和String类型。
6967
2019-08-02 18:56:51
0基础自学Java可行吗?
0基础自学Java可行吗?这个问题没有人可以打包票告诉你一个准确的答案,毕竟每个人的学习能力和天赋都是不一样的,但是有一点可以确定,只要找准了方向,愿意踏踏实实的努力学习,完全0基础也可以学好Java。因此对于零基础的学习者而言,要思考的不是自己行不行,而是应该怎么做。只有在摆正了学习心态的基础上,我们才能来讨论自学Java的相关问题。
5195
2020-04-17 18:55:52
Spring Cloud Alibaba微服务架构学什么?为什么要学?
为什么要学Spring Cloud Alibaba?Spring Cloud Alibaba本身也是Spring Cloud的子项目是其中的一部分。 如果使用的是第一代(eureka, hystrix, zuul),在2020之后有必要把这些组件替换掉的。在业界已经广泛使用.springcloud中有部分组件不维护了。
5946
2020-06-16 10:52:42
一文说清楚应聘Java开发工程师的基本要求
很多同学来问小谷老师,程序员之间的工资差别为什么那么大,不同等级的程序员分别需要哪些不同的技能,这篇文章小谷老师就以Java为例,讲讲其中的区别。那根据技术水平不同,Java程序员可以分为初级、中级、高级、资深等。不同级别的Java程序员,企业的要求也是有区别。
6589
2021-08-16 18:26:48
