LINUX.ORG.RU

История изменений

Исправление Legioner, (текущая версия) :

Ломбок не решает проблему?

Может и решает. Но я не хочу его использовать. Т.к. это уже не Java получается, а если я отказываюсь от Java, я могу и Kotlin с тем же успехом использовать. Вот если бы Idea умела как-то автоматом скрывать такие геттеры-сеттеры, как она делает с анонимными классами... Я всё хочу написать свой фреймворк, когда дата-класс и билдеры описываешь интерфейсами, а быструю реализацию уже генерит либа, вроде должно получиться очень удобно, но руки всё не доходят.

Я просто переехал на Kotlin, на проперти смотрю как-то равнодушно, для меня другие фитчи впечаталяют, как например: типобезопасные строитили, дефолтные аргументы методов, ну и самое главное для меня это типизация с информацией о nullability. Причина почему они меня впечатлили в том, что они позволяют резко улучшить читаемость кода.

Многое из этого нужно только из-за угорания по иммутабельности. Зачем тебе строители, если ты можешь простой мутабельный класс использовать, например? А даёт ли иммутабельность достаточно плюсов, я не знаю. Не помню за последние годы ни одного бага, который был бы связан с тем, что я меняю то, что нельзя менять. Возможно это проблема проявляется в больших командах, я код обычно пишу и поддерживаю один.

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

Исправление Legioner, :

Ломбок не решает проблему?

Может и решает. Но я не хочу его использовать. Т.к. это уже не Java получается, а если я отказываюсь от Java, я могу и Kotlin с тем же успехом использовать. Вот если бы Idea умела как-то автоматом скрывать такие геттеры-сеттеры, как она делает с анонимными классами... Я всё хочу написать свой фреймворк, когда дата-класс и билдеры описываешь интерфейсами, а быструю реализацию уже генерит либа, вроде должно получиться очень удобно, но руки всё не доходят.

Я просто переехал на Kotlin, на проперти смотрю как-то равнодушно, для меня другие фитчи впечаталяют, как например: типобезопасные строитили, дефолтные аргументы методов, ну и самое главное для меня это типизация с информацией о nullability. Причина почему они меня впечатлили в том, что они позволяют резко улучшить читаемость кода.

Многое из этого нужно только из-за угорания по иммутабельности. Зачем тебе строители, если ты можешь простой мутабельный класс использовать, например? А даёт ли иммутабельность достаточно плюсов, я не знаю. Не помню за последние годы ни одного бага, который был бы связан с тем, что я меняю то, что нельзя менять. Возможно это проблема проявляется в больших командах, я код обычно пишу и поддерживаю один.

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

Исходная версия Legioner, :

Ломбок не решает проблему?

Может и решает. Но я не хочу его использовать. Т.к. это уже не Java получается, а если я отказываюсь от Java, я могу и Kotlin с тем же успехом использовать. Вот если бы Idea умела как-то автоматом скрывать такие геттеры-сеттеры, как она делает с анонимными классами... Я всё хочу написать свой фреймворк, когда дата-класс и билдеры описываешь интерфейсами, а быструю реализацию уже генерит либа, вроде должно получиться очень удобно, но руки всё не доходят.

Я просто переехал на Kotlin, на проперти смотрю как-то равнодушно, для меня другие фитчи впечаталяют, как например: типобезопасные строитили, дефолтные аргументы методов, ну и самое главное для меня это типизация с информацией о nullability. Причина почему они меня впечатлили в том, что они позволяют резко улучшить читаемость кода.

Многое из этого нужно только из-за угорания по иммутабельности. Зачем тебе строители, если ты можешь простой мутабельный класс использовать, например? А даёт ли иммутабельность достаточно плюсов, я не знаю. Не помню за последние годы ни одного бага, который был бы связан с тем, что я меняю то, что нельзя менять.

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