TGViewer
devmark_ru devmark_ru @devmark_ru · 224 subscribers
Post #119 256
Что важнее: выразительность синтаксиса или простота поддержки?

Kotlin и Java — два популярных JVM-языка программирования, которые используются для разработки приложений. Оба языка имеют свои преимущества и недостатки, в том числе в плане выразительности.

С одной стороны, выразительность Kotlin — это его плюс. В Kotlin есть больше вариативности в написании кода, что позволяет разработчикам выбирать наиболее подходящий стиль и паттерны для решения задачи. Это может сделать код более читаемым и понятным, а также ускорить разработку.

С другой стороны, выразительность Kotlin — это и его минус. Большая вариативность может привести к тому, что разработчики будут использовать разные стили написания кода и нужно будет принимать общие соглашения на уровне команды и затем контролировать их выполнение.

Например, в Kotlin существует короткая форма записи для сигнатуры метода, когда возвращаемый тип автоматически выводится на основе возвращаемого значения.

// эти три формы записи эквивалентны
fun getMagicValue() = 42

fun getMagicValue(): Int = 42

fun getMagicValue(): Int {
return 42
}


Первый вариант удобен для маленьких методов, но только до тех пор, пока компилятор контролирует возвращаемое значение. Если этот метод находится в спринговом контроллере и на него нет интеграционных тестов, можно случайно изменить тип возвращаемого значения и не узнать об этом.

Или другой пример. В Kotlin наряду с try-catch есть конструкция runCatching, которая также позволяет обрабатывать исключения. То есть два разных стиля обработки исключения делают одно и то же.

runCatching {
doSomething()
}.onFailure { e: Exception ->
logger.error { e }
}

// то же самое
try {
doSomething()
} catch (e: Exception) {
logger.error { e }
}


В Java, напротив, гораздо меньше гибкости, поэтому существует общепринятый стиль написания кода, который может ограничивать разработчиков, но также помогает обеспечить единообразие и совместимость кода между различными проектами.

Таким образом, выразительность Kotlin является как преимуществом, так и недостатком. Разработчикам, начинающим работать с этим языком, важно развивать зрелость и умение отличать хорошие паттерны от плохих, чтобы писать качественный и поддерживаемый код.

А как вы считаете, в крупных проектах важнее гибкость и выразительность или единообразие и простота поддержки кода?
  • 👍 6
  • 🤔 2
  • 💯 1
More from @devmark_ru
  1. Sep 7, 2026Новый этап автоматизации SDLC от Dockhost! Спустя 3 месяца после появления LLM инференса н…
  2. Jul 16, 2026OpenIDE представила свой клиент для базы данных! На днях вышла новая версия OpenIDE Pro, в…
  3. Jun 30, 2026Channel photo updated
  4. Jun 26, 2026"Товарищ Сталин, что вы курите?" В процессе "общения" с LLM вспомнился один старый номер и…
  5. Jun 15, 2026Вышел стабильный релиз Spring AI 2.0 Чуть больше года назад появился Spring AI версии 1.0,…
  6. May 29, 2026Ваш персональный ChatGPT от Dockhost Продолжаю серию постов про альтернативные LLM, которы…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →