понедельник, 23 декабря 2013 г.

Критика книги Боба Мартина "Принципы, паттерны и методики гибкой разработки на языке C#"

clip_image002

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

На самом деле, это не первая такая заметка и есть как минимум три статьи с критикой вещей, описанных в этой книге. Вот краткое содержание предыдущих серий:

вторник, 17 декабря 2013 г.

О дизайне и сложностях перевода

Вы когда-нибудь бросали чтение классической книги после прочтения двух десятков страниц, толком не понимая, почему же ее так хвалят и что же со мной не так? При этом я не говорю за книги, типа банды четырех, о которой говорят на каждом шагу, но при этом есть лишь четыре человека в мире, которые прочитали ее от начала до конца. И я тем более не говорю за книги Дональда Кнута на прочтение которых нужно потратить минимум 3 жизни. Я говорю о чем-то попроще, типа DDD Эванса или Корпоративных Шаблонов Фаулера.

Вы начинаете читать книгу, читаете несколько страниц и ловите себя на мысли, что думаете о чем-то совершенно левом. Вроде бы и тема интересная и слова важные, всякие там «стратегии архитектурного проектирования» и «принципы борьбы со сложностью», но понимаете, что эти слова как-то мало для вас значат и в голове не возникает никаких образов и мыслей о том, что же хочет сказать автор.

Именно такая ситуация у меня была с книгами Эванса «Предметно-ориентированное проектирование» и «Проектирование процесса проектирования» Брукса. Я начинал читать классику о DDD дважды, но каждый раз бросал через 20 страниц; тогда я думал, что у меня не было нужного настроя, но в этот раз я, кажется, понял, в чем была причина.

понедельник, 2 декабря 2013 г.

Блогу 5 лет

clip_image002

Да, все верно, первый пост был опубликован ровно 5 лет назад, 2 декабря 2008 года и назывался “LINQ to Objects. VS2008 SP1 Bug” и был посвящен тому, что в VS2008 следующий код:

UPDATE (заменил Select на Cast), спасибо Eugene Ivanchenko:

var bytes = Enumerable.Range(1, 5).Cast<byte>().ToList();

работал нормально, а в VS2008 SP1 падал с ошибкой. Это теперь мы знаем, что так и должно быть и распаковка типа с конвертацией всегда завершается с ошибкой, но тогда это поведение казалось ошибкой.

С тех пор опубликовано две сотни постов и, что самое главное, мне это продолжает нравитьсяJ