我遇到了以下约定,init.pp是尽可能小的,类似于java8模块在modules/java8/init.pp中的例子
import "*"
class java8 {
include java8::java8
}然后,modules/java8/java8.pp定义了实际的规则/实现:
class java8::java8 {
# ...
}这是一种惯例吗?是一种古老的习俗吗?这背后的理性会是什么?
发布于 2015-10-09 20:38:09
我不太熟悉那种被广泛使用的惯例,我认为它的价值有限。具体来说,它似乎是代码组织兴趣和使用兴趣之间的一种折衷:它允许在以其命名的清单文件(包括委托主类java8::java8,在modules/java8/manifests/java8.pp中)中定义每个结果类,同时为模块提供一个具有一个分段限定名(java8)的主类,这样用户就可以简单地使用
include 'java8'我认为,通过将细节委托给模块中的其他私有类,使主类保持较小的状态是很常见的,但我认为仅为(显然)命名目的而委托给另一个类没有多大价值。我还认为,在同一个模块中使用相同的非限定名(java8)的不同类可能会让人感到困惑。
https://stackoverflow.com/questions/33040099
复制相似问题