Видео смотреть бесплатно

Смотреть мультики видео

Официальный сайт ufa-check 24/7/365

Смотреть видео бесплатно

uscr 14.04.2012 12:09

Talks!Как поступать с костылями и синей изолентой?

Здравствуйте. Предлагаю высказаться о вашем мнении насчёт не очень красивых решений, т.н. "костылей". Речь не только о разработке ядра Windows, а вообще о всём IT. Я, например, придерживаюсь мнения, что "не сломалось - не чини", а если делаешь с нуля, то делать надо хорошо. Но по ряду причин, таких как:

"так исторически сложилось"
"менять слишком дорого"
"не знаю, как по другому"


получаются весьма интересные решения.

Например, у одного провайдера видел красивое решение для авторизации абонентов, которое было прекрасно само по себе, но к биллингу было прикручено 4 мотками синей изоленты, а для крепости было прибито ржавыми гвоздями, которые мешались на проходе, цеплялись за свитеры админов, но работало всё как надо. Потому никто и не переделывал.

А сколько говнокода, который мы "перепишем в выходные" скопилось в наших маленьких скриптах, которые облегчают жизнь? Что уж эти маленькие скрипты, если даже на продакшене порой трудятся скрипты, которые всунули туда ещё в альфа-версии, да так и оставили. Потому, что для изъятия этого крохотного десятистрочного скрипта из продакшена, придётся перепиливать ядро системы вдоль и поперёк (тоже реальный случай, да).

Так что вы об этом всём думаете?


Тэги: говнокод костыль после пятницы.
+ 3 -
Похожие Поделиться

cppmm 14.04.2012 13:03 #
+ 7 -
Думаю, что костыли изначально не надо плодить. Нет таких случаев, когда быстрый костыль лучше, чем нормальное решение проблемы. А если досталась система с костылями, надо расшибиться об стену(или расшибить лоб начальству), но от костылей избавиться.

