在线客服
扫描二维码
下载博学谷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 开发中20种常用类库和 API
java开发人员应该熟悉的常用的库与API::日志、JSON解析、单测、XML解析、字节码处理、数据库连接池、集合类、邮件、加密、嵌入式SQL数据库、JDBC故障诊断以及序列化等20个方面的常用类库!
12455
2019-07-24 18:27:45
Zookeeper入门学什么?
零基础入门学习Zookeeper,ZooKeeper是一种分布式协调服务,用简单的架构和API,解决了在分布式环境中协调和管理服务的难题。使用zookeeper搭建一套分布式同步锁,合实际应用揭秘现在流行的微服务架构Dubbo。
7156
2020-01-07 17:05:33
浅谈学习Java需要有哪些基础?
浅谈学习Java需要有哪些基础?对于一个没有接触过编程语言的人来说,一点学习经验都没有,突然想要学习一门Java语言来作为自己的生存技能,就会问学习Java需要具有哪些基础?该如何学习呢?
7771
2020-02-14 17:46:12
在项目中如何使用 Disruptor 做内部消息队列?
在项目中如何使用 Disruptor 做内部消息队列?工作中遇到项目使用Disruptor做消息队列 ,不是Kafka也不是rabbitmq;Disruptor有个最大的优点就是快,是开源的。其实生成者到消费者模式是很常见的,通过一些消息队列也可以轻松做到上述的效果。不同的地方在于,Disruptor 是在内存中以队列的方式去实现的,而且是无锁的。
7757
2022-04-29 14:03:28
什么样的人适合学习Java?
“我适不适合学Java?”,想必你多少能够基于个人基础,性格,行业及未来目标等各方面对自己做出一个评估了。 这篇文章就几个大多Java初学者都会遇到具体困惑来说一说,供你参考。
7693
2022-10-21 18:46:05
