| 
    
        
     
     | 
    
  | 
Проводите ли вы рефакторинг кода? | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Маленький Вопросик    
     23.11.18 
            ✎
    20:00 
 | 
         
        Собственно сабж. Или сделали - забыли?     
         | 
|||
| 
    1
    
        Dmitry1c    
     23.11.18 
            ✎
    20:05 
 | 
         
        Если заказчик платит за рефакторинг, то без проблем)     
         | 
|||
| 
    2
    
        Маленький Вопросик    
     23.11.18 
            ✎
    20:08 
 | 
         
        (1) такие разве есть?     
         | 
|||
| 
    3
    
        Dmitry1c    
     23.11.18 
            ✎
    20:10 
 | 
         
        (2) а зачем бесплатно работать ?     
         | 
|||
| 
    4
    
        MaxS    
     23.11.18 
            ✎
    20:12 
 | 
         
        Если для многократной продажи, то конечно. Рефакторинг бесконечный.     
         | 
|||
| 
    5
    
        Garykom    
     гуру 
    23.11.18 
            ✎
    20:13 
 | 
         
        (0) В двух случаях:
 
        1. Код сильно разросся и уже невозможно его допиливать 2. Код нихрена не работает как надо - переписать нафуй  | 
|||
| 
    6
    
        Злопчинский    
     23.11.18 
            ✎
    20:14 
 | 
         
        Не далее как вчера, арм для егаис     
         | 
|||
| 
    7
    
        d4rkmesa    
     23.11.18 
            ✎
    20:14 
 | 
         
        (2) Фикси-работодатели.     
         | 
|||
| 
    8
    
        Garykom    
     гуру 
    23.11.18 
            ✎
    20:15 
 | 
         
        (2) А зачем ему об этом сообщать? Затраты на переписывание включаются по дефолту в разработку.
 
        Если заказчику не нравится он вполне в любой момент может нанять другого(их).  | 
|||
| 
    9
    
        ДенисЧ    
     23.11.18 
            ✎
    20:15 
 | 
         
        Обявткльно     
         | 
|||
| 
    10
    
        Маленький Вопросик    
     23.11.18 
            ✎
    20:22 
 | 
         
        так работодатели нанимают специалистов, чтобы было сделано     
         | 
|||
| 
    11
    
        Полбатона    
     23.11.18 
            ✎
    20:23 
 | 
         
        Когда переделываю за кем-то.
 
        Но это скорее не рефакторинг, а написание с нуля, потому что так проще.  | 
|||
| 
    12
    
        Маленький Вопросик    
     23.11.18 
            ✎
    20:25 
 | 
         
        мне кажется, что 90% переписывает с нуля за кем-то... о_О     
         | 
|||
| 
    13
    
        ice777    
     23.11.18 
            ✎
    20:26 
 | 
         
        (7) Фикси от нечего делать может и заняться.
 
        Но не я. Я делаю только когда надо переделать кусок, написанный одним криворуким предшественником, было такое чудо. Иначе хрен допишешь новый функционал.  | 
|||
| 
    14
    
        Полбатона    
     23.11.18 
            ✎
    20:27 
 | 
         
        (13) ну есть еще гики сумашедшие,для которых совершенству нет предела.
 
        Рефакторинг и кодревью это скорее для команд и фиксиков  | 
|||
| 
    15
    
        Злопчинский    
     23.11.18 
            ✎
    23:34 
 | 
         
        Когда начинаешь кропать по принципу "надо вчера" - то тут не до красоты, хотя бы какой-то рабочий минимальный вариант выдать, но с ростом количества кода растет сложность его адекватного понимания даже самим собой. И приходится "стандартизировать" хот как-то. В личных проектах, где сам себе хозяин - гдето только с третьей "ревизии" становится более-менее хоть на что-то похоже.
 
        А так, да, если клиент готов платить - то можно и рефакторить и тестить. Но даже бОльшая оплата не гарант хорошего исполнения, время - оно не резиновое.. и не казеиновое...  | 
|||
| 
    16
    
        Lazy Stranger    
     24.11.18 
            ✎
    00:06 
 | 
         
        в основном в тех случаях, когда сделанное наскоро начинает тормозить с увеличением объема данных и приходится озадачиваться быстродействием кода     
         | 
|||
| 
    17
    
        Злопчинский    
     24.11.18 
            ✎
    02:36 
 | 
         
        (16) .. и втогда, когда это уже не разовая поделка, а хотя бы в 2 конторы..     
         | 
|||
| 
    18
    
        vi0    
     24.11.18 
            ✎
    06:34 
 | 
         
        (5) > 2. Код нихрена не работает как надо - переписать нафуй 
 
        (16) > и приходится озадачиваться быстродействием кода Это не рефакторинг  | 
|||
| 
    19
    
        Маленький Вопросик    
     24.11.18 
            ✎
    06:50 
 | 
         
        (15) золотые слова     
         | 
|||
| 
    20
    
        Маленький Вопросик    
     24.11.18 
            ✎
    06:51 
 | 
         
        Я иногда рефакторинг для себя провожу, что кода было меньшеи он был более универсален что-ли.....     
         | 
|||
| 
    21
    
        Злопчинский    
     24.11.18 
            ✎
    07:00 
 | 
         
        Универсальный код не всегда производителен и зачастую мутен и непрозрачен за счёт абстракций     
         | 
|||
| 
    22
    
        Лодырь    
     24.11.18 
            ✎
    07:14 
 | 
         
        Очень редко, в основном если страдает быстродействие. Ну или когда надо внести изменения и понимаю, что половина кода лишнего )     
         | 
