О синдроме NIH
Apr. 27th, 2009 03:30 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Как наши многоуважаемые читатели уже могли заметить, мы с ребе
belnetmon страдаем синдромом NIH в особо запущенной и тяжелой форме. Симптомы усугубляются еще тем, что мы сами это осознаем, но избавляться от него в большинстве случаев не собираемся.
Этому есть объяснение, и самым кратким образом оно описано вот тут:
Ссылка
1. Использование готовых решений, увы, стоит очень много времени. Вот как только понадобится перейти на новую версию ОС, на которой работает только новая версия решения, уже несовместимая со старой - сразу и будет стоить.
2. А тем, что этот кусок не сломается внезапно.
Никогда не сталкивались с тем, что вы приезжаете к важному заказчику ставить систему, а у вас сторонний модуль начинает кидать коней из-за несовместимости с какими-нибудь тонкими квантовыми эффектами настройки компа, ОС или инфраструктуры у оного заказчика?
Или когда система в силу особенностей реализации сетевых протоколов сразу же демонстрирует все грабли в настройках сети, типа глюков с фрагментацией пакетов и MRU.
И еще хорошо, если есть исходники, в исходниках можно разобраться и пересобрать их с отладочной инфой и есть тот, кто в них разбирается. Обычно этим занимаюсь я - у меня есть какая-то совершенно нездоровая страсть выискивать и чинить чужие ошибки, особенно если они проявляются спонтанно и зависят от конфигурации компа и виндов.
А если "готовое решение" - это программно-индусская жопа в виде хреново документированных готовых бинарников, вызываемых через несколько слоев COM-объектов, сетевых вызовов и прочей жути, там даже мне лень в эти дебри лезть.
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Этому есть объяснение, и самым кратким образом оно описано вот тут:
Ссылка
1. Использование готовых решений, увы, стоит очень много времени. Вот как только понадобится перейти на новую версию ОС, на которой работает только новая версия решения, уже несовместимая со старой - сразу и будет стоить.
2. А тем, что этот кусок не сломается внезапно.
Никогда не сталкивались с тем, что вы приезжаете к важному заказчику ставить систему, а у вас сторонний модуль начинает кидать коней из-за несовместимости с какими-нибудь тонкими квантовыми эффектами настройки компа, ОС или инфраструктуры у оного заказчика?
Или когда система в силу особенностей реализации сетевых протоколов сразу же демонстрирует все грабли в настройках сети, типа глюков с фрагментацией пакетов и MRU.
И еще хорошо, если есть исходники, в исходниках можно разобраться и пересобрать их с отладочной инфой и есть тот, кто в них разбирается. Обычно этим занимаюсь я - у меня есть какая-то совершенно нездоровая страсть выискивать и чинить чужие ошибки, особенно если они проявляются спонтанно и зависят от конфигурации компа и виндов.
А если "готовое решение" - это программно-индусская жопа в виде хреново документированных готовых бинарников, вызываемых через несколько слоев COM-объектов, сетевых вызовов и прочей жути, там даже мне лень в эти дебри лезть.
no subject
Date: 2009-04-27 12:55 pm (UTC)если вы не пользуетесь собственным компилятором Modula-2 написанным на Modula-2, то вы не страдаете NIH =)
прогроммисты, мля
Date: 2009-04-27 01:01 pm (UTC)Re: прогроммисты, мля
Date: 2009-04-27 01:08 pm (UTC)Тогда единственный вариант - это еще и железо с собой тащить.
Re: прогроммисты, мля
Date: 2009-04-27 01:11 pm (UTC)Re: прогроммисты, мля
Date: 2009-04-27 02:30 pm (UTC)Re: прогроммисты, мля
Date: 2009-04-27 03:51 pm (UTC)Re: прогроммисты, мля
Date: 2009-04-27 04:37 pm (UTC)Но в этом есть определенный риск всяких неприятных багов.
no subject
Date: 2009-04-27 03:08 pm (UTC)no subject
Date: 2009-04-27 08:42 pm (UTC)no subject
Date: 2009-04-27 04:39 pm (UTC)Почему они не сделали 0.0.0.0 и почему не вынесли в настройки - загадка страшная. Может, кстати, где-нибудь в дебрях это можно таки настроить.
no subject
Date: 2009-04-27 09:40 pm (UTC)Может Вы хотите сказать, что написанный Вами никогда так не глючит? Ха-ха три раза.
> в исходниках можно разобраться и пересобрать их с отладочной инфой и есть тот, кто в них разбирается.
Итого:
- в стороннем коде надо разбираться, если будут кони (вероятность p1)
- в своём коде надо разбираться при написании (100%) +и если будут кони (p2)
покажите мне выгоду?
no subject
Date: 2009-04-27 09:58 pm (UTC)В собственном коде я хотя бы уверен, что исключения корректно обработаны и в лог записаны и коды ошибок APIшных не игнорируются. А в чужом я неоднократно видел полное забивание на обработку ошибок и вообще диагностику любую.
no subject
Date: 2009-04-28 11:07 pm (UTC)- Чужой (уже отлаженый и в общем-то работоспособный) код надо просто прочитать и улучшить
- Свой надо придумать, написать, отладить, и только потом искать баги.
И не факт, что свой код через скажем месяц как-то отличается от чужого.
Я наблюдал людей с НИХ-синдромом. Могу сказать, что обычно это люди, которые раздражаются по мелочам и от этой злости прекращают думать. У меня наработан навык перевода "на лету" в голове чужого мусора в свои понятия. Я думаю, как можно было бы ЭТО переписать, мне интересно -- и потому не отказываюсь понять. Для меня Code Review это тяжёлый, но приятный труд.
Ну и у Вас специфика -- дотнетчики по сравнению с явистами всё-таки что плотник супротив столяра.)))
no subject
Date: 2009-04-28 07:30 am (UTC)no subject
Date: 2009-04-28 07:42 am (UTC)Поэтому Kolab при развертывании собирает полсистемы, начиная от компилятора.
А Zimbra идет в виде virtual appliance с надписью "руками не трогать".