【问题标题】:Do I ought to follow naming conventions for Java packages?我应该遵循 Java 包的命名约定吗?
【发布时间】:2016-12-02 18:50:42
【问题描述】:

我正在学习 Java,并在教程以及 Oracle's website、com.etc.project.program 上找到了使用的命名约定

我真的必须遵守这个约定吗?

关注和不关注的利弊是什么?

【问题讨论】:

标签: java naming-conventions packages


【解决方案1】:

还有其他 StackOverflow 页面讨论了这个 here 和 here。

但如果你没见过,让我给你一些理由和参考:

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

如果您要将代码提供给其他人,您应该使用 全局唯一的包名,根据 Java 约定 表示您应该注册并使用域名。

【讨论】:

  • 更愿意将此问题标记为重复,而不是从那里复制答案。
  • 谢谢@YoungMillie,明白了,我确实搜索了同样的问题,但没有找到正确的答案。
【解决方案2】:

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

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

一旦您开始与其他开发人员协作,遵循约定将使您和他们的工作更轻松。

而且,它们真的不难理解。

【讨论】:

    【解决方案3】:

    正如您在问题本身中所说,这只是一个“约定”

    约定是一种通常做某事的方式。

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


    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.
    

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        【解决方案5】:

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

        • 你创造更好的代码和
        • 其他人更容易理解:

        根据wikipedia:

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

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

        【讨论】:

        • 谢谢@Jordi,我不知道我是怎么想念“其他人”的。为了确保解释名称,必须有一个标准标准。
        猜你喜欢
        • 2011-05-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-20
        • 2013-01-20
        • 1970-01-01
        • 2021-02-11
        相关资源
        最近更新 更多