|||
| 
    23
    
        Провинциальный 1сник    
     24.11.18 
            ✎
    07:26 
 | 
         
        (5) А иногда, когда просят чуть переделать какую-то старую обработку, и ты её открываешь - становится просто стыдно перед самим собой, какое кривое тормозное убожество мог когда-то наваять. И берешь и переписываешь всё заново.     
         | 
|||
| 
    24
    
        Маленький Вопросик    
     24.11.18 
            ✎
    07:30 
 | 
         
        (23) работодателю не понять... вот же есть программа - доделай ее     
         | 
|||
| 
    25
    
        Мимохожий Однако    
     24.11.18 
            ✎
    07:37 
 | 
         
        (0) Если прижмёт, перестало работать или куча времени\денег на переделку.     
         | 
|||
| 
    26
    
        Dmitry1c    
     24.11.18 
            ✎
    10:02 
 | 
         
        Вообще доводилось всего пару раз делать.
 
        Обычно доделывать/переписывать код за кем-либо не приходится, свой нормально пишу. Да и программирую я все реже.  | 
|||
| 
    27
    
        DrLekter    
     25.11.18 
            ✎
    09:46 
 | 
         
        Иногда бывает, надо срочно что-то слепить, делаю лишь бы работало. Но если потом приходится возвращаться к этому коду, привожу его в порядок (полностью редко приходится переписывать, я все-таки не настолько говнокодю даже впопыхах :) ), чтобы самому было удобней разбираться.     
         | 
|||
| 
    28
    
        Emery    
     25.11.18 
            ✎
    11:14 
 | 
         
        (0) > Проводите ли вы рефакторинг кода?
 
        Для собственного кода необходимость в этом постоянна. Как я понимаю, все упирается в модель данных и концепцию их хранения, отображения и обработки. Обычно, когда начинаешь что-то делать, представляемая модель используемых данных всегда упрощенна. Потом, со временем, приходит опыт и начинаешь понимать, что далеко не все случаям эта модель адекватно соответствует. Меняешь структуру данных и, следовательно, приходится менять их обработчики. Для примера, понадобилось работать во внешней компоненте с деревьями данных. Как смоделировать, скажем, бинарный циклический граф? Смотрим классику, структуры данных с указателями туда – сюда, влево – вправо. Но оказывается, практически это не очень удобно. Для обработки этих данных приходится использовать рекурсию. В рекурсию нужно передавать контекст данных. Сначала был глобальный контекст, он приводил к потере данных. Потом, частично локальный, что тоже порождало трудно отлавливаемые ошибки. В конце концов, контекст рекурсивных данных стал полностью изолированным, внутренним. Но тогда этих самых контекстов стало слишком много, а, в конечном счете, нужен один. Таким образом, нужно какое-то объединение контекстов. Работаю сейчас над этим. А каждая такая реструктуризация («перестройка»? :) ) это очередной рефакторинг сотен килобайт кода на Си++. Другой момент. Соотношение между векторами (массивами) структур больших размеров и их плавающими выборками (соответствиями или мапами). Акцент на одно ведет к неоправданному расходу памяти, акцент на другое, к потере информации. Вот и приходится изобретать что-то среднее. В итоге, полученная модель «деревянных» данных представляет собой конгломерат («винегрет»? :) ) векторов структур, соответствий, стеков и произвольных последовательностей. И это еще не конец. Так что конца рефакторингов в данном проекте я пока не вижу :) . Короче говоря: «Тяжела и неказиста жизнь простого программиста. Легка и казиста жизнь сложного программиста.» :)  | 
|||
| 
    29
    
        vi0    
     25.11.18 
            ✎
    11:28 
 | 
         
        "Гришковец заказал по телефону пиццу и наговорил новую пьесу" (с)     
         | 
|||
| 
    30
    
        FormatC    
     25.11.18 
            ✎
    11:40 
 | 
         
        (0) бывает откроешь свой код годичной давности и думаешь - неужели это я написал ))) и давай переписывать     
         | 
|||
| 
    31
    
        Лефмихалыч    
     25.11.18 
            ✎
    11:49 
 | 
         
        (0) глупый вопрос. конечно - да.     
         | 
|||
| 
    32
    
        zak555    
     25.11.18 
            ✎
    12:09 
 | 
         
        Это необходимость для занятых людей     
         | 
|||
| 
    33
    
        Aleksey    
     25.11.18 
            ✎
    12:20 
 | 
         
        Рефакторинг - это как сходить по большой нужде. Все это делают когда припрет, никто не ходит и не сидит часам ради процесса. Как только нужда большая припрет, так бежишь и делаешь свое дело. Нет нужды - нет и рефакторинга.     
         | 
|||
| 
    34
    
        spectre1978    
     25.11.18 
            ✎
    12:54 
 | 
         
        (0) иногда делаю, когда изначально времени не было и первая ревизия была по принципу херак-херак и в продакшн. Потом смотрю на качество работы и количество у меня свободного времени, и привожу код в более достойное состояние.     
         | 
|||
| 
    35
    
        Конструктор1С    
     25.11.18 
            ✎
    13:01 
 | 
         
        Время от времени. "Массовый" рефакторинг приходилось проводить для перехода на другую редакцию платформы, перехода с обычного на управляемый интерфейс и адаптацию конфигураций под веб-клиент (отказ от модальных и синхронных вызовов). 
 
        В отдельных случаях провожу рефакторинг для повышения производительности, повышения юзабилити, или исправления поделок чьих-то кривых рук.  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |