我应该遵循Java包的命名约定吗



我正在学习Java,并在教程和Oracle网站com.etc.project.program 上找到了使用的命名约定

我真的必须遵守这个惯例吗?

遵循或不遵循它的利弊是什么?

约定不是强制性的,但有助于

  • 你要创建better代码
  • 其他人更容易理解:

根据维基百科:

使用命名约定的原因(而不是允许程序员选择任何字符序列)包括以下内容:

  • 减少阅读和理解源代码所需的工作量
  • 使代码评审能够关注比争论语法和命名标准更重要的问题
  • 使代码质量审查工具能够将报告重点放在语法和样式偏好之外的重要问题上
  • 以增强源代码外观(例如,通过禁止过长的名称或不清楚的缩写)

不需要遵循任何约定,您可以编写编译器允许的所有内容。

但是,遵循一些约定将使他人(以及将来自己)更容易理解您的代码。

正如您在问题中所说,这只是"惯例"

惯例是通常做某事的一种方式。

这只是一个惯例。这取决于你是否愿意跟随它但我们始终建议您遵守这些惯例


Java中的命名约定

NAME            CONVENTION
class name      should start with uppercase letter and be a noun e.g. String, Color, Button, System, Thread etc.
interface name  should start with uppercase letter and be an adjective e.g. Runnable, Remote, ActionListener etc.
method name     should start with lowercase letter and be a verb e.g. actionPerformed(), main(), print(), println() etc.
variable name   should start with lowercase letter e.g. firstName, orderNumber etc.
package name    should be in lowercase letter e.g. java, lang, sql, util etc.
constants name  should be in uppercase letter. e.g. RED, YELLOW, MAX_PRIORITY etc.

包命名约定只是约定。你可以忽略它们,但不应该。

这些约定有助于防止命名冲突,并使您的代码更易于他人阅读。

一旦你开始与其他开发人员合作,遵循惯例会让你和他们的工作变得更容易。

而且,它们真的不难遵循。

还有其他StackOverflow页面在这里和这里讨论过这一点。

但如果你还没有看到它们,让我给你一些理由和参考:

如果你只是在做个人项目,而其他人不会使用代码,然后你可以编一个你喜欢的包名。不要化妆以com或net开头的东西。或其他顶级域不过,因为这意味着你拥有域名(即。使用com.john作为包名称,只是因为您的名称恰好做约翰不是个好主意)。

如果要将代码提供给其他人,则应使用全局唯一的包名称,根据Java惯例意味着您应该注册并使用域名。

最新更新