Monday, February 10, 2014

Рецензия книг по подготовке к Microsoft Exam 70-483

Здравствуйте, уважаемые читатели моего блога. Сегодняшней темой будет рецензия на популярные книги по подготовке к сертификационному экзамену компании Microsoft Exam 70-483. Перед тем, как начать писать данную рецензию, я долго раздумывал над тем, могу ли я (= имею ли право) поддавать такие источники критике. По статусу я ни Microsoft Certified Solutions Developer (MCSD), ни MVP (Most Valuable Professionals), и даже не архитектор программного обеспечения. Я обычный разработчик программного обеспечения, для которого программирование - не только работа, но и образ жизни. И поскольку книги, которые будут описаны в данной статье, предназначены для таких ребят, как я, J, думаю, это оправдывает субъективный анализ.
Буду стараться максимально придерживаться рекомендации Джона Скита удерживаться от острой критики, но, к сожалению, не уверен, получится ли это у меня. Надеюсь, я вас немного заинтересовал, поэтому начнем разбор. Представлю к вашему рассмотрению рецензию на книгу Wouter de Kort, Exam Ref 70-483: Programming in C# и книгу Tiberiu Covaci, MCSD Certification Toolkit (Exam 70-483): Programming in C# (Wrox Programmer to Programmer).С самого начала была задумка написать две отдельных рецензии, но затем я решил их объединить, чтобы найти всю необходимую информацию в одном материале, а также ввиду свежести впечатлений о главных моментах, касающихся книг.

Для общего представления - вот как выглядят рассматриваемые книги:


Обзор книги Exam Ref 70-483: Programming in C#
Начнем обзор из книги Wouter de Kort, Exam Ref 70-483: Programming in C#., а именно - из положительных моментов, которые в ней встречаются.
  1. Краткость и лаконичность приведенного материала
  2. Стиль изложения материала
  3. Листинги кода, которые приводятся на протяжении всей книги
Пожалуй, больше выделить интересных концептуальных особенностей данной книги не могу.
Переходим к негативным моментам, с которыми мне пришлось столкнуться. Например, та же краткость описания материала создает другую проблему. Если Вы не стыкались с какой-то областью из книги, то материал в ней не будет достаточно информативным, чтобы понять эту область. Большинство тем рассмотрено "вскользь". Единственное объяснение, которое приходит в голову в связи с этим, - недостаточно глубокие знания автора в некоторых областях, которые он рассматривает. Вам нужно будет уделять много времени на изучение той или иной области из других источников. После того, как в сотый раз приходится смотреть MSDN, начинаешь задумываться о весомости и пользе этой книги. Чтобы понять некоторые аспекты из этой книги, нужно иметь достаточно глубокие познания языка C#, потому что здесь Вы не найдете объяснений, почему так, а не иначе, а только краткое описание. Для меня такая краткость была преимуществом, так как перед чтением данной книги я освежил свои знания книгой Jeffrey Richter, CLR via C# (Microsoft, Developer Reference) и читал эту книгу для сравнения и определения полезности ее как таковой. Стиль изложения в книге напоминает стиль Рихтера, Скита и других топ-авторов по языку C#, что, в свою очередь, подкупает. 
Если у Вас достаточно информационного багажа и Вы хотите освежить свои знания перед сертификацией, то эта книга довольно неплохая. Она читается очень легко, небольшая по объему и включает интересные сертификационные вопросы для сдачи экзамена. Вдумчивое ознакомление с данной книгой у меня заняло порядка пяти дней. Но поскольку сейчас я рассматриваю негативные моменты данного источника, то одним из них является то, что с данной книгой Вы не сможете подготовиться к достойной сдаче экзамена. 
Обычно такие книги покупают, чтобы посмотреть вопросы, которые будут на экзамене. Книга покрывает эту нишу, наверное, только в 4%. Вопросов немного, но радует то, что в них не так много ошибок, хотя они есть. Код написан неплохо. В некоторых примерах есть небольшие неточности, связанные с некорректным использованием кода (один из них - пример из WeakReference). В целом книге можно поставить объективную оценку "удовлетворительно". Книга хорошо подходит для освежения и для закрепления материала неплохими примерами и тестами. Но это не уровень книги для сертификации. Я ожидал от авторов большего количества вопросов и более глубокого раскрытия некоторых аспектов, а не описания, например, тасков несколькими предложениями.

