O шаблонах в программировании - from different perspective

Mar 05, 2013 13:25

Вот тут avva написал одну интересную статью, и помог мне сформулировать то, что давно крутилось в голове.
Сначала - disclaimer - в примере приведенном Аввой - все правильно. И способ решения - в меру оригинальный, и вполне подходит для задачи.
И я с ним согласен, снимаю шляпу и т.д.
Про работу, или не всегда элегантность это плюс )

work, Работа

Leave a comment

Comments 10

kot_shred March 5 2013, 19:27:27 UTC
один из самых больших кошмаров , когда либо на меня свалившихся, был взятый мной в группу по личной просьбе очень умный и хорошо образованный программист, который знал "как надо" . . переубедить было невозможно, заставить тоже, выгнать его я не могла, т.к. ему было 50, иврита и английского никакого.
в резхультате, когда он наконец ушел сам, решив что его мало ценят, я переписывала за ним практически все, т.к. никто из группы простио не соглашался
написано было все по принципу "чтоб враг не догадался", до сих пор помню шедевральную функцию, которая делала все, даже кажется приносила кофе, металась между 4 объектами и т.д.
должна же была просто тупо открыть окно.

Reply

dumalkin March 5 2013, 19:55:58 UTC
Не, откровенно плохой запутанный и плохо структурированный код - это ловится просто.
Я пытался донести мысль что програмная система - она функция от Т, и любой хорошо написанный продуманный и т. д код должен не быть таковым сейчас, а оставаться таковым на протяжении некоего отрезка времени, несмотря на вариабельность внешних условий.
Разница - как между константой и функцией ;)
У константы есть какое то значение. Его надо получить, постараться получить побольше, и все. Сравнить две константы - тривиально. Но в реальных промышленных системах метрика качества кода - это вектор, построенный неизвестной нам функцией. И надо оптимизировать и выбирать решение не максимальное в данной точке, а дающее лучший результат на отрезке.
И тут начинается вся прелесть - какое поведение функции будем считать лучшим, и т. д.

Reply

kot_shred March 5 2013, 20:05:49 UTC
да, разумеется, я просто среагировала на несколько ключевых слов, для меня крайне болезненных
т.к. вот именно задача чтобы код оставался пригодным к использованию достаточное количество времени, заставляет вести постояннную войну с молодыми гениями и немолодыми "знающими как надо" :)

Reply

dumalkin March 5 2013, 20:15:06 UTC
Причем тут еще кроме собственных баб Яг встречаются технологические. Мы один проект года два назад перевели на WPF. Я был против, но не лег грудью на амбразуру.
В целом - работает, хотя все занимает больше времени чем раньше (программист средне знающий WPF пишет медленнее чем средне знающий winforms).
Классно делает то, что нам в общем то не нужно или нужно редко, и осложняет то, что делать приходиться часто. То есть в принципе WPF наверно неплох, прогрессивен и проч, но нам он нужен как щуке зонтик.

Reply


mudravrik March 6 2013, 06:53:28 UTC
Да, самое элегантное решение далеко не всегда самое правильное, но обычно очень трудно противостоять соблазну, патамушта красиво же :)

Reply

dumalkin March 6 2013, 07:05:45 UTC
Я для аргументации использую KISS - даже если это неправильно, про него все слышали и трудно спорить :)
Это когда других надо убеждать, и не лень.
А самому - да, легко впасть в грех излишней красивости, меня-то никто переубеждать не будет :)

Reply

mudravrik March 6 2013, 07:18:26 UTC
У меня для этой цели есть правильный начальник :) но тоже не чужд любви к красивому. одну такую ошибку уже второй год разгребаем.

Reply

dumalkin March 6 2013, 07:22:01 UTC
Вот вот. У меня начальники интересуются сроками и бюджетами, мои технические ошибки на их уровне уже неопознаваемы.
Я стараюсь все свои идеи обсуждать с теми, кто будет реализовывать, в режиме обсуждения, а не диктовки.
Хоть какой-то контроль. Но иногда мне удается всех запутать :)

Reply


Leave a comment

Up