LINUX.ORG.RU
ФорумTalks

[deve] Как вы справляетесь с кодом, от которого воротит?


0

0

Предположим, есть код, который вызывает три желания: позвать ихтиандра, переписать нафиг и убить автора.

Но нельзя, некогда, приходится править, часто по нескольку раз в _почти_ одинаковых скопипащенных кусках.

У меня в такие моменты просто опускаются руки, наступает состояние, близкое к анабиозу, и хочется тупить, читать интернет (весь) и не возвращаться к работе никогда. Производительность труда, соответственно, падает.

Вопрос: как с этим (т.е. не с плохим кодом, а с состоянием, которое он вызывает) бороться?

★★★★

> Вопрос: как с этим (т.е. не с плохим кодом, а с состоянием, которое он вызывает) бороться?

Ты сам ответил. Как говорится, в правильно сформулированном вопросе содержится половина ответа.

> тупить, читать интернет (весь) и не возвращаться к работе никогда.

name_no ★★ ()
Ответ на: комментарий от namezys

> 20 минут на лоре, 1 минута в коде. И так неделю

и каждые полгода ноывая работа )))

name_no ★★ ()

Вчера таким занимался. Никак не справлялся, а только матюгался, злился, хотел в автора кинуть чем-нибудь. Просидел так до вечера, по дороге купил полтораху пива и подумал: «хорошо, что я это бл****во доделал».

impr ()

добро пожаловать в Ъ Ынтерпрайз. когда что-о громоздкое пишется не один год и передается по наследству через 2-3 поколения, то можно смело писать поновой (причем начальству надо об этом сказать). если поколений прогов штук 5, то переписывать просто необходимо, ибо как оно работает и для чего там половина кода, не знает уже никто.

поддерживать до какого-то момента две ветки — это обязательно, да.

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

Rastafarra ★★★★ ()

Я никогда не буду разбираться в говнокоде. Обычно я его выделяю, нажимаю Del и переписываю заново. Если проект очень большой - просто забиваю на него

ArtemZ ()
Ответ на: комментарий от ArtemZ

> Обычно я его выделяю, нажимаю Del и переписываю заново.

и сколько это занимает по времени?

Если проект очень большой - просто забиваю на него

как к этому относится тот, кто выше? ;)

Rastafarra ★★★★ ()

Не читаю его или даю брату разбиратся

KERNEL_PANIC ★★★ ()

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

stevejobs ★★★★☆ ()
Ответ на: комментарий от stevejobs

мне платят и за то и за то

зато второе - в кайф

namezys ★★★★ ()
Ответ на: комментарий от stevejobs

> полная свинячья радость :)

это очень быстро надоедает ибо однообразно донельзя.

«полная свинячья радость» обычно приводит либо к деградации, либо к смене работы.

Rastafarra ★★★★ ()
Ответ на: комментарий от namezys

>20 минут на лоре, 1 минута в коде. И так неделю

Вот именно. А работы при этом, как легко убедиться нехитрым подсчётом, на два часа. Ну на четыре, если с музыкой и чайком.

Вот и хочу выяснить, может, есть какой-то дефрагментатор.

lodin ★★★★ ()
Ответ на: комментарий от lodin

> Вот и хочу выяснить, может, есть какой-то дефрагментатор.

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

stevejobs ★★★★☆ ()
Ответ на: комментарий от Rastafarra

> когда что-о громоздкое пишется не один год и передается по наследству через 2-3 поколения, то можно смело писать поновой

смело писать по новой ещё «не один год»?? Да-да, конечно.

impr ()
Ответ на: комментарий от impr

> смело писать по новой ещё «не один год»?? Да-да, конечно.

обычно в таких проектах правят в одном месте и он рушится в другом. через какое-то время это всех окончательно задалбывает и переписывать так или иначе начинают.

Rastafarra ★★★★ ()
Ответ на: комментарий от impr

Ну люди тоже становятся старые и страшные и мруть, но это ни разу не повод не размножаться.

lodin ★★★★ ()

Пишите план. Разбивайте процесс на части, которые реально сделать одним рывком. После рывка - отдых.

amomymous ★★★ ()
Ответ на: комментарий от lodin

> Вот и хочу выяснить, может, есть какой-то дефрагментатор.

если работа говно - нету

но даже мне иногда приходится лапату брать

namezys ★★★★ ()

Сейчас работаю с таким кодом.

Вывод к которому я пришел: если ты слабак, не берись за такую работу. В случае чего увольняйся.

Меня тошнит, выворачивает наизнанку, голова кружится, но я каждый день иду на работу и правлю этот код.

Мне осталось терпеть еще две недели - и тогда перебросят на другой проект.

