如何知道布尔返回方法的命名约定是什么? 对于某些情况,使用'is','has','should','can'在方法前面的声音确定。但我不确定。 有没有更好的方法来命名这样的方法? 例如:检查卡的验证的功能。我应该称之为isValidCard或cardValidation还是其他名称? (我在这里找不到它:https://kotlinlang.org/docs/reference/coding-conventions.html)
答案 0 :(得分:30)
关于Kotlin中属性的命名约定的东西,我知道它不适用于方法。但它有关:
从书Kotlin in Action (by Dmitry Jemerov & Svetlana Isakova) - section 2.2.1 Properties:
在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
}
Kotlin的name属性作为getter方法被公开给Java 的getName。 getter和setter命名规则有一个例外:如果是 属性名称以is开头,getter没有额外的前缀 添加并在setter名称中,替换为set。因此,来自 Java,你调用isMarried()。
答案 1 :(得分:3)
Kotlin命名样式假定您使用Java命名约定来扩展。我建议您使用this answer来解决有关Java的相同问题。
更新:他们已经发布了编码约定 http://kotlinlang.org/docs/reference/coding-conventions.html
答案 2 :(得分:0)
对于在Kotlin / Java混合项目中使用带有cond1 = pricelist[-1] == ("$0.00")
cond2 = pricelist[-2] != pricelist[-1]
if(cond1 != cond2):
print(pricelist)
,can
等前缀的属性的用户,您还可以使用@get:JvmName
使生成的Java方法对于Java客户端而言更加惯用
例如,假设您有一个这样的课程:
should
没有注释,Java客户端将被迫调用class User(
@get:JvmName("canView")
val canView: Boolean
)
,但是现在他们可以调用更加惯用的user.getCanView()
。