仅包含函数/扩展方法的文件是否有推荐的命名规范?

33

在Java中,很简单:类型的文件名就是类型名称加上.java后缀。

在Kotlin中,你可以编写不含类的文件。那么它们的命名规则是什么?

另外,你会如何为这些函数命名单元测试类?


我按照行为对它们进行分组,并相应地命名文件。例如,集合的扩展方法放在CollectionUtils.kt中。 - Kirill Rakhman
1
这完全是主观的。 - Jayson Minard
4个回答

28

StringExt.kt是带有String扩展函数的文件的名称。

CollectionExt.kt是用于集合扩展函数的文件名称。


20

11

关于仅包含扩展函数的文件,根据文档中的源文件组织部分,您不应创建这样的文件:

避免创建仅用于保存某个类的所有扩展的文件。

相反,您应该将扩展与它们扩展的类放在一起或者放在客户端中。我个人认为,这个指南忽略了一个非常基本的用例:对于你不拥有的类的扩展函数,且有多个客户端。还有那些依赖于你不想引入到扩展类所在模块中的类的扩展函数。

在这种情况下,最好给它们一个有意义的名称,而不是FooExt.kt(如果所有这些扩展函数都有共同的目的)。如果没有,将它们全部放在同一个文件中可能没有意义。我指的是源文件名称指南中的规定:

如果一个文件包含多个类或仅包含顶级声明,请选择描述文件内容的名称,并相应地命名文件。


1

我的做法是将所有扩展方法放入名为extensions的包中,并将这些方法放入文件中,文件名按照它们扩展的类进行命名,例如Int.ktString.kt


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接