Как стать автором
Обновить
10
0
Muhamad Zununov @VanquisherWinbringer

CIO

Отправить сообщение
В этом куске кода вообще все что происходит это взаимодействие одного офсета с другим + откуда-то timeZone прилетает + логи лишние.
Да забей, про фу говнокод это была шутка. Обычный такой середнячек. Я тебе более ООП вариант предложил. Тут более процедурный. Можно вообще весь этот метод в пределах класс PikapTimeSlotOfset поместить а логи оставить только снаружи на входные данные и получившийся результат.
Тут еще у вас логи странные. Надо тесты писать. Логи пиши на выходе из вне (сеть файл) либо при отправке результата во вне (сеть файл) внутри самой системы это странно потому что и так можно зафиксировать результаты при известных входных данных через тесты. Нужен тесто что при таких вот входных данных вот такой вот итоговый результат получаем. Ну и новый разраб что придет увиде что вот тест говорит что если вот так то так а не будет по странным логам которые по середине логики торчат бродить.
Не понимаю, давай код.
Так просто превратить весь этот кусок кода в функцию которая возвращает это офсет как свой результат. Вместо того чтобы в этом куске кода в нескольких места его устанавливать. Я так понял это не сработает потому что ниже и выше он и опять высталяется или что-то в этом роде. Не видя всего кода сложно сказать.
А вот это с моей тз не улучшение, а ухудшение. Констуктор принимает минимум информации который ему нужен, про вот эти LocaleFrom он не знает и знать не должен, это вообще не его зона ответственности.
Хм, тогда почему у конструктора уже есть параметр localeFrom?
Тут надо целиком смотреть. Если бы я знал все варианты и всю задачу то возможно сделал бы все на типах без огромных ифов и вставлением в процедурном значении в трех местах этого офсета. Я так понимаю помимо этого куска кода который можно было бы в функцию завернуть он там еще в двух местах выставляется? Про код конструктора — ну метод Copy тогда. Ты так и так эти параметры в этот конструктор передаешь. Может ты меня не понял. Я имел в виду для удобства добавить доп метод в конструктор который вызывает конструтор этого же класса через: this( просто с доп параметрами. И таки да — обязанность конструтора создавать объекты из набора каких-то данных. Тут все в порядке. Он этим и продолжает заниматься просто новый набор входных параметров приобретает.
Я вообще по тебе, хирролоту и по доге соскучился. Надо в офтопик возвращаться. :) Видел запись где хиррлот выступает на ютубе с такими длинными волосами. Прикольно. Такой милый няша. Ми ми ми.
Тыж мой маленький, пузатенький, сладенький пирожочек. Просто ты меня игнорил вот и хотел привлечь внимание. XD
Не видя полностью код и не зная полностью контекста и задачи сложно. Вообще у PickapTimeSlot есть свой тип добавить в этот тип PickapTimeSlotOfset сравнение по полям From и To. Дальше уже в условии проверять через вызов этого метода. Не делать выставление через вложенный if а просто сделать метод и возвращать нужный pickupTimeOffset. Сделать проверку в начале и в начале запись в лог и прерывание метода. Тогда не будет вложенных if и сразу понятно что с этого место дальше просто уже ничего не выполняется. Добавить в PickapTimeSlotOfset доп конструтор который принимает другой объект и вот эти timeZone, LocaleFrom. В общем мелочи такие всякие. Ну это так, возможные улучшения на первый взгляд.
Господи что за говнокод. Вы так в прод пишите? Хотя кто бы говорил. У нас и похуже код есть. Да что уж там, у нас в проде вообще логи уровня Information и ниже не пишутся. Это если что не мое решение.
Куда идти? Кого бить? А вообще, тут я узнал что я внезапно Гном-Воин. Хотя вроде как работаю магом и люди меня считают тролем. Да фигня это все ваши психологические тесты в интернетах, ИМХО.
Это может потому что у одного сладенького пирожочка кривые руки? :)
По статистике того же круга — в Мск средняя зп 160к. Для всего айти вместе с 1С и тестерами ручниками. Не надо тут!
Как вы протестировали бы Х (например метод для деления целых чисел). Какие граничные случаи тут есть. Моки чем от стабов отличаются. Какие библиотеки для тестирования, для геренерации тестовых данных использовали. Ну вот в общем.
Расказы про F# у меня всегда вызывают улыбку потому что язык вообще никакой да еще и абсолютно мертвый. Количество ПР да и вакансий раз в 5 меньше чем даже у Хаскеля.
Хм, не надо очень широкое понятие объекты сужать до того что под ним в Java понимают. Как собственно и типы это очень широкое понятие.
Про иммутабельность без упоминания ФП. Хм, вау.
Что-то часто вижу статьи от VDSina. Хотя, один фиг статься хорошая так что норм.
Я вам пытался объяснить. До вас все равно не доходит. Как об стенку горох. Смысла учить таких ограниченных людей как вы не вижу.
Хм, вообще выгорание это про завышенные ожидание от начальства и про попытки эти ожидания оправдать. Типо начальник решил пообешать заказчику что на неделю сделаете и вы стораетесь во всю сделать за неделю. Не успеваете, нервничаете. Перерабатываете. Перегораете. Выгорание явный признак плохого начальника. Если у него часто выгорают подчиненные значит это некомпетентный руководитель и его надо менять. Все.

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность

Специализация

Chief Technology Officer (CTO), Chief information officer (CIO)
C#
Software development
Project management
Product management
Development management
Agile
Scrum
Kanban
Development of tech specifications
Scala