Pull to refresh
6
0
Томас Шестаков @Megaprog

Пользователь

Send message

Я как-то написал небольшую библиотечку, облегчающую обработку checked exceptions. Достаточно просто обернуть лямбду в StreamUtil.unchecked https://github.com/Megaprog/stream-util/blob/master/src/main/java/org/jmmo/util/StreamUtil.java#L184

Забавно, но я считаю, наоборот, самый приостым и универсальным решением инъекцию через поля. Конструктор всегда должне быть пустой. Плюсы следующие:
1. Наследование. В конструкторе унаследованного класса не надо перечислять поля родителя.
2. Возможность иметь циклические зависимости. Кто-то скажет, что это антипаттерн. Может быть. Но лучше иметь такую возможность.
3. Когда зависимостей много, конструктор со всеми зависимостями становится совершенно нечитаемым. Если разнести по полям, читабельность улучшается.
4. Возможность задать значения по-умолчанию с аннотацией @Autowired(optional=true)
5. Лучше безобразно но единообразно. Всегда пустой конструктор и инъекция через поля - не надо думать, какие поля вынести в конструктор (всегда никакие)

И, в довесок, поля должны быть package private. Это во-первых, меньше букв. Во-втрорых, при написании тестов такие поля очень просто инициализировать.

Ничего автор не принес. Все это давно есть в Scala, Rust и т.д.
Зависит от проекта, разумеется. Акторы это не про континуации.
«Akka уже теснят всякие корутины и project loom» — кто тут кого может теснить когда это совершенно разные вещи?
Почему не перешли со Scala на Java? Почему не отказались от SBT в пользу Maven? Потому что не модно?
Если писать мега крутую игру с большим бюджетом типа CoD или BF, наверное, есть смысл использовать UDP и реализовывать на нем нужные фишки TCP. Но если проект с небольшим бюджетом, то немногим более высокий пинг это последнее о чем стоит беспокоиться.
Аналогия велосипеда и программного совершенно не корректна. Да железная рама должна быть прочной из единого куска алюминия. Но программный код не должен быть монолитным чтобы быть надежным
Хотелось бы более углубленной проработки темы. В JavaFX есть такая интересная штука как Preloader. Запустить или собрать прогу с ним уже более интересная задача.
Правило 2-й нормльной формы здесь совершенно не понятно, либо перевод такой.
Да, славная эпоха. Карты памяти по 8 мегабайт. Отсутствие нормального он-лайна.
А ничего что из лямбды нельзя поменять локальную переменную?
Почему то все забывают, что ламбды то нам обещают в 8-ка, а вот полноценных замыканий нет. Сейчас изнутри лямбды (как и безымянного вложенного класса) можно обращаться только к финальным локальным переменным метода в котором они создаются. Как это не поразительно в 8-ке на собираются менять этот ужас. Даже в JavaScript замыкания реализованы, а в Java нет.
ничего подобного, лямбды это синтаксический сахар над интерфейсами с одним методом.
Очень надеюсь, что в StarCraft II никогда не будут ничего продавать, даже портреты и наряды. Иначе брошу, как бросил DoT'а где достали сундучками с выклянчиванием денег за ключи.
Лучше бы исправили ошибки, которых в Unity сейчас ТОННЫ и, заодно, систему патчей ввели, чтобы не надо было выкачивать весь дистрибутив да еще и с демо-проектом.
Что ж вы там компилируете такое? Мой проект с 5k классами полностью компилится за 8 секунд.
Условная «многословность» Java в полной мере компенсируется мощными IDE.
Прошли те времена, когда достаточно было написать на товаре «Philips» и продавать дороже, чем аналогичные товары другой марки.
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity