`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Вячеслав Колдовский

По итогам P&P Roadshow: о повторном использовании кода и повторной оплате труда

+1315
голосов

Вчера мне представилась возможность побывать на весьма знаковом мероприятии для отечественных разработчиков, организованном местным представительством Microsoft: однодневном семинаре группы Patterns & Practices (P&P), проходившем в здании Академического кукольного театра в Киеве на Грушевского 1 (сайт мероприятия: pnp.in.ua).

P&P представляли руководители проекта и его отдельных направлений: Дон Смит (Don Smith), Аджой Кришнамурти (Ajoy Krishnamoorthy) и Григорий Мельник. Имя последнего участника не случайно написано без англоязычного варианта, поскольку Григорий – выходец из Украины, поэтому публика к его выступлению отнеслась с особым интересом.

Вначале о том, что из себя представляет подразделение P&P. Это достаточно небольшое подразделение в рамках Microsoft с численностью персонала около 30 чел, состоящее в основном из весьма опытных разработчиков, архитекторов и других технических специалистов, задача которых состоит в том, чтобы снизить трудоемкость разработки и сопровождения ПО. Начинало подразделение с печатных и онлайновых руководств по шаблонам и архитектуре приложений, но впоследствии, следуя запросам пользователей, дополнило их и программным кодом, собранном в рамках open source библиотеки Enterprise Library (codeplex.com/entlib).

Разумеется, результаты работы P&P будут в первую очередь интересны разработчикам, использующим инструментальные средства, платформы и технологии Microsoft, а сама библиотека EntLib функционирует поверх .NET Framework, тем не менее, вопросы шаблонов и архитектуры сами по себе достаточно «technology agnostic» и, к примеру, созданное командой руководство «Application Architecture Guide» (в электронном виде доступно здесь: codeplex.com/AppArchGuide) читается достаточно легко, даже без оглядки на то, какие именно технологии и инструменты планируется использовать в конкретном проекте.

С учетом относительно небольшого размера команды, весьма примечателен и стиль ее работы: в отличие от некоторых других подразделений Microsoft (и гораздо более масштабного подразделения .NET Framework в том числе), команда, по словам докладчиков, на 100% руководствуется запросами клиентов: к примеру, при разработке очередной версии той же EntLib отбираются наиболее востребованные клиентами функции (по результатам голосований на Codeplex.com), которые дополнительно оцениваются с учетом времени и бюджета реализации, и если с доступными ресурсами проблем нет, то они включаются в план очередной версии. Разработка ведется двухнедельными итерациями, по результатам которых обновляется код на домашней странице проекта. Этот подход к работе и объясняет также, почему библиотека кое в чем дублирует или имеет собственную реализацию функциональности самой .NET Framework – клиенты нередко требуют альтернативной реализации функций платформы, и если спрос на них достаточно высокий, то они появляются в EntLib. Позже команда .NET подтягивает функциональность «со своей стороны» и некоторые функции в EntLib становятся устаревшими – как раз очередная, 5-я версия будет своеобразной «зачисткой» от устаревших функций.

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

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

Ну и к вопросу о повторном использовании кода – несмотря на то, что программирование как особый вид интеллектуальной деятельности, заключающейся в построении решения как из новых, так и из ранее созданных компонентов, на первый взгляд располагает к тому, чтобы как можно больше задействовать именно «ранее созданные компоненты», на практике это оказывается отнюдь не так. По разным причинам нарушается одно из важнейших правил «правильного программирования»: меньше кода – лучше результат. В итоге – раздутые бюджеты разработки, проблемы сопровождения избыточного кода и т.д. и т.п. Но если во времена экономического бума нередко на все это закрывали глаза, то в условиях кризиса руководители проектов становятся более избирательными в отношении того, что следует создавать своими силами, а что можно взять уже готовое. По словам Григория Мельника, именно в нынешние трудные времена интерес к EntLib оказался особо высоким.

Лично от себя хочу добавить, что по моему мнению, сформировавшемся в результате многолетнего опыта участия в самых различных проектах, современному подходу к программированию недостает механизмов, которые бы поощряли повторное использование кода. Проблема эта отчасти носит технический характер, но в то же время и в значительной мере организационная – мало кто готов платить программисту, к примеру за то, что он в рабочее время посидит почитает книжку или документацию к какой-нибудь библиотеке, вместо того, чтобы сидеть и писать код. Но в результате чтения книги или изучения сторонних библиотек он может найти решение, которое вообще не потребует написания нового кода! И в большинстве случаев это будет лучшим решением в долгосрочной перспективе.

Так что EntLib – очень хороший кандидат на самое пристальное изучение. Отдельно обращаю внимание на лояльную лицензию Ms-PL, позволяющую делать с кодом чуть ли не все, что заблагорассудиться. С библиотекой поставляется детальная документация и лабораторные работы (именно последние особо рекомендовали сами ее создатели) Также следует иметь ввиду, что P&P – это гораздо больше, чем просто EntLib. Официальный сайт подразделения P&P здесь: msdn.microsoft.com/practices.

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

+1315
голосов

Напечатать Отправить другу

Читайте также

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT