Имя: Пароль:
1C
 
Рефакторинг как способ программирования
0 Волшебник
 
16.08.25
15:08
Что-то мысль возникла внезапная, интегральная...

Ведь любое программирование это по сути рефакторинг, который делает из говна конфетку.
Сначала пишется ХОТЬ КАКОЙ-ТО рабочий код, который потом преобразуется в более-менее оптимальный, причём не по скорости, а по КРАСОТЕ.
Я прав или нет?

Пишите, что такое КРАСОТА программного кода?
1 Asmody
 
16.08.25
15:10
(0) приходи на "Жёлтую конфу" в октябре, я буду докладывать доклад на эту тему 😁
2 Волшебник
 
16.08.25
15:22
(1) круто! А выделишь мне 5 минут микрофона? я тоже добавлю от себя.
3 Волшебник
 
16.08.25
15:27
Хотя стоп, я тогда претендую на полноценный доклад
4 RomanYS
 
16.08.25
15:37
(0) Что мешает сразу делать красиво? Переписывать явно сложнее и результат будет хуже.
Или это про мечту, что джуны наговнокодят, а ИИ забесплатно из г..на конфетку сделают?
5 Волшебник
 
16.08.25
15:46
(4) Скорее наоборот. Сначала ИИ делает говнокод, из которого джун делает конфетку.
6 Asmody
 
16.08.25
16:02
(4) ты ещё предложи сразу без ошибок писать
7 Злопчинский
 
16.08.25
16:16
(0) это когда понятно что написано.
Это необязательно м.б. и прямо уж эффективно, но понятно что должен делать код и даже почему. Вполне можно отрефакторить позже в сторону большей оптимальности/эффективности.
.
По своим наблюдениям - если фейс у проги корявый то и код гунявый (про 1с говорю). Унификация интерфейса как это сейчас в 1с в части "описываемого интерфейса" отчасти не дает майстрячить адский шлак самописок/доработок (как это в 77), но в целом как-то так связь имхо наблюдается.
.
По своему опыту первая итерация кода - базовая, в целом стараюсь писать аккуратно, хотя бы чтобы смысл кода был понятен. Если есть возможность - то вторая итерация - рефакторинг и оптимизация. Третья итерация - чтобы было красиво. Чем более редко используется код - тем менее вероятность второй и третье итерации. Ну и чем костыльнее решение (нужно вчера!) - тем меньше вероятность что базовый вариант код будет рефакторен когда-нибудь... Как-то вот так у меня. Как обстоит дело у восьмерочников - не знаю. Хорошо писать получается когда пишешь от души и для души, но таковое, видимо, редко среди погромистов 1с...
8 RomanYS
 
16.08.25
16:16
(6) К этому надо стремиться)
Делать специально ошибки чтобы было что рефакторить, вот это стратегия)
9 Chameleon1980
 
16.08.25
16:19
(8) работу нужно беречь !
10 Маленький Вопросик
 
16.08.25
17:41
Красота программного кода - когда можешь нарисовать блок-схему взаимозависимых и точечных процедур и функций, посмотрев на этот код как бы сверху


Напишу об этом в 1с - этого не хватает в конфигураторе!
11 Злопчинский
 
16.08.25
18:22
(10) в Спортлото еще можно написать...
12 Маленький Вопросик
 
16.08.25
18:24
(11) вот ты и пиши
13 p-soft
 
16.08.25
18:55
(0) ваще неверный посыл. если делать говно, говно и получится. рефакторинг только продлит агонию говна. ну еще можно применить волшебство маркетинга, но сути говна оно все равно не меняет.

красота программного кода - штука очень субьективная. вот щас меня моя поделка возбуждает, я прямо крут. через пол года смотрю - гавно ведь, как есть, как будто не сам писал..
14 Krendel
 
16.08.25
19:56
(0) ты открыл эволюцию
15 2mugik
 
16.08.25
20:18
(1) сделай доклад на мисте. Зачем эти продователи курсов.
16 Волшебник
 
16.08.25
20:51
(14) нет, это другое. Это больше похоже на креационизм
17 H A D G E H O G s
 
16.08.25
22:09
(4) Когда тема новая и ты не уверен, что сработает.
18 Garykom
 
гуру
17.08.25
00:21
Лучше сразу писать хорошо и не писать плохо
Но это очень редко получается

Рефакторинг это нормально, ненормально когда в попытке сделать идеальный код забывают об отношении качество/затраты

И да сразу сделать конфетку не выйдет
Но в тоже время рефакторинг может сделать хуже, более непонятный и непростой код
Который будет сложней поддерживать/допиливать
19 Мимохожий Однако
 
17.08.25
07:54
Красота кода - это эмоциональная оценка работающих алгоритмов, соответствующих поставленной задаче. По причине эмоциональности слишком много субъективных оценок от каждого аналитика предложенного кода. Стремятся к красоте все в той или иной мере, но, как и любой идеал, не достижим. Вот такой вечный движитель
20 Asmody
 
17.08.25
14:14
В (0) посыл изначально неверный.
Рефакторинг - это не про красоту, а красота - это следствие, побочный эффект.
21 MWWRuza
 
гуру
17.08.25
20:03
Если я вообще понимаю, что такое рефакторинг...
К примеру. Есть какая-то задача. ТЗ поставлено, вроде как исчерпывающее. Вроде как и все по нему сделал, работает. Но в процессе отладки и первого периода эксплуатации вылезают "нюансы", которые на момент постановки задачи было сложно или даже невозможно предвидеть. Уже готовую задачу, вылизываешь, различными "ответвлениями чуть в сторону", по методу "латания дыр", по сути "на ходу", когда некогда красоту наводить, клиенту работать нужно. И вот, в один прекрасный момент, количество этих заплаток начинает зашкаливать, и сам в своем коде начинаешь путаться, поскольку он становится трудночитаемым... Вот тогда и наступает момент, когда часть задачи проще переписать заново, уже с учетом приобретенного опыта по конкретной задаче, в процессе отладки и "латания дыр".
Как правило, это бывает проще, чем навести порядок в имеющемся коде. И результат получается значительно красивее. Вот это, в моем понятии и есть классический пример рефакторинга...
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.