2

至于我,_root_关键字看起来很尴尬。它看起来像 Python 风格或 hack。

_root_.launch.Booster3

我想知道语言架构师能不能把它改成这样

_.launch.Booster3

或者可能像 C# 风格一样使用 global::

global::launch.Booster3

http://msdn.microsoft.com/en-us/library/cc713620.aspx

或者

root.launch.Booster3

其中“root”将被视为关键字。

4

1 回答 1

4

_是一个糟糕的选择,因为它是“任何适合”的占位符,而不是_root_任何适合的东西。

root是一个糟糕的选择,因为人们可能已经使用root过 -- 添加新关键字可能会造成很大的破坏。由于_不鼓励使用各种名称,因此选择_具有特殊含义的标识符是可以做的最安全的事情之一。

global::是一个糟糕的选择,因为global::都是独立的标识符,它们不是保留的关键字。看起来您正在尝试将全局项目添加到包含其余包名称的列表中。在 Scala 中,::是列表连接(缺点);在命名空间中找到它比找到一个完全有效但稍微不寻常的标识符(如_root_.

我同意_root_看起来很尴尬(但请注意,它应该只出现在你的包层次结构存在名称冲突的尴尬情况下)。但是这样的事情有很好的理由,现在已经完成了,需要一个非常非常有说服力的理由来改变它。

于 2013-07-11T15:34:50.713 回答