Naik, а ты работаешь или код читаешь целый день? Или ты бездельничаешь и решил автокомплит отключить, шоб интереснее было?
Без иде беда))
Нашли из-за чего сраться
Naik, но я и не говорил про методы, а про самостоятельные функции, без сайд-эффектов, которые оперируют данными и возвращают результат. Превращая их в классы, чтобы передавать меньше аргументов на один вызов, код только усложняется. Мне не будет проще читать лапшу из десятка двухстрочных методов классов, работающих с полями, независимо от их числа аргументов, дебаг остается болью. <дальше могла быть реклама фп, но мне уже надоело> Оверлоадинг вообще легко заабузить, что libgdx и делает. Разделить этот draw на отдельные методы с очевидными названиями было бы лучше, как например в kha (drawImage/drawSubImage/drawScaledImage).
Попробуй заюзать метод zip или merge из RxJava2, офигеешь от количества перегрузок, дженериков и т.п. Только ide и спасает подсказками.
RblSb, не лучше. Попробуй, когда колличество классов пернвалит хотя-бы за 100 поюзать методы, где 4-5 булевых параметра, или почитать такой код. И даже если это разнородные параметры, такой код очень плохо читается. И ты не учел, что билдер или dto обьект ты всегда можешь изменить, и тебе не придется менять сигнатуру методов. Это и упрощает добавление фич и обратная совместимость кода. А попробуй в той же libgdx добавь в часто используемый метод параметр. Не сможешь. Придется перегружать, и оставлять старый. А потом в автокомплите 5 методов с одним названием и разными параметрами, и попробуй выбери подходящий Изм. Naik (19.09 / 12:02) (1)
То что это не используют в бизнес-логике не значит, что это следует избегать. Доп аргументы для полноценной функции будут явно лучше, чем отдельный класс, делающий тоже самое, только с полями и билдерами.
RblSb, ахах лол. Пример с ректом Ну ясен пень, шо нужно иметь всегда свою голову, и иногда нужно больше параметров, но этого нужно ИЗБЕГАТЬ. Я много ковыряюсь в такой фигне последнее время, и если много параметров, то всегда легче заюзать билдер или DTO, тем более он расширяем до бесконечности. А в либгдх угадай почему встречается по 8 и более параметров? ПРОИЗВОДИТЕЛЬНОСТЬ в методах рендера. Там и методы есть по 500 строк, но на то были свои причины, а в бизнес логике это неприемлемо.
https://m.habr.com/post/423691/ тоже норм описано
RblSb, в libgdx встречаются и такие динозавры, как этот:
Совершенный код Категории |