【发布时间】:2012-09-07 02:59:16
【问题描述】:
我是 Java 的初学者。我现在正在使用 Eclipse。 让我感到困惑的是,我不清楚将文件放入项目、文件夹和包中的教条。如果我构建一个新类,我应该将它放入原始包中还是创建一个新包或新文件夹甚至新项目?为什么?
【问题讨论】:
标签: java eclipse naming-conventions
我是 Java 的初学者。我现在正在使用 Eclipse。 让我感到困惑的是,我不清楚将文件放入项目、文件夹和包中的教条。如果我构建一个新类,我应该将它放入原始包中还是创建一个新包或新文件夹甚至新项目?为什么?
【问题讨论】:
标签: java eclipse naming-conventions
这完全取决于您正在开发的应用程序。如果您正在开发一个包含许多模块的大型应用程序,您应该创建相互链接的不同项目。
但是你说你是初学者,所以你的问题的答案是:你应该总是把你的课程分类在不同的包中。分类完全是您的选择 - 如果您对它感到满意,您甚至可以按字母顺序分类。我通常根据它们的功能对它们进行分类,就像我的所有 Controller 类都在一个包中一样,我的 Bean 类、监听器、常量、构建器、实用程序、解析器、比较器、模型、渲染器等也是如此。
This Java Practices article 会很有帮助。
【讨论】:
我强烈建议您遵循 Maven 的结构约定:http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html 它们是多年经验的结晶。
但是,设计这样的结构始终是可扩展性和简单性之间的折衷问题。您预见得越多,维护起来就越复杂,但如果它快速增长,您将获得更多回报。
要务实,即使我也不太相信(因为我的工作是预测;)),试试 KISS 哲学:http://en.wikipedia.org/wiki/KISS_principle。
正如 Amandeep Jiddewar 所说,包必须代表它们自己的功能。 至少,它们必须是反向域,例如:http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html。例如,stackoverflow API 应该是:com.stackoverflow.*
也许,他们第一次将其潜入 MVC 模式
等等……
当项目成熟...或增长过多时,他们将其拆分为表示层的战争和服务层的 jar...
没有具体的规则。正如我所说,你将永远不得不处理妥协。只有经验才能让您知道何时更改配置。
查看 Stack Overflow 以获得更多想法:naming-conventions
【讨论】: