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 ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.