Kotlin的編碼風格

1. 命名風格

  • 使用(camelCase)駝峰命名法,避免使用下劃線
  • 類型以大寫字母開頭
  • 方法和屬性以小寫字母開頭
  • 使用四個空格縮進
  • 公共部分應該添加描述,會出現在Kotlin的Doc中

2. 冒號的使用

  • 當分隔類型和超類型時,冒號前面應該有一個空格
  • 當分隔實例和類型時,冒號前面沒有空格
interface Foo<out T : Any> : Bar {//第一條規則
      fun foo(a: Int): T //第二條規則
}

3. Lambda表達式

  • 大括號周圍應該使用空格(左邊大括號的左右以及右邊大括號的左邊使用空格)
  • 箭頭兩側要使用空格
  • 盡可能的讓表達式寫在括號之外(即不推薦將表達式作為參數)
list.filter { it > 10 }.map { element -> element * 2 }
  • 在沒有嵌套并且比較短的表達式中,推薦使用it作為明確的參數申明
  • 在嵌套的表達式中,參數應該總是被明確的申明

4. 類定義

  • 類只有少數參數時,可以寫成一行
    class Person(id: Int, name: String)
  • 類有很多參數時,
    1. 每一個參數應該分行并且縮進書寫。
    2. 右括號獨立一行
    3. 如果使用了繼承,那么超類的構造函數調用應該在同一行書寫
class Person(
          id: Int, 
          name: String,
          surname: String
) : Human(id, name) {
          // ...
}
4. 使用了繼承并且實現了接口的情況,應該首先調用超類的構造函數,其次再為每一個實現的接口另起一行。
class Person(
          id: Int, 
          name: String,
          surname: String
) : Human(id, name),
           KotlinMaker {
            // ...
}

5.構造函數參數可以使用常規縮進或連續縮進(雙倍的常規縮進)。

5. Unit

如果一個方法的返回值是Unit,那么Unit可以省略不寫。

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

}

6. 方法和屬性的選擇

在某些情況下,沒有參數的函數可能與只讀屬性可互換通用,雖然語義相似,但是有一些風格約束在某些情況該選擇具體的方式,以下情況中,更喜歡使用屬性而不是方法

  1. 不會拋出異常
  2. 具有O(1)的復雜性
  3. 容易計算(或者運行一次之后緩存結果)
  4. 每次調用返回同樣的結果
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,868評論 18 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,754評論 18 399
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,874評論 1 10
  • 編寫HTTP模塊 幾個重要組成部分ngx_command_t 數組對于我們在nginx.conf 中編寫的配置項 ...
    Spike_3154閱讀 2,534評論 0 1
  • 注意:你可以下載本站提供的 jar 包:mysql-connector-java-5.1.39-bin.jar(h...
    亦晴工作室閱讀 722評論 0 0