Поясню на примерах.
Работал в провайдере. Достался страшный и забагованный сервер на FreeBSD 4.10(и это в 2006-ом году). И это один из ключевых узлов. Молодой я был, неопытный, сразу не смог начальству объяснить, что менять надо всё к чертям. В итоге поддерживал имеющиеся костыли.
Сначала отлетела система авторизации, которая собиралась не из стандартных портов, а с накладыванием какого-то патча, который где-то когда-то выкопал предыдущий админ, подправил там что-то и кое-как воткнул. Итог: почти неделю юзверя авторизовывались через раз. Потери в финансах, потери в нервах у девочек на телефоне, потери сна у меня.
Через некоторое время внезапно после очередного нового года что-то там заглючило с датами и отпала система учёта траффика, потеряв при этом всю статистику за последний месяц. Итог: как выставлять счета клиентам - неясно, за две недели пишется и интегрируется в систему новая учётка. Опять потери в финансах, опять потери в нервах(в этот раз у директора), опять потери сна у меня, потому как учётку я писал.
Когда я оттуда уже уволился, на том серваке "почти" ничего не осталось. Почти в кавычках, потому что там остался почтовый сервер старейшего в городе провайдера с красивым доменом. А это значит, что база почтовых пользователей там не маленькая. Итог: в конце концов его поломали, базу грохнули(по рассказам оставшегося там работать монтажника, подробностей не знаю). Огромные потери в нервах и репутации, про потери в деньгах не знаю, но думаю из-за оттока клиентов, тоже не сто рублей.
Это только самые крупные проблемы из-за костылей. А сколько было лишней текучей работы, я молчу.
А чтобы всего этого не было, надо было всего лишь планово в течении месяца поднять новый сервер, предупреждая заранее пользователей о проведении технических работ, перенести все составные части по отдельности и запустить таким макаром это всё без костылей. Итог: нет никаких потерь, сплошное счастье кругом.
После этого я ещё пару раз шёл на поводу и оставлял костыли, но со временем понял, что лучше или делать сразу и хорошо или не делать вовсе. "Работает не трогай" - хорошая бородатая шутка, но в реальности это принцип дилетантов. Сейчас я если берусь за какую-то работу, делаю так, как оно должно быть. Если нет возможности обойтись без костыля, я переделываю всё, чтобы такая возможность была. Если начальник/клиент не хочет тратить время/деньги на переделку, то я с этим человеком работать отказываюсь, потому что мне не нужны проблемы потом.
Popeye 14.04.2012 18:22 #
+ 0 -
многабукаф. ниасилил
cppmm 14.04.2012 20:39 #
+ 2 -
Правильно. Админы, поставьте ограничение на 160 символов в посте и комменте. Твиттер - наш выбор.
philosoft 14.04.2012 21:31 #
+ 1 -
Историю про «старый забагованный сервер на FreeBSD 4.10» ты уже пару раз рассказывал))
cppmm 14.04.2012 21:33 #
+ 0 -
Больная тема. :)
cppmm 14.04.2012 21:40 #
+ 1 -
Если интересно, кстати, могу несколько подобных примеров привести и из других моих косяков(а я считаю, что костыли - это именно косяк админа).
philosoft 15.04.2012 13:09 #
+ 0 -
Давай
Popeye 14.04.2012 18:25 #
+ 1 -
В целом - согласен с ТС. Думаю, что стоит, для крупных проэктов, устраивать какие-то субботники кода что ли. Разгребать, все эти конюшни вычищать.
uscr 14.04.2012 18:57 #
+ 0 -
Субботники - опять ресурсы, отвлечение от основных проектов... Но идея хороша!
philosoft 14.04.2012 20:35 #
+ 1 -
Очень часто в таких случаях проблема не в прогере, а в менеджере.
Popeye 15.04.2012 08:21 #
+ 1 -
А тут в любом случае траблы идут от руководства: херовый прогер - либо мало платят, либо подбор кадров никакой; херова сделано - задают нереальные сроки, выделяют мало работников либо опять же жопят деньги. При грамотном руководстве любой проект можно без костылей сделать, ну если он только не по определению костыль.
Popeye 15.04.2012 08:26 #
+ 0 -
а ну и постановки задач еще забыл. тоже немаловажно
Anrock 14.04.2012 23:32 #
+ 0 -
Обычно просто ставлю рядом с костылем большую табличку типа //ЭТО КОСТЫЛЬ KILL IT WITH FIRE, а потом переделываю при наличии свободного времени или как только окажется, что ради этого костыля нужно приделать другой костыль или вобще как-то учесть наличие этого костыля при дописывании кода. Когда дописывание логической единицы заканчивается, сразу убираю костыли, леплю комменты и вообще привожу няшный вид.
uscr 15.04.2012 08:29 #
+ 1 -
а потом переделываю при наличии свободного времени или как только окажется...

Да лааадно!
Anrock 15.04.2012 12:56 #
+ 0 -
Методичность, порядок, последовательность. Методичность, порядок, последовательность.
Методичность, порядок, последовательность.
Омммммм...
Shtsh 16.04.2012 19:41 #
+ 3 -
Обычно для рефакторинга требуется немало усилий (а проектам свойственно ходить по разным командам разработчиков/поддержки). И эти усилия заказчик должен оплатить. И заказчик не понимает, какой смысл переделывать всё, чтобы получилось сделанным правильно. Причём "правильно" зачастую - какое-то полумифическое состояние, которое меняется с течением времени и моды. Например, лет 5 назад могли захотеть переписать всё с использовать ООП, а сейчас это уже не модно - все пищат от функциональщины - это если касаться программирования.

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

P.S. Извините за поток сознания.
andreas 17.04.2012 00:24 #
+ 1 -
У меня коллега сейчас разбирает и переделывает свой же код 2005 года, который, кстати, работает и принёс фирме довольно много денег. Сейчас надо добавить "современный" функционал, а там костыль на костыле и костылём погоняет... Молодой он тогда был, неопытный... Я когда пришёл на эту фирму, туда глянул... у меня до сих пор волосы дыбом стоят, почему ЭТО работает. Вот он сейчас ругается, одно заглядение ;-) Надеюсь это будет ему урок и в этот раз всё сделает правильно.

В хорошем качестве hd видео

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн