Pull to refresh

Comments 22

Гугл находит только ваши же посты за прошлый год :)
А между тем, это ведь эвристика, и для каких-то ситуаций, может быть вполне даже годной :)
Хм… У меня гугл находит много всего, но только не мои посты :(
Да, конечно, эта эвристика вполне работает. Как и большинство другого кода, хорошего и плохого. Мне просто нравится слово. :)
Ясно :) Я думал, говнокод, это когда все плохо :)
g: «protected void parseSummaryLines()»
находит) я хотел весь код посмотреть, чтобы понять, но раз он работает то все ясно %)
В общем, работает, но маленькая ошибка в нём всё-таки есть.
Приятно видеть что говнокодят не только на php,
миф разрушен
Да что вы, на govnokod.ru/ Ява на четвёртом месте.
А вообще, говнокод возможен на любом языке — это легко доказать.
Покажите мне говнокод на брейнфаке (я не к тому, что его не может быть), очень интересно :)
Ну там есть особенность — на первый взгляд он выглядит, как нормальный…
Я не буду утверждать наверняка, но мне кажется, что любой код на брейнфаке — говнокод.
Могу ошибатся, но многие вещи там делаются так, как в нормальном(не эзотерическом) языке ни за что не делались бы, или посчитались ужаснейшим говнокодом.
А мне кажется, что вам неправильно кажется. Понятие говнокода возникает только тогда, когда можно то же самое сделать как-то иначе, изящнее или уместнее. В эзотерических языках чаще всего иначе никак нельзя, следовательно, понятие говнокода лежит в совершенно иной плоскости. Нельзя охаивать код по признаку «а в другом языке это делалось бы совсем иначе»!
Ну хорошо. Представим гипотетическую ситуацию, что в будущем Брейнфак станет безумно популярным.
Так вот, сейчас на нём пока не выработаны «best practice» для написания и поддержки серьёзных приложений, потому любая программа на брейнфаке тяжела для поддержки. Со временем эти советы будут вырабатыватся, будет прививатся стиль и он станет возможным для поддерживаемости. Следовательно, те программы, которые сейчас станут по меркам брейнфака быдлокодом, как код на языке php3.
Право — дикие люди! А ничего, что «assword» и «ongratulation» — весьма неплохой способ сэкономить память для хранения переменных в эмбед-устройствах, применяющийся с незапамятных времен? И в старых (да и не только) девайсах, обладающих LCD, применялся почти повсеместно? Ибо хранить «congratulations» и «Congratulations» весьма расточительно. А еще вариант — увеличение ординала первого символа строки — тут еще и на одной итерации экономия. Как балует людей могучее железо!
Еще вспомнил — скрипты в виндовом диаллере для автоматического установления PPP сессии. Там тоже «assword» с «ogin»-ом были.
Верное замечание, но это не тот случай.
Этот код работал на сервере с огромной кучей памяти. Там важнее корректность, чем экономия памяти. А этот код, кроме Successful, пропустит ведь ещё и Xuccessful.
В 99.9% случаев из тех, где может понадобиться подобный код никогда не возникнет на входе Xuccessful. Скорее всего тут разбирается конкретный вывод чего-либо. А если и возникнет, то… а если Xuccessful тоже устраивает? Без контекста использования почти никогда нельзя сказать достоверно гавнокод или не гавнокод. В том же code_wtf в половине случаев после разбора оказывается, что никакой это и не гавнокод, а просто кто-то не разобрался поглубже :) Но даже и без контекста видно, что разбираются какие-то итоговые строки на GOOD-ответ и BAD-ответ по признакам наличия в содержимом частей строк, которые однозначно указывают на результат. Повторяю, это более чем распространённое решение в таких случаях, а зачастую и самое приемлемое.
Всё верно. А разве кто-то спорит?
Я же так и написал: «Это простое и лаконичное решение, которое вполне справляется с поставленной задачей. „
А если взять и допустить, что происходит что-то вроде разбора логов или анализа возврата какого-либо протокола (а название метода и само содержимое строк как раз подходящие), то есть какого-либо многочисленного набора фиксированных/однотипных значений строк, то оказывается, что это вовсе и не гавнокод, а если не изящное, то самое логичное (и привычное для многих, кто с этим сталкивался) решение.

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

Как раз непрофессионал использовал бы что-то типа .equalsIgnoreCase, особенно если предполагается оптимизация по перфомансу, размеру байткода или памяти.
«assword» — это не «жопослово»! Это — «какмеч» =)
Sign up to leave a comment.

Articles