我遇到了以下惯例,init.pp
尽可能少,java8
modules/java8/init.pp
模块示例如下所示
import "*"
class java8 {
include java8::java8
}
然后modules/java8/java8.pp
定义实际的规则/实现:
class java8::java8 {
# ...
}
这是一个约定,它是一个旧约定并且已弃用?这背后的理性是什么或者是什么?
答案 0 :(得分:3)
我不熟悉任何广泛使用的惯例,我认为它只有有限的价值。具体来说,它似乎是代码组织利益和使用兴趣之间的折衷:它允许每个类别的结果将在以它命名的清单文件中定义(包括委托主类java8::java8
,在{{ 1}}),同时为模块提供一个具有单段限定名称(modules/java8/manifests/java8.pp
)的主类,以便用户可以简单地
java8
我认为现在通过将主要类别委托给模块内的其他私有类来保持主要类别很小,但是我认为在委托给它时没有多少价值< em> one 其他类仅用于(显然)命名目的。我也认为在同一个模块中使用相同的非限定名称(include 'java8'
)的不同类可能会让人感到困惑。