Страницы
понедельник, 29 июня 2009 г.
Цитаты из книги Джона Роббинса "Отладка приложений для Microsoft .Net"
Книга “Framework Design Guidelines” 2nd edition by Krzysztof Cwalina and Brad Abrams
Одним из главных достоинств объектно-ориентированного программирования является возможность повторного использования кода. Выполняя один проект за другим, команда разработчиков накапливает опыт в предметной области и обрастает различными вспомогательными классами, облегчающими решения повседневных задач. И даже, когда код повторно используется всего в нескольких местах, разработчики понимают, что к такому коду предъявляются уже совсем другие требования. Если при разработке приложений основной акцент делается на простоту сопровождения внутренней реализации, то при разработке библиотек он смещается в сторону простоты и удобства использования, даже за счет пренебрежения некоторыми идеями объектно-ориентированного проектирования. Кроме этого, разработка библиотек требует от команды разработчиков совершенно другого подхода ко всему циклу разработки, начиная от анализа требований и составления функциональной спецификации, заканчивая комплексным тестированием. Книга содержит множество правил, рекомендации и предостережений, которые нужно учитывать при создании библиотек, а аннотации таких известных людей, как Джеффри Рихтер, Крис Селлз, Андерс Хейлсберг, Герб Саттер и других, придают некоторую живость обсуждению и помогают лучше понять то, или иное правило.
"Пожалуйста, не придумывайте ничего нового при проектировании библиотек. Создавайте интерфейс своих библиотек настолько неинтересными насколько это возможно. Интересной должна быть функциональность библиотек, а не ее интерфейс"
Chris Sells
Помимо очевидной пользы всем, кто занят в разработке повторно-используемых компонентов, книга будет полезна и простым разработчикам. Важно понимать, что каждый язык или среда разработки обладает собственной субкульторой, следовать которой нужно не только при разработке крупных библиотек, но и при разработке приложений. Согласованное именование, применение устойчивых шаблонов и идиом во всех ваших проектах позволит значительно упростить реализацию и последующее сопровождение. Авторы касаются множества различных вопросов, таких как выбор между свойствами и методами, между базовыми классами и интерфейсами, событиями и методами обратного вызова, рассказывают о проблеме изменения значимых типов и о выборе между разными типами сериализации. Отдельно стоит отметить замечательную главу об исключениях. Хотя этой теме уделяется достаточное внимание в литературе, исключения остаются одной из наиболее сложных и малопонятных тем для большинства разработчиков.
"Издатели говорят, что количество проданных копий книги обратно пропорционально количеству формул в ней. Для разработчика библиотек версия этого закона следующая: количество пользователей, которые будут использовать вашу библиотеку обратно пропорционально количеству операторов new, необходимых в простых сценариях использования"
Krzysztof Cwalina
Книга будет полезна любой команде разработчиков на платформе .Net, не зависимо от опыта и сложности решаемых задач. Даже если в вашей команде есть опытный гуру-разработчик, который знает все эти правила на зубок, книга может послужить хорошим учителем для менее опытных разработчиков. Книга может непосредственно использоваться в качестве корпоративного стандарта разработки или послужить основой для ее создания, а при наличии таких инструментов, как FxCop, эти стандарты могут автоматически проверяться у всех участников проектной команды.
Оценка: Must Have.