Легкий способ бросить писать идеальный код(с хабра)

Духовность™

Продвинутый новичок
хорошая цитата оттуда
Что-то много стало борцунов с каким-то мифическим «перфекционизмом». Главное, что выход из бесконечного цикла совершентсвования предлагается один на все случаи — написать говнокод. А потом его уже усовершентсвовать — написав поверх него ещё одну обёртку говнокода. Здесь встаёт вопрос, а зачем вообще писать говнокод? Почему автор считает, что процесс разработки ПО начинается и заканчивается написанием кода. Код это всего лишь выражение, того что у вас в голове, и если вы пишете говонокод, значит и в голове у вас говномысли, и как бы вы этот код не переписывали получится тоже самое. В написании кода должна быть только одна итерация — первая она же последняя, а вот в разработке архитектуры и алгоритмики итераций может быть много, их кол-во ограничивается требованиями к качеству решения поставленной задачи. Понятно, что если «писать программы» методом тыка, как мартышки, а не разрабатывать ПО, то тогда жизни не хватит, чтобы довести код до совершенства.
 

Вурдалак

Продвинутый новичок
Духовность™, я хотел бы посмотреть на код автора этой цитаты.
 

Духовность™

Продвинутый новичок
Ещё раз объясню: мой "идеальный" код, который я упомянул - это код собственного проекта. Сейчас, я считаю, написал очень много кода для совсем небольшого приложения. И затравленный вами перфекционизм в коде спасает меня от потери контроля над проектом. Я пишу "идеальный" код для себя.

Я сейчас работаю в очень известной компании, занимающейся розничной продажей техники. Мы в кол-ве 9 человек реанимируем проект, который приносит деньги. Реанимируем потому, что кто-то когда-то тоже считал, что главное - результат. Т..е писали откровенный говнокод. И благодаря этим компаниям компания-вледелец несет определенные убытки в виду траты средств на бесконечный рефакторинг.
 

Adelf

Administrator
Команда форума
Духовность™
Да я все никак не могу забыть, что ты пишешь идеальный код. Чорная зависть жрёт изнутри :)

Статья, кстати, не о том, чтобы писать говнокод. (тут был абзац текста). Чето не хочу опять на эту тему холиварить :) надоело.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Я вот уже 27й помоему раз переписал свой движок( Кажется, я не остановлюсь никогда...
 

Духовность™

Продвинутый новичок
Статья, кстати, не о том, чтобы писать говнокод.
тогда расскажите, как можно не писать говнокод в контексте советов автора статьи?
Делайте быстро, старайтесь как можно быстрее сделать так, чтобы приложение работало, выполняло свои цели. После этого начинайте заниматься доведением кода до ума. Исправляйте ошибки.
Автор хот раз рефакторил такой код, доводил его "до ума"? Я доводил и сейчас, перед тем, как написать следующую порцию кода, банально включаю голову, прежде чем "ДЕЛАТЬ БЫСТРО".

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

Ну и т.д.

КГ/АМ
 

Adelf

Administrator
Команда форума
Духовность™
В суровом бизнесе тебе никто не даст просто взять и переписать важную часть системы. Это нужно будет провести огромную работу тестировщиков по регрессии каждого элемента системы. Переписывать другие части кода, использующие эту часть. В общем, это крайне дорого и, имхо, редко решаются на это.
 

Духовность™

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

findnext

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

atv

Новичок
Таки автор перепутал стремление к совершенству с критериями оценки этого самого совершенства :D. Рекомендации в статье, в принципе, правильные, а если подкрепить их правильными критериями оценки, то и стремление к совершенству можно удовлетворить, и результат получить. Проблема только в том, что понять это можно только на собственном опыте, а не из прочтения статьи. Большинство будут использовать статью для оправдания себя любимых.
 
  • Like
Реакции: AmdY

AmdY

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

whirlwind

TDD infected, paranoid
Про ТДД говорить не буду, хотя автор статьи его и упомянул, но похоже что никто особо не заметил. Акцентирую внимание на итерациях. Итерация - это встряска и переосмысление. Если работать одной большой итерацией то всегда получается застой, потому что образуется мыслевой мейнстрим. Что бы избежать аналитического ступора, нужна встряска, смена окружения. После небольшой итерации всегда есть ретроспектива и определение следующего шага. Но при этом размер шага всегда известен. Если не получается, всегда легче отступить на шаг назад, чем вернуться в начальную точку и повторить путь заново. Таким образом, итерации чередуют работу кодера и проектировщика. Эта смена ролей не дает мозгам надолго зацепляться за одну проблему.
 
  • Like
Реакции: atv

iceman

говнокодер
ну если я пишу заново, я стараюсь писать верно и просто. но если я уже допиливую чьюто систему - то я плюю на переделку (пока это возможно) и дальше говнокодю +)
 
Сверху