Удовлетворение очень коротким соглашениям о кодировании не дает ответа на то, как записывать пустые функции в Котлин.
Пример:
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
-Way больше, потому что это, по-видимому, означает способ сокращения функций до одной строки. Но {}
короче, но старше и, вероятно, более уродливым.
И есть ли лучший / более короткий способ для этого кода?
Вы добавили ссылку на Соглашения о кодировании, где, похоже, на самом деле есть ответ на ваш вопрос
Ед. изм
Если функция возвращает Unit, возвращаемый тип должен быть опущен:
fun foo () {// ": Unit" здесь опущено
}
Поэтому я верю
fun foo() {}
или
fun foo() { }
должен быть ответ