CodeGym /Java 博客 /随机的 /Java 编码约定。遵循哪些以及为什么
John Squirrels
第 41 级
San Francisco

Java 编码约定。遵循哪些以及为什么

已在 随机的 群组中发布
了解并遵循行业标准和最佳实践在任何领域都非常重要,尤其是在编程语言、工具、方法和技术的复杂且有时混乱的组合中。这就是为什么一个专业的 Java 程序员应该非常熟悉 Java Coding Conventions,这就是我们今天要讲的内容。 Java 编码约定。 遵循哪些以及为什么 - 1

什么是编码约定?

编码约定是针对每种特定编程语言的一组指南,其中包含有关使用该语言进行软件开发的不同方面的建议,包括编码风格、最佳实践和方法。编码约定是用这种语言编码的软件程序员应遵循的质量指南,以确保他们的代码可读,并且可以由其他人正确维护软件。编码约定通常涵盖使用该编程语言制作软件的每个基本组成部分,包括文件组织、缩进、注释、声明、语句、空格、命名约定、编程实践、编程原则、编程经验法则、架构最佳实践等.

编码约定的目的是什么?

编码约定在软件开发中发挥重要作用的原因有很多。

  • 保持统一的代码风格

遵循编码约定允许以单一统一的风格编写软件项目,这在以下几种不同的方式中是有益的。

  • 最小化软件维护成本

最重要的因素之一是使软件产品的维护和支持变得更加容易,因为通常程序的原始作者并不是支持它的人。这一点很重要,因为一个软件 80% 的生命周期成本都用于维护。

  • 提高软件可读性

软件可读性的提高是另一大好处,它还具有多重含义,例如简化新开发人员引入项目和提高开发团队成员协作的效率。

  • 加快工作

最后,正确编写和结构化的代码对于软件开发过程尽可能快地进行是必要的。

Java 编码约定

说到 Java,有两种最常见和最知名的编码约定:Oracle 的 Java 代码约定Google 的 Java Style Guide 编码约定

  • Oracle 的 Java 代码约定

Oracle 的代码约定被认为是最重要的约定,原因有很多:Oracle 的约定是官方约定,因为 Oracle 是 Java 的所有者,也是最古老的约定(本文档的最后一次修订于 4 月 20 日, 1999). Oracle 的 Java 代码约定的一些重要部分是建议在定义类、方法或变量时使用驼峰式大小写,以大写字母开头类并使用名词命名它们,同时以命令形式使用动词并开始来自方法的小写字母,依此类推。

  • Google 的 Java 风格指南

Google 的 Java 编码约定被认为很重要,因为 Google 是学习型互联网和技术公司,在开发各种 Java 应用程序方面拥有丰富的经验。另一个重要原因是谷歌的 Java 代码约定于 2018 年 5 月 22 日更新,这使得它比 Oracle 的代码约定更具相关性,尤其是在描述仅作为 Java 8 的一部分发布的 Java 相对较新的功能时2014 年,例如 lambda 和流。Google 的 Java 风格指南的作者是这样描述这个编码约定的内容的:“本文档作为 Google 对 Java 源代码编码标准的完整定义。与其他编程风格指南一样,所涵盖的问题不仅涉及格式化的美学问题,但其他类型的约定或编码标准也是如此。然而,这份文件主要关注我们普遍遵循的硬性规定,并避免给出无法明确执行的建议(无论是通过人为还是工具)。” “Google Java 风格指南在很大程度上是一个很好的参考,但它在某些主题上有点宽松。另一方面,作为一名 Java 程序员,你必须习惯使用 4 个空格来进行代码缩进等等,”软件架构师和经验丰富的 Java 程序员 David Rios 在 LinkedIn 中说道。但它对某些主题有点宽容。另一方面,作为一名 Java 程序员,你必须习惯使用 4 个空格来进行代码缩进等等,”软件架构师和经验丰富的 Java 程序员 David Rios 在 LinkedIn 中说道。但它对某些主题有点宽容。另一方面,作为一名 Java 程序员,你必须习惯使用 4 个空格来进行代码缩进等等,”软件架构师和经验丰富的 Java 程序员 David Rios 在 LinkedIn 中说道。发布了对他自己的 Google Java 风格指南的一些建议改编。

最常用的 Java 编码标准

以下是一些最常用的 Java 编码标准,可以在上述来自 Oracle 和 Google 的编码约定以及其他此类文档中找到。
  • 遵循正确的命名约定;
  • 添加评论;
  • 标识符是指Java程序中类、包、方法和变量的名称的符号名称;
  • 变量名应与其用途相关;
  • 方法的名称应与方法的功能相关;
  • 方法不应超过 50 行;
  • 在同一个类或其他类中不应有重复代码;
  • 仅在需要在其他方法中使用时才声明全局变量;
  • 仔细检查类内静态变量的创建;
  • 避免直接从其他类访问变量,而是使用 getter 和 setter 方法;
  • 所有业务逻辑都应该只在服务类中处理;
  • 所有与数据库相关的代码都应该只在 DAO 类中;
  • 使用 getter 和 setter;
  • 将实例变量声明为私有;
  • 保持变量的范围最小;
  • 为变量分配有意义的名称;
  • 查询完成时通过释放数据库连接来避免内存泄漏;
  • 尽可能多地使用 Finally 块;
  • 使用 Executor 框架进行多线程编程。
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION