Соглашение о кодировании для пустых функций, которые должны быть переопределены в 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() {
}

должен быть ответ

Другие вопросы по тегам