24

Kotlin 消除了 Java “每个文件一个顶级公共类”的限制,我已经学会了喜欢它。我想知道在某处讨论这个问题是否有原因,是否有一些指导方针如何处理这种新的自由?

4

2 回答 2

16

您仍然可以使用该 Java 规则作为约定,并在您的类之后命名您的文件。或者您可以开始将更多类放入单个 Kotlin 文件中,在这种情况下,我建议按照文件的用途命名。每个文件通常会包含彼此相关的类或其他顶级元素(如果它们不相关,也许它们一开始就不属于同一个文件?)。应该有一个单词或少量单词来表达单个文件中所有类的目的,这就是文件名的自然候选者。

于 2014-09-03T08:20:47.620 回答
9

Kotling.org 上,您可以找到解答您所有疑问的编码约定文档。

如果可以的话,我认为从上述页面中提取的这些部分可能对您有用:

源文件名

如果 Kotlin 文件包含单个类(可能带有相关的顶级声明),则其名称应与类的名称相同,并附加 .kt 扩展名。如果文件包含多个类,或仅包含顶级声明,请选择描述文件包含内容的名称,并相应地命名文件。使用首字母大写的驼峰驼峰(例如 ProcessDeclarations.kt)。

文件名应该描述文件中代码的作用。因此,应避免在文件名中使用“Util”等无意义的词。

和...

源文件组织

鼓励在同一个 Kotlin 源文件中放置多个声明(类、顶级函数或属性),只要这些声明在语义上彼此密切相关并且文件大小保持合理(不超过几百行)。特别是,当为一个类定义与该类的所有客户端相关的扩展函数时,请将它们放在定义该类本身的同一文件中。在定义仅对特定客户端有意义的扩展函数时,请将它们放在该客户端的代码旁边。不要仅仅为了保存“Foo 的所有扩展名”而创建文件。

有关您可能有的任何其他问题,请参阅文档。

我认为重点是选择适合您团队的编码约定。也就是说,我认为这个 Kotlin.org 约定可以被视为一种标准,我希望任何 Kotlin 开发人员都知道(如果不遵循的话),并且是任何项目的默认选择,除非有令人信服的理由改变。

于 2018-07-11T07:47:35.630 回答