Fredrik ()
Ответ на: комментарий от fero

>Вы учитель?

Ни в коем разе, а откуда такие мысли?!

lodin ★★★★ ()

Никогда не имел дела с таким кодом. Везде где я работал - всегда проекты с нуля. Я не мазохист.
Зачем себе настроение портить копаясь в говнокоде? Получил в наследство говнокод - выбросил в помойку, и начал заново по своему разумению.

Pantserovik ()

>Вопрос: как с этим (т.е. не с плохим кодом, а с состоянием, которое он вызывает) бороться?

К психологу?

З.ы. а вообще рефакторинг рулит.

Siado ★★★★★ ()
Ответ на: комментарий от Pantserovik

> Никогда не имел дела с таким кодом. Везде где я работал - всегда проекты с нуля. Я не мазохист. Зачем себе настроение портить копаясь в говнокоде? Получил в наследство говнокод - выбросил в помойку, и начал заново по своему разумению.

Программист hello world'ов? :)

Relan ★★★★★ ()

> Но нельзя, некогда, приходится править, часто по нескольку раз в _почти_ одинаковых скопипащенных кусках.

(ходит по сцене и поет, хлопая в ладоши в такт)
Рефакторинг, рефакторинг, рефакторинг, рефакторинг,
Рефакторинг, рефакторинг, рефакторинг, рефакторинг,
Рефакторинг, рефакторинг, рефакторинг, рефакторинг,
Рефакторинг, рефакторинг, рефакторинг, рефакторинг,
Рефакторинг, рефакторинг, рефакторинг, рефакторинг,
Рефакторинг, рефакторинг, рефакторинг, рефакторинг!

shimon ★★★★★ ()

Анализом кода и рефакторингом в IDEA

maxcom ★★★★★ ()

хорошо если только от кода воротит, а если к нему добавить dos+bp+td - вот он ерш для мозгов и нервов
борюсь тем, что сознательно теряю надежду на результат - сразу спокойней становится, а затем чегото и выходит )

x905 ★★★★★ ()
Ответ на: комментарий от Pantserovik

> нет, ты не угадал

программист систем аналитического решения систем диффуров?

cvs-255 ★★★★★ ()
Ответ на: комментарий от sign

После того, как написал свое сообщение прочитал тред.

Удивительно, но все советуют рефакторинг ;).

sign ()

Прямо сейчас сижу матерюсь, стучу лбом по клаве и в 100й раз решаю про себя бросить это гавённое программирование и уехать в Тибет или выращивать картошку.
Пока не бросаю - так как надо кормить семью.
Судьба такой.

siberean ()
Ответ на: комментарий от siberean

Люди, предлагающие рефакторинг не учитывают, что легаси-код может быть на других языках (какой-нибудь повербилдер 90х годов, SAS, кастомные дсл-языки и макры, написанные пионерами, когда те учились, и из-за многих расширений эволюционировавшие в простыни кастомного кода, почти обфускейченного, для которого уже нет дебаггера), делали его потом многие фирмы годами (добавляя функциональность) и накуралесили копипастами и разными стилями.
Или какой-нибудь SAS с макрами и регрессионным анализом (пойми там - что их внутренние функции делают). А ты разбирайся - во что эти макры раскрываются, расписывая бесконечное количество индирекшенов на бумаге чтобы понять что происходит хотя бы приблизительно (а надо точно! Надо переписать!). И сделать надо завтра.
НЕНАВИСТь!!!!!!!!!!!!!!!!!

Не ходите в быдлоэнтерпрайз - у кого есть ещё выбор остаться в науке.

siberean ()
Ответ на: комментарий от shimon

Безусловно. Причём один раз это таки-закончилось переписыванием компонента с нуля.

lodin ★★★★ ()

> Вопрос: как с этим (т.е. не с плохим кодом, а с состоянием, которое он вызывает) бороться?

Переписать с нуля с использованием хорошего фреймворка, настроение очень поднимает

Bad_Habit ()
Ответ на: комментарий от siberean

в конкретной ситуации, затрудняюсь,

попробуйте переосмыслить, посмотреть с другой стороны на свою работу.

можете думать, например, что препарируя говногод, вы стираете последнее упомнинанее об пид**асах, которые его писали.

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

Aneko ()

ну вот, только вернулся домой, ступил за порог и слышу от жены: «Как же я ненавижу это программирование. Уже вакансии смотрела и продумывала повод уйти. Такого нагородили, когда это можно сделать несколькими строчками. Человеческая глупость безгранична. У тебя точно такого как у меня нет». Итд.

siberean ()
Ответ на: комментарий от siberean

О-о, «а у меня хуже — нет у меня» как способ разгрузки! Должно б-м помогать.

lodin ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.