【问题标题】:Doubts about package naming convention and project management in JavaJava中包命名约定和项目管理的疑惑
【发布时间】:2020-04-11 10:57:07
【问题描述】:

我对 Java 中的包命名有点困惑。

我知道建议包名以如下域名开头: com.aimforthebushes.packagename 并且存在与包命名方案相同的文件夹结构:/com/aimforthebusches/packagename

我开始使用 IntelliJ,当创建一个项目时,它默认创建几个文件夹 srcout

我有三个问题:

1.- 如果我遵循命名约定,是否意味着我必须在 src 内创建文件夹结构 com.aimforthebushes.packagename

2.- 我需要为每个项目创建相同的文件夹结构还是可以将它们都放在同一个域下?即:

  • /ProjectName/com/aimforthebushes/包名

  • /com/aimforthebusches/projectname/packagename

3.- 如果我可以将所有项目放在同一个域名下(因此是相同的文件夹结构),我该如何在 IntelliJ 上做到这一点?

提前谢谢你。

【问题讨论】:

    标签: java package project


    【解决方案1】:

    这种目录结构背后的原因是为了方便地维护更大的项目。如果您的项目不是那么大,并且您希望它不会增长到更大的大小,您可以省略这些约定(我不建议这样做),只需在您喜欢的目录中创建 Java 文件。

    您应该阅读有关 java 包和模块的更多信息。

    1. 是的
    2. 如果您有两个不同的项目,它们应该位于不同的文件夹中,因为它们是两个不同的项目。但是,如果您在一个项目中讨论不同的模块,则可以使用相同的目录。

    例如,对于单个项目,您可能具有以下目录结构,其中basicobjectsutils 是同一项目的三个不同模块。

    src
        └── org
            └── thisaru
                └── myproject
                    ├── basic
                    ├── objects
                    └── utils
    
    1. 不应该将两个项目放在同一个目录中。

    【讨论】:

    • 创建像 /ProjectName/src/com/aimforthebushes/projectname(again)/. 这样的文件夹结构是不是有点多余。一个域结构?
    • 但是想想当你有两个大项目,在同一个目录下。处理起来会很麻烦。您的构建脚本将更加复杂,如果您以外的其他人(或您,在一段时间后)将无法区分这两个项目。这是一种非常糟糕的做法。
    • 我也不懂你说的redundancy。这里有什么多余的?同名目录?
    猜你喜欢
    • 1970-01-01
    • 2019-04-26
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多