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

时间:2016-07-28 11:41:55

标签: java naming-conventions packages

我正在学习Java,并且已经找到了教程中使用的命名约定以及Oracle's websitecom.etc.project.program

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

以下是否跟随它有什么利弊?

5 个答案:

答案 0 :(得分:4)

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

  • 您要创建更好的代码和
  • 其他人更容易理解:

根据wikipedia

  

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

     
      
  • 减少阅读和理解源代码所需的工作量
  •   
  • 使代码审核能够专注于更重要的问题,而不是争论语法和命名标准。
  •   
  • 启用代码质量审核工具,使其报告主要集中在语法和样式首选项以外的重要问题上。
  •   
  • 增强源代码外观(例如,禁止使用超长名称或不清楚的缩写)。
  •   

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

正如您在问题中所说的那样,它只是"惯例"

  

公约是一种通常可以完成某项工作的方式。

这只是一个惯例。如果你想跟随它,它会由你决定。 但始终建议您遵守这些惯例。

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.

答案 3 :(得分:0)

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

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

一旦您开始与其他开发人员合作,遵循这些惯例将使您和他们的工作更轻松。

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

答案 4 :(得分:0)

还有其他StackOverflow页面讨论了此herehere

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

如果您正在做个人项目,其他人都不会使用 代码,然后您可以组成您喜欢的包名称。不要弥补 以com开头的东西。或净。或其他顶级域名 但是,因为那意味着你拥有域名(即。 使用com.john作为你的包名只是因为你的名字恰好 约翰不是个好主意。)

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

相关问题