вот скажем написали вы явный говнокод для решения какой то задачи так как
решали задачу методом тыка переписываете ли вы впоследствии этот код "по нормальноиу" ?
или вы стронник идеи что у задачи не может быть идеально правильного решения
и что работающий говнокод ничем не хуже "не говнокода" ?
Здравствуйте, jyuyjiyuijyu, Вы писали:
J>Всем привет
J>придерживаетесь ли вы этого правила ?
J>вот скажем написали вы явный говнокод для решения какой то задачи так как J>решали задачу методом тыка переписываете ли вы впоследствии этот код "по нормальноиу" ?
J>или вы стронник идеи что у задачи не может быть идеально правильного решения J>и что работающий говнокод ничем не хуже "не говнокода" ?
Здравствуйте, jyuyjiyuijyu, Вы писали:
J>Всем привет
J>придерживаетесь ли вы этого правила ?
J>вот скажем написали вы явный говнокод для решения какой то задачи так как J>решали задачу методом тыка переписываете ли вы впоследствии этот код "по нормальноиу" ?
Переписываю
J>или вы стронник идеи что у задачи не может быть идеально правильного решения
этой сторонник
J>и что работающий говнокод ничем не хуже "не говнокода" ?
А этой нет
Здравствуйте, Aikin, Вы писали:
J>>и что работающий говнокод ничем не хуже "не говнокода" ? A>А этой нет
а у меня бывает так решаю задачу методом тыка естественно на выходе черновой вариант кода а потом мне просто лень его переписывать на чистовую ведь код от этого лучше не станет работать...
Здравствуйте, jyuyjiyuijyu, Вы писали:
J>Всем привет
J>придерживаетесь ли вы этого правила ?
Нет. J>вот скажем написали вы явный говнокод для решения какой то задачи так как J>решали задачу методом тыка переписываете ли вы впоследствии этот код "по нормальноиу" ?
Да. J>или вы стронник идеи что у задачи не может быть идеально правильного решения J>и что работающий говнокод ничем не хуже "не говнокода" ?
Нет.
В незнакомую предметную область въезжаешь постепенно.
Первый вариант, как правило, не самый лучший.
Но на нем уже можно работать.
Заказчика устраивает.
Но въехав в предметку, понимаешь, где и как можно ускорить-улучшить-упростить.
Я — переписываю.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
если говнокод хорошо локализован и имеет хороший неговноинтерфейс, и не имеет проблем с ошибками, поддержкой и т.п. то нафиг чинить?
А вот если его говнистость нелокальна, то есть порождает необходимость в усложнениях других систем, то его стоит чинить даже в том случае если непосредственных проблем/ошибок нет.
Здравствуйте, jyuyjiyuijyu, Вы писали:
J>Всем привет
J>придерживаетесь ли вы этого правила ?
Да. Если есть говнокод, но он работает и клиенты удовлетворены то смысла переписывать нет. В особенности, если проект здоровый.
Но если что-то не работает или клиенты не довольны, то переписываю.
Здравствуйте, jyuyjiyuijyu, Вы писали:
J>придерживаетесь ли вы этого правила ?
Да, если это работает быстро/без issues & не вредит последующей разработке.
J>вот скажем написали вы явный говнокод для решения какой то задачи так как J>решали задачу методом тыка переписываете ли вы впоследствии этот код "по нормальноиу" ?
Иногда. Это не необходимость — это ради собственного удовольствия.
J>или вы стронник идеи что у задачи не может быть идеально правильного решения J>и что работающий говнокод ничем не хуже "не говнокода" ?
Должны быть определенные критерии чтобы признать работу кода эффективной. Если код эффективен в соответствии с критериями, то "говнокод" в вашей голове. Есть неплохая статья по данной теме — http://nathanmarz.com/blog/suffering-oriented-programming.html
Здравствуйте, jyuyjiyuijyu, Вы писали:
J>а у меня бывает так решаю задачу методом тыка естественно на выходе черновой вариант кода а потом мне просто лень его переписывать на чистовую ведь код от этого лучше не станет работать...
Интересно, что ты скажешь, если тебя попросят в этом твоем коде что-нибудь поправить через пару-тройку лет?
Здравствуйте, jyuyjiyuijyu, Вы писали:
J>вот скажем написали вы явный говнокод для решения какой то задачи так как J>решали задачу методом тыка переписываете ли вы впоследствии этот код "по нормальноиу" ?
Здравствуйте, dilmah, Вы писали:
D>если говнокод хорошо локализован и имеет хороший неговноинтерфейс, и не имеет проблем с ошибками, поддержкой и т.п. то нафиг чинить?
D>А вот если его говнистость нелокальна, то есть порождает необходимость в усложнениях других систем, то его стоит чинить даже в том случае если непосредственных проблем/ошибок нет.
согласен.
гавнокод, если он хорошо изолирован , и г.. не вытекает за пределы ф-ии, модуля — не стоит переписывать, если в нем нет багов.
Помните : любой код — по определению "гавнакод", потому что писал его смертный.
Здравствуйте, jyuyjiyuijyu, Вы писали:
J>Всем привет
J>придерживаетесь ли вы этого правила ?
J>вот скажем написали вы явный говнокод для решения какой то задачи так как J>решали задачу методом тыка переписываете ли вы впоследствии этот код "по нормальноиу" ?
Бывает. Надо выдерживать сроки и не всегда можно просто взять и переписать. Но да, если я знаю, что тут говнокод, то откусываю время для рефакторинга, что потом выливается в отсутствие багов или незаметном багфиксе. J>или вы стронник идеи что у задачи не может быть идеально правильного решения J>и что работающий говнокод ничем не хуже "не говнокода" ?
Самое забавное если ты этот говнокод видишь впервые и думаешь что это говнокод, а когда переписываешь всё, то получается то же, что и было .
Здравствуйте, jyuyjiyuijyu, Вы писали:
J>вот скажем написали вы явный говнокод для решения какой то задачи так как J>решали задачу методом тыка переписываете ли вы впоследствии этот код "по нормальноиу" ?
J>или вы стронник идеи что у задачи не может быть идеально правильного решения J>и что работающий говнокод ничем не хуже "не говнокода" ?
Я думаю что стоит упомянуть еще один момент.
Часто плохой код появляется не при его написании, а именно после внесения множества мелких изменений.
Каждое такое изменение в отдельности никаких дополнительных переделок не подразумевает.
Но после накопления определенного количества таких изменений главное не упустить момент, когда все это уже станет невозможно(в рамках бюджета) ни поддерживать, ни переписать
Здравствуйте, Aikin, Вы писали:
J>>вот скажем написали вы явный говнокод для решения какой то задачи так как J>>решали задачу методом тыка переписываете ли вы впоследствии этот код "по нормальноиу" ? A>Переписываю
А как же "отрефакторить всегда успеешь" ? Странно, вроде всегда успеваешь, а переписывать приходится. Непонятно
Здравствуйте, Ikemefula, Вы писали:
J>>>вот скажем написали вы явный говнокод для решения какой то задачи так как J>>>решали задачу методом тыка переписываете ли вы впоследствии этот код "по нормальноиу" ? A>>Переписываю
I>А как же "отрефакторить всегда успеешь" ? Странно, вроде всегда успеваешь, а переписывать приходится. Непонятно
Это-то понятно.
Непонятно почему некоторые не удосуживаются подумать над словами других, прежде чем ввязываться в "бой" и доказывать что они не правы.
Здравствуйте, jyuyjiyuijyu, Вы писали:
J>или вы стронник идеи что у задачи не может быть идеально правильного решения J>и что работающий говнокод ничем не хуже "не говнокода" ?
Если задача не разовая, предполагает развитие кода, то код "сломан". Просто он сломан так, что пока как-то работает. Если ресурсы есть, надо переписать. Впрочем переписывание можно (и иногда нужно) отложить до первого исправления кода, но надо понимать, что любое исправление должно включать в себя это переписывание.
По аналогии с авто, с некоторыми неприятностями проще ездить, пока они не вылезут сами, чем мучаться с диагностикой случайного стука, но если планируется поездка на несколько тысяч км, то хочешь не хочешь, а приведи в идеал.
Здравствуйте, jyuyjiyuijyu, Вы писали:
J>Всем привет J>придерживаетесь ли вы этого правила ?
Бывает и так, что код развивается циклами. Типа раз в год-два выкатывают мажорный релиз.
В цикле обычно планируют время на рефакторинг, который направлен, не только под обеспечение предполагаемого развития, но и на исправление известных проблемных мест.
Но в целом, обычно, по крайней мере на высоком уровне планирований задач, всё равно можно ещё ответить, какова будет выгода непосредственно от той или иной задачи. Переписать просто что бы переписать -- это очевидно не выгодно...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, jyuyjiyuijyu, Вы писали:
J>>>и что работающий говнокод ничем не хуже "не говнокода" ? A>>А этой нет J>а у меня бывает так решаю задачу методом тыка естественно на выходе черновой вариант кода а потом мне просто лень его переписывать на чистовую ведь код от этого лучше не станет работать...
А я себя заставляю переписывать. Так как очень много раз натыкался на такую "логику", в которой без поллитра не разобраться (в том числе и мою). Я слишком уважаю себя завтрашнего, чтобы ему такую подлянку делать.
Здравствуйте, Aikin, Вы писали:
A> Я слишком уважаю себя завтрашнего, чтобы ему такую подлянку делать.
Так это очень сильно завязано на предполагаемый цикл жизни кода. Если проект будет жить лет 5-10, то любой "bad smell code" необходимо переписать — экономя свое же "завтрашнее" время (которое, скорее всего, будет ценнее "сегодняшнего"). Но вот если проект разовый — типа, написал, сдал Заказчику и забыл, и никакой дальнейшей работы с этим заказчиком и с этим кодом не предполагается, только в архив, — то необходимость переписывания (и вообще любых улучшений в коде, как только мы выполнили требования ТЗ) совсем не очевидна...