Имя: Пароль:
1C
1С v8
Проводите ли вы рефакторинг кода?
,
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
Время от времени. "Массовый" рефакторинг приходилось проводить для перехода на другую редакцию платформы, перехода с обычного на управляемый интерфейс и адаптацию конфигураций под веб-клиент (отказ от модальных и синхронных вызовов).
В отдельных случаях провожу рефакторинг для повышения производительности, повышения юзабилити, или исправления поделок чьих-то кривых рук.