KO
|
EN
gitlite — search
Search
#javascript
#java
#android
#php
#ruby
#python
#rails
#opengl
#shaders
#cms
#scala
#search
kotlin-coding-style
★ 63
Open GitHub ↗
Kotlin coding style @ Ubie, Inc
Download README (.md)
Explore Similar Repositories
otxurls
:
Fetch known urls from AlienVault's Open Threat Exchange for given hosts
MumuMusic
:
基于Qt5的模仿网易云音乐的app
kafka-workshop
:
Materials (slides and code) for Kafka and Kafka Streams Workshops
dat-webext
:
No description available.
stanforddaily
:
The Stanford Daily website frontend is proudly powered by Expo.
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
kotlin-coding-style
?
Download (.md)
# Kotlinコーディングスタイル あくまでガイドラインです。 あなたは状況に応じて原則を破ることができますが、その判断は慎重に、そしてコメント等でその判断に至った背景や理由を語ってください。 スタイルは[ktlint](https://github.com/shyiko/ktlint)に従ってください。 ただし、人間がいくつか気をつけることがあります。 ## シンプルに保つ 重要な原則です。 難しいことはしないで、常にシンプルになるよう心がけてください。 例えば、ネストした制御構文は人類には難しすぎるコードです。 副作用の扱いも慎重に。 publicな拡張関数の導入には注意が必要です。 ## テストコードは極めて素直に テストコードでは、DRYにすることに躍起にならないでください。 同じコードを繰り返してもかまいません。 素直に、愚直に、単純に。まして何かを抽象化するメリットはほぼないでしょう。 * 処理の塊を見つけてもメソッド化する必要はないかもしれません * リテラルに名前を付ける必要はないかもしれません。何度も同じリテラルを記述しましょう ## 型を明記する 型を明記してください。 ただし、次の場合は例外です。 * ローカル変数の型 * テストコード * Single-expression functionでなく戻り値の型が`Unit`の関数 ## Single-expression function Single-expression functionは、そのシグネチャから式の開始までを同じ行に書く必要があります。 `=`や式の開始が、シグネチャの次の行から始まる場合はSingle-expression functionの使用を諦めてください。 ```kotlin // OK fun printHelloWorld(): Unit = println("Hello, world!") // OK fun newPerson( name: String, age: Int ): Person = Person( name, age ) // NG fun findUserByName(name: String): User? = userRepository.findUserByName(name) // OK fun findUserByName(name: String): User? { return userRepository.findUserByName(name) } ``` ## NotNull変換 `!!`は使わずに`requireNotNull`を使用してください。 ## lateinitは使用しない フレームワークの都合上やむを得ない場合を除き、`lateinit`は使用しないでください。 ## ブレースは省略しない 制御構文においてブレース(`{}`)は省略しないでください。 ただし、下記の場合を除きます。 * `return`, `break`, `continue`, `throw`のみを本体に含む場合 * else-if ```kotlin // OK if ( ... ) { } else if ( ... ) { } // also OK if ( ... ) { } else { if ( ... ) { } } ```