Информация об изменениях

Сообщение Рассказ о Крутом Манагере от 22.01.2015 3:06

Изменено 22.01.2015 4:22 Юрий Лазарев

Здравствуйте, местные хакеры.
я здесь новый и не стал бы сюда заглядывать по своей нужде, но спровоцировал мой начальник. Бывший мой начальник, поскольку недавно уволил меня при очень странных обстоятельствах. Этот типчик вам здесь известен, это его тема "Оцените качество кода" http://rsdn.ru/forum/cpp/5787830.flat
Автор: GhostCoders
Дата: 18.09.14
висит у вас на форуме, и это он вызвал меня на этот форум, будучи уверен, что будто мне нечего будет возразить, и меня тут раздавят морально, так же как он раздавил уже материально.

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

При вашем желании я легко развею все его инсинуации.

Но всему поводом (видимо, формальным) послужило неудовольствие господина моим кодом, который, увы-увы, работает, и работает без ошибок, но так тяжело доходит до сознания Крутого Манагера. По его уверениям, все тут массой мой код отвергли, признали "ужасным", подтвердили худшие его опасения и потому он свернул все мои наработки (делавшиеся на заказ отечественным фирмам), разорвал договоры и отправил меня восвояси искать другую работу (которой у нас не так легко найти).

Честно говоря, я потому ожидал встретить тут тусующуюся толпу бандерлогов, с которыми я имею опыт общения на форумах различных тематик, от политических до научных и конспирологических. Но просмотрев реплики, я не нашел, что за "ужасность" высказалось какое то определенное большинство. Более того, я нахожу сообщения вполне толерантные, и даже с видимыми противниками, мне кажется, вполне можно найти понимание. Потому засчитываем заявление господина об явной "ужасности" ложью №1.

(Прошу прощения, надо прерваться. Продолжение следует. И обещаю, что по тематике форума, а не в форме разборки с Крутым меном)
Рассказ о Крутом Манагере
Здравствуйте, местные хакеры.
я здесь новый и не стал бы сюда заглядывать по своей нужде, но спровоцировал мой начальник. Бывший мой начальник, поскольку недавно уволил меня при очень странных обстоятельствах. Этот типчик вам здесь известен, это его тема "Оцените качество кода" http://rsdn.ru/forum/cpp/5787830.flat
Автор: GhostCoders
Дата: 18.09.14
висит у вас на форуме, и это он вызвал меня на этот форум, будучи уверен, что будто мне нечего будет возразить, и меня тут раздавят морально, так же как он раздавил уже материально.

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

При вашем желании я легко развею все его инсинуации.

Но всему поводом (видимо, формальным) послужило неудовольствие господина моим кодом, который, увы-увы, работает, и работает без ошибок, но так тяжело доходит до сознания Крутого Манагера. По его уверениям, все тут массой мой код отвергли, признали "ужасным", подтвердили худшие его опасения и потому он свернул все мои наработки (делавшиеся на заказ отечественным фирмам), разорвал договоры и отправил меня восвояси искать другую работу (которой у нас не так легко найти).

Честно говоря, я потому ожидал встретить тут тусующуюся толпу бандерлогов, с которыми я имею опыт общения на форумах различных тематик, от политических до научных и конспирологических. Но просмотрев реплики, я не нашел, что за "ужасность" высказалось какое то определенное большинство. Более того, я нахожу сообщения вполне толерантные, и даже с видимыми противниками, мне кажется, вполне можно найти понимание. Потому засчитываем заявление господина об явной "ужасности" ложью №1.

(Прошу прощения, надо прерваться. Продолжение следует. И обещаю, что по тематике форума, а не в форме разборки с Крутым меном)

Ага, тут есть редактирование сообщения. Поехали.

Давайте договоримся о парадигмах. Всякое программирование занимается полезным делом, когда воплощает решение задач реального мира. Программирование основано на языке, это его формальная сторона, тогда как содержательной является решение задач, то есть разработка алгоритма.
С этой точки зрения, все претензии господина относятся к формальной стороне дела, к сути проблемы он даже не подступал, и даже сама тема его "Оцените качество кода" чисто формальна — он даже не сделал попыток объяснить постановку задачи, почему и непонятно, что же он хочет.

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

Позвольте мне расширить аналогию.
Все эти классы, шаблоны и прочие новомодные фичи для существа программы представляют что-то вроде оглавления, содержания книги. Но не оглавления составляют ценность книг. И не их оформление. Представим современных книгочеев, спорящих о качестве книги по ее переплету, обложке и тому подобным мелочам, но при том не удосуживающихся прочесть даже и главы из книги. Граф Толстой ужасен, скажут они, разве можно писать так длинно? Он явно бездарен, вот нам нравятся хокку, — если бы он умел написать Войну и мир на хокку, это было бы совсем другое дело. А так — нет, writeonly.
Или представьте, как какой издатель указывал бы Толстому, как и сколько писать?

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

Вспомним, как Моцарт задержался дорогой, слушая неумелого деревенского музыканта. И Сальери, этого мощного стража формалистики, — гений склоняется к несовершенству, ищет живую душу, а тот, кто "алгеброй поверил гармонию", лишь бездарно стучит по клавишам в своей агонии мнимого совершенства.

Совершенство смерти подобно. Ведь любое движение нарушает уже достигнутое совершенство.
Именно это я и хотел когда то сказать в отношении "Совершенного кода" Макконелла. Как альтернативу, я предложил бы написать книгу "Искусство написания несовершенного кода", которая оказалась бы еще полезнее. Но кто внимательно прочел МакКонелла, увидит, что в ней нет строгих формальных требований, это не катехизис программиста, а всего лишь сборник полезных приемов и интересных идей.

Но, как всегда, находятся не в меру религиозно-озабоченные деятели, которые возводят из частных случаев догматы и начинают слепо придерживаться их. Так возникают Крутые Манагеры.

Спрашивается, где у Конелла запрет на писание функций длиной более 200 строк? Что за соображения обосновывают эту магическую величину? Может ли код остаться неплохим при 201, 300, 1000 строках?

Да, и вот этот мой код и есть тому подтверждение. При чем, я не говорю, хорошим, я говорю, неплохим, поскольку он все равно хорошо поддается отладке и скейлингу (последнее тому подтверждение — мой последний новый код, как развитие вами виденного, с новым оригинальным алгоритмом).