Pada prinsipnya, saya setuju dengan komentar bahwa topik ini tidak berguna, karena ada alat pemformatan kode otomatis
Dan selain itu, setiap orang memiliki pendapatnya masing-masing tentang keindahan dan estetika, sehingga gaya pengkodeannya subjektif.
Tapi saya memutuskan untuk menyelesaikan seri artikel ini dengan gaya Kotlin, seperti yang dijanjikan.
Mungkin seseorang akan berguna.
Nah, tolong, di bawah potongan!
Penamaan
, , , ASCII ( + 10 )
(: _digit, power_
) (: Backing ).
.
: (: fetchDogs
) (makeRepost
)
, , :
@Test fun get_emptyList() {
// ...
}
, @Composable
(Jetpack Compose ) , , Pascal :
@Composable
fun MyDog(name: String) {
// …
}
, .
Kotlin - val
, get
, . :
(listOf(1, 2, 3)
), , const:
// const
const val FIVE = 5
val MY_DOGS = listOf("Dina", "Red")
val EMPTY_ARRAY = arrayOf()
object
( ).
, , .
, , . .
val viewModel by viewModels<DogViewModel> { viewModelFactory }
val firstName = "Anna"
val dogs = listOf(Dog("Dina"), Dog("Red"))
lateinit var binding: ListItemBinding
fun fetchDogs(page: Int): List<Dog> {
// ...
}
backing :
private val _dogs = MutableLiveData<List<Dog>>()
val dogs: LiveData<List<Dog>>
get() = _dogs
generic :
( , :
T1, T2, R1
)
generic , T (:
RequestT, ResponseT
)
, generic .
Pascal (: SleepingDog
- ).
(: MyCar
- )
. (: Cloneable, Readable, Writable
):
class MainActivity(): AppCompatActivity() {
// ...
}
interface OnItemListener {
fun onItemClick(id: Long)
}
interface Readable {}
: :
//
package com.example.android.marsRealeState.overview
//
package com.example.android.mars_reale_state.overview
// OK
package com.example.android.marsrealestate.overview
enum :
enum class NetworkStatus {
SUCCESS, FAILED, LOADING
}
: , :
enum class NetworkStatus {
SUCCESS,
FAILED,
LOADING {
override fun toString() = "loading..."
}
}
, .
, :
//
@Singleton
@Component(modules = [DatabaseModule::class])
interface AppComponent {
// ...
}
// ,
@JvmField @Volatile
var disposable: Disposable? = null
// :
@Inject lateinit var viewModelFactory: DogViewModelFactory
:
//
override fun toString(): String = "My name is $name"
//
override fun toString() = "My name is $name"
//
private val redDog: Dog = Dog("Red")
//
private val redDog = Dog("Red")
KDoc :
/**
*
*
*/
fun fetchDogs(page: Int) {
// …
}
:
/** */
:
, (
*
),
:
@constructor
,@receiver
,@param
,@property
,@return
,@throws,@see
KDoc , (: "This function returns sum of digits").
, KDoc , , , public API.
, , :
// , .
fun sum(a: Int, b: Int) = a + b
, , , .
: KDoc , .
.
, , : , , Android Studio, !
: " Android ?"
:
Kotlin ( )
-
-
-
Mendokumentasikan Kode Kotlin (dalam bahasa Inggris)
Informasi lebih lanjut di Wikipedia