Обзор книги MCSD Certification Toolkit (Exam 70-483) Programming in C#
Разница этой книги, в отличие от рассмотренной выше Wouter de Kort, Exam Ref 70-483: Programming in C#, по цене отличается почти в два  раза. Эту книгу писали сразу 4 автора: это Tiberiu Covaci, Rod Stephens, Vincent Varallo и Gerry O'Brien
Начнем из позитивных моментов в данной книге.
  1. Обилие разнообразных тестов
  2. Детальное описание базовых данных, необходимых для успешной сдачи экзамена.
  3. Ссылки по каждой главе на источники, с которых можно почерпнуть больше информации по рассмотренной теме.
А теперь пройдемся по негативным моментам насчет данной книги, один из которых это обилие ошибок в примерах, текстах и фактах. Если Вы знаете английский на том уровне, чтобы читать комментарии, рекомендую почитать отзывы об этой книге на Амазоне. Множество разработчиков, включая меня,  с трудом заставляют себя прочитать такую книгу до конца. Одна из мыслей, которые меня терзали в процессе чтения, это  то, что информация, которую я почерпну из данной книги, позволит мне написать эту статью. 
С первых глав книга пестрит ошибками в коде. Поэтому если Вам тяжело читать такие книги, возможно, посмотрите в строну спецификации по языку C#. Там нет таких ошибок, как в данном источнике. Возможно, это слишком резкое замечание к данной книге, но это ощущение не покидало меня все время, пока я читал данный шедевр. По поводу кода, есть еще одно замечание, которое заметит любой специалист который, долгое время работает с языком C# и у которого выработался стиль написания программного кода. Когда смотришь на примеры кода, не покидает ощущение того, что три программиста, один из которых программирует на Java, второй на  C++, а третий на языке C#, решили написать книгу по сертификации. Здесь изобилие наименований констант с С++, описания методов с Java, и изредка заметно вмешательство в текст материала разработчика C#. Для меня это было довольно непривычно. Дело в том, что такой стиль до этого я встречал в книге Боба Мартина "Принципы, паттерны и методики гибкой разработки на языке C#". У этого автора такой стиль был из-за того, что он много времени писал на Java и этот стиль перешел на C#. Здесь же наблюдается аналогичная проблема.
Также негативным моментом является стиль изложения материала. 
Приведу пример: представьте себе ситуацию, в которой Вам нужно описать для какой-то статьи  тип данных string. Представили? Большинство, надеюсь, пробовали бы писать, как, например, пишут авторы, упомянутые выше, а именно Скит, Рихтер, Барт де Смет и другие. Такой стиль легкий для понимания и запоминания, это проверено на практике. Авторы данной книги решили пойти другим путем. Для того же типа string они берут описание всех функций с документации и приводят их в книге. В итоге получается, что почти каждый класс пестрит изобилием методов, которые ему доступны. В результате для каждого класса почти 3-4 страницы занимает описание методов.  Не знаю, чем руководствовались авторы, но такой стиль изложения точно не способствует запоминанию. Человек не может запомнить больше 7 функций за один раз. Поэтому в компании Майкрософт не рекомендуют создавать  методы с более чем семью параметрами. 
Например, что можно написать о коллекциях? Авторы не ищут сложных путей. Зачем напрягать извилины, если можно по каждому классу, будь-то List<T>, Stack<T> и т.д., привести полную простыню доступных для них методов. Рейтинг данной книги на Амазоне 4 звезды, но она их заслуживает с трудом. Данную книгу из пропасти спасает только обилие вопросов, которые неплохо подкрепляют базу, необходимую для получения сертификата MCP - Microsoft Certified Professional. Учитывая все плюсы и минусы, этой книге можно поставить заслуженную оценку "неудовлетворительно". Для себя я отнес эту книгу в категорию "never read" и не хочу к ней когда-либо возвращаться.

Итоги
Подведем итоги после прочтения данных книг, выпущенных для подготовки к сдаче сертификационного экзамена. Эти книги - это попытка заработать деньги на ровном месте. Все знают, что сертификация Майкрософт пока еще в цене, а некоторые компании даже повышают денежное вознаграждение за труд специалистов с сертификатом Майкрософт. К сожалению, эти книги можно отнести к категории книг о том, "как быстро срубить денег". Из-за огромного количества недочетов и ошибок, которые присутствуют в обеих книгах, не рекомендую платить за эти книги деньги. Если у Вас не плохо с английским, намного большую пользу принесет просмотр курса на http://www.microsoftvirtualacademy.com/, который отвечает на часть вопросов по данному экзамену Ускоренный курс "Программирование в C#". Это значительно сэкономит Ваше время и деньги, если Вы надумали их вложить в  покупку этих книг. 


No comments:

Post a Comment