Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #53, АПРЕЛЬ 2005 г.

По ту сторону кодинга

Алексей Башкеев

Спецвыпуск: Хакер, номер #053, стр. 053-068-1


(botan@dezcom.mephi.ru)

Обзор существующих технологий программирования и областей их применения

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

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

Экстремальное программирование (ХП)

Если ты никогда о нем не слышал, то, скорее всего, подумаешь о "сжатых сроках" программировании - по 20 часов в сутки или же о программировании в ситуациях, в которых высока цена ошибки и на плечи программиста ложится громадная ответственность. Один мой знакомый до сих пор считает, что ХП - это программирование в условиях Крайнего Севера без отопления. Спешу тебя огорчить, ХП – это лишь "небольшой набор конкретных правил, позволяющих максимально эффективно (читай: без напряжения и непроизводительной деятельности) выполнять требования современной теории управления программными проектами". Философия ХП основана на анализе многих успешных и провальных проектов. В результате такого анализа и родился вышеупомянутый набор правил. И хотя многие правила рассчитаны на крупные проекты с большим числом разработчиков, некоторые из них могут быть использованы и по отдельности. Полный обзор всех методов ХП можно найти на русском сайте www.xprogramming.ru, а я лишь коротко расскажу о некоторых из них.

User Story

С чего начинается большой проект? С постановки технического задания, скажешь ты и будешь прав. Но далеко не всегда заказчик является грамотным человеком и точно знает, что ему надо. Бывает, что заказчиков несколько и каждый видит конечный результат "немного по-другому". Заказчики вообще кажутся разработчикам довольно странными людьми и наоборот. В ХП эту проблему "недопонимания" решают следующим образом: заказчику предлагается написать User Stories (карточки пользователя). В них заказчик описывает элементы интерфейса и функциональности бушующей системы на простом человеческом языке, что должно быть положено в основу технического задания и на основе которых можно видеть, достигнут ли конечный результат. В общем, очень полезный инструмент для формирования технического задания.

О дизайне и интерфейсе в ХП

"Реализовывать не то, что может пригодиться, а то, без чего нельзя обойтись". Дизайн в концепции ХП следует этому принципу. Довольно часто, чтобы "улучшить" программу, разработчики добавляют массу возможностей, которые никогда не пригодятся пользователями, или ими будет пользоваться столь небольшое количество людей, что знай об этом разработчик – он не стал бы тратить время на их реализацию. Фразу "Это понадобится нам в будущем..." в ХП очень не любят – такие задачи можно могут сожрать до 90% рабочего времени всей команды, а польза от них не гарантирована. Очень большим талантом считается способность выбрать наиболее реальные задачи в проекте и сосредоточится именно на их решении.

Содержание  Вперед на стр. 053-068-2