Kotlin编程规范

原文地址

命名样式:

<ul>
默认为Java编码规范,例如:
<li>对于名字使用驼峰式(并且避免使用下划线)
<li>类型首字母大写
<li>方法和属性首字母小写
<li>使用4空格缩进
<li>公共方法应该有文档例如Kotlin Doc中出现的那样
</ul>

冒号

当冒号隔开父类和子类时这里有空格,但是当冒号隔开实例和类型时这里没有空格。

interface Foo<out T : Any> : Bar {
   fun foo(a: Int): T 
}

Lambdas

在lambda表达式中,空格应该被使用在花括号的旁边。和分割方法体外的箭头一样。只要可能,lambda应该在括号之外传递

list.filter { it > 10 }.map { element -> element * 2 }

简洁和非嵌套的lambda。推荐使用it而不是明确的声明参数。在带参数的嵌套lambdas中,参数应该被明确声明。

Class header formatting

带参数的类能够用一句话实现

class Person(id: Int, name: String)

带有较长头的类应该被格式化成每个主要的构造函数参数独占一行。并且右括号应该独占一行。
如果我们使用继承,那么父类的构造函数和要实现的接口应该和右括号在同一行。

class Person(
 id: Int,
 name: String,
 surname: String
 ) : Human(id, name) {
 // ... 
}

对于多接口,超类构造函数应该在第一行,其他的每一个接口应该另占一行。

class Person(
 id: Int,
 name: String,
 surname: String
 ) : Human(id, name),
 KotlinMaker {
 // ... 
}

构造函数参数可以使用普通的缩进符或者两个普通的缩进符

Unit

如果一个函数返回unit,返回类型应该被忽略

fun foo() { // ": Unit" is omitted here 
}

Functions vs Properties //注:并不是很明白这段

在某些情况下无参函数和只读属性是可交换的。尽管语义相似。但是有些惯例供我们选择。
下面的情况我们应该选用一个属性
<ul>
<li>无异常抛出
<li>时间复杂度为O(1)
<li>很容易计算或者第一次执行会被缓存
<li>通过调用返回相同的结果
</ul>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android编码规范 源文件基础 文件名 源文件以其最顶层的类名来命名,大小写敏感,文件扩展名为.java。 文...
    呼呼哥阅读 991评论 0 0
  • 源文件规范 文件名:源文件名必须和它包含的顶层类名保持一致,包括大小写,并以.java作为后缀名。 文件编码:所有...
    LilacZiyun阅读 575评论 0 1
  • 作者:李旺成 时间:2016年4月3日 1. 前言 这份文档参考了 Google Java 编程风格规范和 Goo...
    diygreen阅读 40,008评论 19 224
  • Android 编码规范 1. 前言 这份文档是 Google Java Code Style 的译文,并稍有添加...
    人失忆阅读 452评论 0 3
  • 佛陀是每个浪子的家 而我决心,浪迹天涯 西天极乐是佛的追求 而我只是,渴望自由 佛只教给你参透轮回因果 却不曾让你...
    一木落水阅读 247评论 0 0