为什么不推荐一些Java变量命名风格?

Java有特定的命名约定-像小写名字、下划线、缩写和数字后缀这样的风格会降低代码清晰度。
On this page

为什么不推荐一些Java变量命名风格?

摘录§

一些常见的Java变量命名风格,如全小写、下划线、短名和数字后缀,并不理想,因为它们违反了惯例并降低了代码的可读性。

简介§

Java中的变量名应该具有描述性,并有助于传达变量的含义和目的。标准的Java编码约定推荐使用驼峰命名法和避免使用下划线。然而,有时你会看到变量使用全小写、下划线、缩写或数字后缀的命名风格。这些风格可能导致可读性问题,因此通常应该避免使用。

不推荐的命名风格§

以下是Java中不推荐使用的变量命名风格:

小写字母开头§

以小写字母开头的变量名违反了标准的Java命名约定。例如:

1int myVar;
2String someVariable;
java

尽管这些命名在一开始看起来可能没问题,但应该避免使用。

使用下划线§

虽然下划线在Java变量名中是有效的,但由于它们会降低可读性,所以不太推荐使用:

1int my_var;
2String some_variable;
java

阅读下划线分隔的单词时,眼睛需要稍作停顿。

简短或缩写的名称§

过于简短或缩写的名称无法传达变量的真正含义:

1int var1;
2int tmp;
java

这些名称需要参考其他代码或文档才能理解它们的用途。

带有数字后缀的名称§

使用像var1、var2、var3这样的数字后缀可能看起来很方便,但这些名称是无法区分和容易混淆的:

1String var1;
2String var2;
java

一眼看不清它们之间的区别。

这些样式存在的问题§

以上命名样式引发的一些问题:

  • 违反了Java命名约定 - 这可能会让其他Java开发人员感到困惑,并减少了标准化程度。

  • 降低了可读性 - 这些名称没有传达清晰的含义,影响了理解能力。

  • 增加了认知负荷 - 试图解析模棱两可的名称需要更多的思维努力。

  • 引发了可维护性问题 - 糟糕的命名使得代码难以在未来维护和构建。

推荐的样式§

与以上样式不同,以下是推荐遵循的命名约定:

驼峰命名法§

驼峰命名法(或lowerCamelCase)将每个单词的首字母大写:

1int studentGrade;
2String lastName;
java

在线转换文本为驼峰命名法:Convert text to camelCase

描述性名称§

使用较长的、有描述性的名称,而不是缩写:

1int studentCount;
2int maximumStudents;
java

以清晰为目标,而非简洁。

推荐样式的优势§

像驼峰命名法这样的推荐命名样式有几个优势:

  • 遵循Java标准编码约定 - 与其他Java代码更一致。

  • 提高可读性 - 第一眼就能更清晰地理解其含义。

  • 减少认知负荷 - 无需额外的思维努力即可理解。

  • 增强可维护性 - 内置的含义使得代码更易于维护。

良好和糟糕命名的示例§

以下是良好和糟糕的变量命名示例:

良好的命名

1int studentGrade;
2double totalSales;
java

糟糕的命名

1int Var1;
2int _tmp;
java

您可以使用在线的大小写转换工具来检查您的命名是否符合Java约定。

结论§

在Java中,不推荐使用下划线分隔或缩写的变量命名风格,因为它们违反命名约定并降低了代码的清晰度。相反,推荐使用驼峰命名法和更长的描述性名称。这有助于提高可读性、可维护性和遵循编码标准。遵循Java的命名最佳实践可以产生更高质量、更专业的代码。

  • All
  • English
  • 简体中文
  • Best match
  • Oldest
  • Newest
  • 2023
  • Amanda
  • Davy
  • IToolkit
  • Mia
  • 大威
  • API
  • Base64
  • Binary
  • C
  • C++
  • Checksum
  • Coding
  • Computer Science
  • CRC
  • CRC32
  • Cryptography
  • CSharp
  • CSV
  • Cyclic Codes
  • Data
  • DCOM
  • Decoding
  • Education
  • Encoding
  • Encryption
  • Functions
  • Go
  • gpt
  • Hash
  • HTML
  • Image
  • Java
  • JavaScript
  • Kotlin
  • Linux
  • Lua
  • Mac
  • MBR
  • MongoDB
  • MySQL
  • Other
  • PHP
  • Programming
  • Python
  • R
  • Redundancy
  • Rust
  • Scala
  • Security
  • SHA
  • Software
  • SQL
  • SQLServer
  • Strings
  • Swift
  • VB
  • Windows
  • Windows 7
  • Applications
  • Binary Data
  • Data Retrieval
  • Database
  • File Path
  • Image Storage
  • Language Display
  • Operating Systems
  • Srtrings
  • 编码
  • 解码