Здравствуйте, uncommon, Вы писали:
U>Здравствуйте, мыщъх, Вы писали:
U> Сразу видно, что ты не программист (что ты и сам в общем-то уже сказал).
U> Рефакторинг тебе не понятен, и ты сделал вывод, что он не нужен.
не хочу писать большой пост, объясняющий элементарные вещи. меня окружают два типа программистов. первый (намного более многочисленный, "новая школа", поколение Z по пелевину). их девиз: "тут не думать, тут кодить надо". второй (старая школа) может три месяца ходить вокруг компьютера и не написать ни строчки, рисуя закорючки в рабочем журнале и вынашивая дизайн в голове.
второй тип не нуждается в рефракторинге. второй тип зачастую старше, чем индустрия программирования (старички по восемьдесят лет мне встречаются). многие пришли в программирование из инженерных областей. разрабатывали авионику или автомобили. или просто сан-узлы. посмотрел бы я на вас как вы будете сан-узел рефракторить, не говоря уже об автомобилях.
кроме того, если какой-то узел (или модуль программы) хочется отрефракторить, то, возможно, подумав еще немного, его можно выкинуть и заменить другим -- с бизнес-фичами на борту. ну то есть совсем другим. скажем, у вас мультипоиск реализован через ахо-корась а вы предлагаете рабин-карпа. или вообще генерацию DFA дерева. или тут выходит швейцарский нож яры и вы понимаете, что он одним махом заменяет у вас кучу узлов.
все манагеры к рефракторингу относятся в лучшем случае как к неизбежному злу. в худшем -- отказываются понимать зачем переписывать то, что работает и за что вам платили зарплату и премию если теперь вы доказываете, что это нужно рефракторить. если уж рефракторить, то не просто чесать яйца, разгревая говны, а переписывать модули, создавая business value. манагеры это одобряют. потому что появляются новые фичи или улучшается производительность. причем, производительнось может улучшаться и за счет применения алгоритмов жадных до памяти, которые раньше реализовать не было возможности, т.к. тупо не было столько памяти у клиентов...
> Это типичное проявления эффекта Даннинга — Крюгера.
нет, это не типичное проявление. если я не программист, то это значит только одно: в job description у меня не значится написания продакшен кода. однако, я близко знаком и с теми, кто пишет такой код, и с теми, кто контролирует его написание и когда я говорю "рефракторинг не нужен", то это не мой вывод. это авторитетное мнение тех, кто руководит программистами (включая и самих программистов старой школы).
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.