Joe*_*oel 14 naming-conventions kotlin
如何知道布尔返回方法的命名约定是什么?对于某些情况,使用'is','has','should','can'在方法前面的声音确定.但我不确定.有没有更好的方法来命名这样的方法?例如:检查卡的验证的功能.我应该称之为isValidCard或cardValidation还是其他名称?(我在这里找不到它:https://kotlinlang.org/docs/reference/coding-conventions.html)
Luk*_*kas 36
关于Kotlin中属性的命名约定的东西,我知道它不适用于方法.但它有关系:
来自Kotlin in Action(由Dmitry Jemerov和Svetlana Isakova撰写) - 第2.2.1节属性:
在Kotlin中,属性是一流的语言特性,它完全取代了字段和存取方法.
清单2.5.在类中声明一个可变属性:
class Person {
val name: String, // read only property: generates a field and a trivial getter
var isMarried: Boolean // writable property: a field, getter and a setter
}
Run Code Online (Sandbox Code Playgroud)
Kotlin的name属性作为一个名为getName的getter方法暴露给Java.getter和setter命名规则有一个例外:如果属性名称以is开头,则不会添加getter的附加前缀,并且在setter名称中,is将替换为set.因此,从Java中,您调用isMarried().
Kotlin 命名风格假定您使用 Java 命名约定进行可能的扩展。我建议您将此答案用于有关 Java 的同一问题。
更新:他们已经发布了编码约定 http://kotlinlang.org/docs/reference/coding-conventions.html
对于那些使用属性前缀can
,should
在混合科特林/ Java项目等,也可以使用@get:JvmName
使生成的Java方法的Java客户端更地道。
例如,假设你有一个这样的类:
class User(
@get:JvmName("canView")
val canView: Boolean
)
Run Code Online (Sandbox Code Playgroud)
如果没有注释,Java 客户端将被迫调用user.getCanView()
,但现在他们可以调用更惯用的user.canView()
.
归档时间: |
|
查看次数: |
3878 次 |
最近记录: |