布尔返回方法的Kotlin命名约定

时间:2017-04-10 07:20:05

标签: naming-conventions kotlin

如何知道布尔返回方法的命名约定是什么?  对于某些情况,使用'is','has','should','can'在方法前面的声音确定。但我不确定。 有没有更好的方法来命名这样的方法? 例如:检查卡的验证的功能。我应该称之为isValidCard或cardValidation还是其他名称? (我在这里找不到它:https://kotlinlang.org/docs/reference/coding-conventions.html

3 个答案:

答案 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()