【CSDN 编者按】 这篇文章介绍了编写整洁的 JAVA 代码的一些原则和方法,包括遵循标准的项目结构、遵循命名规范、提高代码可读性、使用代码分析工具、编写有意义的注释和文档、保持一致和正确的代码格式、避免过多参数、编写单元测试、SOLID 原则、KISS 和 DRY 原则等 。文章还给出了一些相关的链接和资源,以及作者的个人经验和建议 。
原文链接 :https://digma.AI/blog/clean-code-java/
作者 | Digma译者 | 明明如月
责编 | 夏萌
出品 | CSDN(ID:CSDNnews)
就算是质量欠佳的代码,如果能够正常运行,问题或许不大 。然而,如果代码不整洁,这就可能给整个开发团队带来困扰—— Uncle Bob 。经过数年科技行业的磨练,特别是在软件开发领域,我深刻体会到了这样一个现实:我绝大多数时间都与不同团队紧密合作,审查他们编写的代码 。这些年与各种开发者合作的经验从本质上增进了我对整洁代码的理解和认知 。
“实际上,我们阅读代码的时间远超编写代码的时间,这比例甚至超过 10 比 1 。我们在致力于编写新代码的过程中,会不断阅读旧的代码 。……[因此,] 要使代码易于编写,首先就要使其易于阅读 。” ——摘自《代码整洁之道》 (Uncle Bob) 。
无论你是资深的软件开发人员还是新入行者,我相信你都会理解学习和继承新代码库所需付出的艰辛和努力 。你需要去理解这个代码库的代码结构、功能、编程语言、使用的库、框架和其他技术 。
当你面对一段陌生的代码,或者是你自己很久以前写的代码,你可能会感到有些难以理解 。无论你是想要修复错误、增强功能、提升性能,还是加入一个正在进行的项目,代码的整洁程度都将决定你需要投入的时间和精力 。
按照整洁的 Java 代码原则编写的代码可以为你节省大量的时间和减少挫败感 。相反,如果你正在处理混乱的代码,可能需要花费大量的时间去理解其逻辑、解读无注释的部分以及弄明白那些命名不清的变量 。
编写整洁代码的含义和好处?
整洁的代码意味着直观、易读、可测试和便于理解的代码 。它的特点还包括遵循良好的编程规范和最佳实践,提高代码的表达力、简洁度、组织性和可维护性 。此外,整洁的代码还应避免 bug 、无用的复杂性、代码异味和重复代码的问题 。
大家称呼 Robert C. Martin 为 Uncle Bob,他是整洁代码主题的权威 。无论程序员的经验如何,都可以从他关于代码整洁的书籍、文章和讲座中受益 。
他在《代码整洁之道》书中写到:
*“虽然糟糕的代码能运行,如果代码不整洁,可能会导致开发团队效率低下 。每年,由于代码质量差而损失的时间和资源是巨大的 。然而,这种情况是可以避免的 。”编写整洁的 Java 代码的重要性毋庸置疑 。以下是整洁代码带来的一些直接好处:
- 可维护性 - 整洁的代码便于维护和更新 。
- 调试 - 整洁的代码减少错误,便于隔离和修复问题 。
- 可扩展性 - 整洁的代码具有良好的模块化、可复用性,能更好地适应未来变化 。
- 协作 - 整洁的代码增进团队成员之间对代码的理解 。
- 文档 - 整洁的代码本身就足够清晰,降低了额外注释的需求 。
- 效率 - 通过消除重复和无用的复杂性,整洁的代码能够提高性能 。
- 可读性 - 整洁的代码的阅读性强,有助于降低混淆,增强可维护性 。
Java 作为一门广受欢迎的编程语言,具有成熟的特性 。许多旧版的 Java 代码库 至今仍在运行重要的商业软件和基础架构,这些项目始于十多年前,仍服务于大量用户 。
鉴于 Java 代码库的长寿的特性,编写易于后续开发人员维护的整洁 Java 代码显得至关重要 。下文列举了一些有助于编写整洁 Java 代码的最佳实践 。
1. 遵循标准的项目结构
项目结构涉及如何在项目中组织各类组件,包括 Java 源文件、测试文件、文档文件、构建文件和配置文件 。清晰的项目结构能使代码库更易理解、导航和修改 。反之,混乱的项目结构可能会在处理大型项目时造成混淆 。
虽然 Java 不强制特定的项目结构,但如 Maven 这样的构建工具为你提供了推荐的项目结构 。
src ├── main │ ├── java 应用/库源码 │ ├── resources 应用/库资源 │ ├── filters 资源过滤文件 │ └── webApp Web 应用源码 │ └── test ├── java 测试源码 ├── resources 测试资源 └── filters 测试资源过滤文件2. 严格遵循 Java 命名规范
推荐阅读
- 深入剖析MySQL执行计划:Java开发者的优化利器
- Java Spring框架下的MySQL数据访问最佳实践
- 提升Java与MySQL合作的效率:批量操作技巧分享
- Java同步与互斥的终极秘籍!
- 19个 JavaScript 单行代码技巧
- 简化Java单元测试数据
- 关于Java已死,看看国外开发者怎么说的
- 搞懂Java继承的五种用法
- Oracle 再严查 Java 许可,网友:公司已卸载 Java,重新招聘程序员开发新系统!
- 五个IntelliJ IDEA插件,高效编写代码