Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Проводите ли вы рефакторинг кода?

Проводите ли вы рефакторинг кода?
Я
   МаленькийВопросик
 
23.11.18 - 20:00
Собственно сабж. Или сделали - забыли?
 
 
   Dmitry1c
 
1 - 23.11.18 - 20:05
Если заказчик платит за рефакторинг, то без проблем)
   МаленькийВопросик
 
2 - 23.11.18 - 20:08
(1) такие разве есть?
   Dmitry1c
 
3 - 23.11.18 - 20:10
(2) а зачем бесплатно работать ?
   MaxS
 
4 - 23.11.18 - 20:12
Если для многократной продажи, то конечно. Рефакторинг бесконечный.
   Garykom
 
5 - 23.11.18 - 20:13
(0) В двух случаях:
1. Код сильно разросся и уже невозможно его допиливать
2. Код нихрена не работает как надо - переписать нафуй
   Злопчинский
 
6 - 23.11.18 - 20:14
Не далее как вчера, арм для егаис
   d4rkmesa
 
7 - 23.11.18 - 20:14
(2) Фикси-работодатели.
   Garykom
 
8 - 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% переписывает с нуля за кем-то... о_О
   ice777
 
13 - 23.11.18 - 20:26
(7) Фикси от нечего делать может и заняться.
Но не я. Я делаю только когда надо переделать кусок, написанный одним криворуким предшественником, было такое чудо. Иначе хрен допишешь новый функционал.
   Полбатона
 
14 - 23.11.18 - 20:27
(13) ну есть еще гики сумашедшие,для которых совершенству нет предела.
Рефакторинг и кодревью это скорее для команд и фиксиков
   Злопчинский
 
15 - 23.11.18 - 23:34
Когда начинаешь кропать по принципу "надо вчера" - то тут не до красоты, хотя бы какой-то рабочий минимальный вариант выдать, но с ростом количества кода растет сложность его адекватного понимания даже самим собой. И приходится "стандартизировать" хот как-то. В личных проектах, где сам себе хозяин - гдето только с третьей "ревизии" становится более-менее хоть на что-то похоже.

А так, да, если клиент готов платить - то можно и рефакторить и тестить. Но даже бОльшая оплата не гарант хорошего исполнения, время - оно не резиновое.. и не казеиновое...
   Lazy Stranger
 
16 - 24.11.18 - 00:06
в основном в тех случаях, когда сделанное наскоро начинает тормозить с увеличением объема данных и приходится озадачиваться быстродействием кода
   Злопчинский
 
17 - 24.11.18 - 02:36
(16) .. и втогда, когда это уже не разовая поделка, а хотя бы в 2 конторы..
   vi0
 
18 - 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
Очень редко, в основном если страдает быстродействие. Ну или когда надо внести изменения и понимаю, что половина кода лишнего )
   Провинциальный 1сник
 
23 - 24.11.18 - 07:26
(5) А иногда, когда просят чуть переделать какую-то старую обработку, и ты её открываешь - становится просто стыдно перед самим собой, какое кривое тормозное убожество мог когда-то наваять. И берешь и переписываешь всё заново.
   МаленькийВопросик
 
24 - 24.11.18 - 07:30
(23) работодателю не понять... вот же есть программа - доделай ее
   МимохожийОднако
 
25 - 24.11.18 - 07:37
(0) Если прижмёт, перестало работать или куча времени\денег на переделку.
   Dmitry1c
 
26 - 24.11.18 - 10:02
Вообще доводилось всего пару раз делать.

Обычно доделывать/переписывать код за кем-либо не приходится, свой нормально пишу.

Да и программирую я все реже.
   DrLekter
 
27 - 25.11.18 - 09:46
Иногда бывает, надо срочно что-то слепить, делаю лишь бы работало. Но если потом приходится возвращаться к этому коду, привожу его в порядок (полностью редко приходится переписывать, я все-таки не настолько говнокодю даже впопыхах :) ), чтобы самому было удобней разбираться.
   Emery
 
28 - 25.11.18 - 11:14
(0) > Проводите ли вы рефакторинг кода?

Для собственного кода необходимость в этом постоянна. Как я понимаю, все упирается в модель данных и концепцию их хранения, отображения и обработки. Обычно, когда начинаешь что-то делать, представляемая модель используемых данных всегда упрощенна. Потом, со временем, приходит опыт и начинаешь понимать, что далеко не все случаям эта модель адекватно соответствует. Меняешь структуру данных и, следовательно, приходится менять их обработчики.

Для примера, понадобилось работать во внешней компоненте с деревьями данных. Как смоделировать, скажем, бинарный циклический граф? Смотрим классику, структуры данных с указателями туда – сюда, влево – вправо. Но оказывается, практически это не очень удобно. Для обработки этих данных приходится использовать рекурсию. В рекурсию нужно передавать контекст данных. Сначала был глобальный контекст, он приводил к потере данных. Потом, частично локальный, что тоже порождало трудно отлавливаемые ошибки. В конце концов, контекст рекурсивных данных стал полностью изолированным, внутренним. Но тогда этих самых контекстов стало слишком много, а, в конечном счете, нужен один. Таким образом, нужно какое-то объединение контекстов. Работаю сейчас над этим. А каждая такая реструктуризация («перестройка»? :) ) это очередной рефакторинг сотен килобайт кода на Си++.

Другой момент. Соотношение между векторами (массивами) структур больших размеров и их плавающими выборками (соответствиями или мапами). Акцент на одно ведет к неоправданному расходу памяти, акцент на другое, к потере информации. Вот и приходится изобретать что-то среднее.

В итоге, полученная модель «деревянных» данных представляет собой конгломерат («винегрет»? :) ) векторов структур, соответствий, стеков и произвольных последовательностей. И это еще не конец. Так что конца рефакторингов в данном проекте я пока не вижу :) .

Короче говоря:

«Тяжела и неказиста жизнь простого программиста.
Легка и казиста жизнь сложного программиста.»

:)
   vi0
 
29 - 25.11.18 - 11:28
"Гришковец заказал по телефону пиццу и наговорил новую пьесу" (с)
   FormatC
 
30 - 25.11.18 - 11:40
(0) бывает откроешь свой код годичной давности и думаешь - неужели это я написал ))) и давай переписывать
   Лефмихалыч
 
31 - 25.11.18 - 11:49
(0) глупый вопрос. конечно - да.
   zak555
 
32 - 25.11.18 - 12:09
Это необходимость для занятых людей
   Aleksey
 
33 - 25.11.18 - 12:20
Рефакторинг - это как сходить по большой нужде. Все это делают когда припрет, никто не ходит и не сидит часам ради процесса. Как только нужда большая припрет, так бежишь и делаешь свое дело. Нет нужды - нет и рефакторинга.
 
 
   spectre1978
 
34 - 25.11.18 - 12:54
(0) иногда делаю, когда изначально времени не было и первая ревизия была по принципу херак-херак и в продакшн. Потом смотрю на качество работы и количество у меня свободного времени, и привожу код в более достойное состояние.
   Конструктор1С
 
35 - 25.11.18 - 13:01
Время от времени. "Массовый" рефакторинг приходилось проводить для перехода на другую редакцию платформы, перехода с обычного на управляемый интерфейс и адаптацию конфигураций под веб-клиент (отказ от модальных и синхронных вызовов).
В отдельных случаях провожу рефакторинг для повышения производительности, повышения юзабилити, или исправления поделок чьих-то кривых рук.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует