Соглашение о кодировании для пустых функций, которые должны быть переопределены в Kotlin
В соответствии с очень короткими соглашениями о кодировании, нет никакого ответа на оптимальный способ записи пустых функций в Kotlin.
Пример:
ani.setAnimationListener(object: Animation.AnimationListener {
override fun onAnimationRepeat(animation: Animation?) = Unit
override fun onAnimationStart(animation: Animation?) {}
override fun onAnimationEnd(animation: Animation?) =
activity.runOnUiThread { loadLists() }
})
Здесь используется только один из 3 необходимых методов AnimationListener (Android).
Какой тип пустого метода следует использовать? Одиночное выражение (fun name() = Unit
) или традиционный способ, используемый в Java (fun name() {}
)?
Мне лично нравится = Unit
-Дальше, потому что это означает способ сокращения функций до одной строки. Но {}
короче, но старше и, вероятно, более некрасиво.
И есть ли лучший / короткий способ сделать этот код?
1 ответ
Вы добавили ссылку на Coding Conventions, где, кажется, на самом деле есть ответ на ваш вопрос
Единица измерения
Если функция возвращает Unit, возвращаемый тип должен быть опущен:
fun foo () {// ": Unit" здесь опущено
}
Так что я верю
fun foo() {}
или же
fun foo() {
}
должен быть ответ