普通工程师堆积代码,优秀工程师优雅编码,优秀工程师简化代码。 如何编写优雅、干净、易于理解的代码是一门科学,也是软件工程实践的重要组成部分。 ——来自网络

近日,一名程序员在News上抱怨自己的工作,引发热议。

代码整洁之道_整洁代码之道_代码整洁之道总结

这位工程师的核心痛点是,经过长时间的产品线迭代,代码极其庞大,逻辑复杂,整个代码充满了神秘的宏命令。 每次添加新功能或者修复BUG,工程师都需要大量研究并认真开展日常工作。 而且每个版本的发布都经过了数百万次的测试,想要弥补就如同一场噩梦。

简单

事实上,代码规范和静态代码扫描工具可以帮助我们完成很多简洁的代码工作。 如:注解、命名、方法、异常、单元测试等。但不可能总结出一些简洁代码的最佳实践。 其实Java是面向对象的声音,面向对象的特点就是封装、继承、多态。 熟练使用这三个特性,了解Java的一些关键字特性和语音特性。 ,阅读JDK源码,可以写出比较简洁的代码。

简化逻辑

整洁代码之道_代码整洁之道总结_代码整洁之道

省略无意义的赋值

整洁代码之道_代码整洁之道_代码整洁之道总结

尽量减少判断

代码整洁之道_整洁代码之道_代码整洁之道总结

设置方法管理

整洁代码之道_代码整洁之道_代码整洁之道总结

巧妙利用JAVA8特性——函数式编程简化代码

JAVA8的特点是“函数式编程”,我们能用它做什么呢?

内、外循环

代码整洁之道总结_代码整洁之道_整洁代码之道

上面的代码是传统的遍历List的方式。 简而言之,主要存在以下三个缺点:

使用函数式编程可以避免上述三个问题:

方法

在Java8中,接口中的方法是可以实现的,通过关键字作为修饰符来标识,接口中实现的方法称为方法。 使用该方法,当接口发生变化时,实现类不需要改变,所有子类都会继承该方法。

代码整洁之道_代码整洁之道总结_整洁代码之道

当一个接口扩展另一个包含默认方法的接口时,有三种方法可以处理。

日期处理

Java 8已经添加了and接口,为什么要创建一套新的API来处理日期和时间呢? 因为旧的 java.util.Date 太难用了。

当然,您只能包含日期和时间。

新界面之所以比较好用,是因为考虑到了日期和时间的操作,经常会出现向前推或者向后推几天的情况。 与java.util.Date配合需要写很多代码,普通开发者可能写不好。

代码整洁之道总结_代码整洁之道_整洁代码之道

有收藏

是集合的包装器,通常与 一起使用。 使用可以支持很多操作。 例如map、limit、count、min、max、sum等。此外,使用惰性操作时,它们实际上并不读取所有数据。 链式语法遇到()这样的方法就会结束,通过下面一系列的例子来介绍:比如我有一个类,它是一个简单的pojo。 对于这个对象,我们可能有这样一系列的计算需求。

代码整洁之道_代码整洁之道总结_整洁代码之道

显示工资低于1500的员工(使用().())

按年龄排序

将人名存储在 set 中

代码整洁之道总结_整洁代码之道_代码整洁之道

统计结果()

代码整洁之道总结_代码整洁之道_整洁代码之道

删除重复元素并创建新数组

JAVA8还引入了许多功能来简化代码。 例如.join函数、类、编码类。

字符串连接

代码整洁之道_整洁代码之道_代码整洁之道总结

种类

整洁代码之道_代码整洁之道_代码整洁之道总结

编码

代码整洁之道总结_整洁代码之道_代码整洁之道

总结

好的代码需要不断的打磨。 作为一名优秀的工程师,我们应该严格遵守这一点,让每次提交的代码都比搬出去时更好。 人们常说,作为工程师必须要有团队精神,但这种精神不是说说而已,需要体现在实际行动中。 设计模式和JDK的新特性都是我们可以借鉴的经验。 编码完成后,想想是否可以简化和优化,不要成为“邪恶”的工程师。

好了,今天的主题就讲到这里吧,不管如何,能帮到你我就很开心了,如果您觉得这篇文章写得不错,欢迎点赞和分享给身边的朋友。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注