Читаем Постигая Agile полностью

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

Нетрудно понять, почему разработчики идут по этому пути. Они думают так: «Если бы кто-то другой создал платформу для работы, которую я сейчас выполняю, то я бы просто ее применил. Так почему бы не потратить немного времени на решение проблемы в общем виде?» Это очень благородно со стороны разработчиков и объясняет, почему так много команд попадают в платформенную ловушку.

Постойте, а что не так с повторно используемыми платформами?

Все нормально, и, конечно, в XP нет ничего, что исключает использование или разработку таких платформ. Одна из наших наиболее популярных книг Head First CM учит программистов использовать. NET Framework, технологию Microsoft, для создания Windows-приложений. Существуют отличные готовые платформы для разработки веб-приложений, рендеринга 3D-графики, создания сетевых сервисов и т. д.

Это не значит, что у вашего проекта должна быть установка на создание сетевого сервиса.

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

Программисты редко создают что-либо с нуля. В их распоряжении библиотеки, применяемые для чтения и записи файлов, доступа к сетевым ресурсам, графике и т. д. Это основной факт программирования: хороший разработчик, сталкиваясь с незнакомой проблемой, прежде всего ищет решение в веб-библиотеке. Поэтому, решив проблему, с которой могут столкнуться другие, он часто старается поделиться вариантом кода[62]. Это продуктивный способ создавать программное обеспечение.

В чем разница между библиотекой и платформой?

Вы знаете, что можете использовать библиотеку как независимую часть своего проекта.

Разница в том, что в библиотеке хранится код, разделенный на небольшие компоненты, которые можно применять повторно. Если цель заключается в создании простого кода, то каждый компонент должен делать только одну функцию. Компонент, выполняющий несколько функций, следует разделить на меньшие, более независимые модули. Это так называемое разделение ответственности; эффективные ХР-разработчики признают, что это важный элемент обеспечения простоты кода.

А платформа – это объединение множества мелких, повторно используемых частей в одну большую систему. Изучение языка C#, например, помимо его синтаксиса означает также освоение. NET Framework.

Эта платформа включает в себя библиотеки для доступа к файлам, выполнения математических расчетов, подключения к сетям и многого другого (в том числе использования кнопок). Когда вы начинаете создавать свою программу при помощи C# и. NET, вы бесплатно получаете все упомянутые выше модули, потому что они часть платформы. NET. Из нее невозможно выделить нужный кусочек кода. И действительно, не имеет смысла пытаться использовать одну часть платформы. NET в программе, которая написана без ее использования. Как и в большинстве платформ, в ней многие части были объединены в большую единую систему.

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

Перейти на страницу:

Похожие книги

7 стратегий для достижения богатства и счастья (Золотой фонд mlm)
7 стратегий для достижения богатства и счастья (Золотой фонд mlm)

Джим Рон (Jim Rohn) – всемирно известный философ бизнеса. Разрабатывал стратегию работы компаний Coca-Cola, I.B.M., Xerox, General Motors и других. Был личным «бизнес-тренером» Билла Гейтса. Владеет контрольным пакетом акций Dodge. С 1996 года – Исполнительный Вицепрезидент Herbalife International. По его словам, в настоящее время самая перспективная и динамичная отрасль мировой экономики – Wellness Industry, индустрия здорового образа жизни, в которой и работает.Автор книги предлагает семь уникальных стратегий для достижения успеха. Взяв их на вооружение, вы сможете контролировать свое время и финансы, научитесь меняться и стремиться к знаниям, обретете заряд энергии и желание добиться цели, окружите себя победителями.

Джим Рон

Деловая литература / Философия / Образование и наука / Финансы и бизнес
Максимум
Максимум

Стать специалистом высочайшего уровня – вопрос не только и не столько природных способностей к тому или иному виду деятельности. Мы привыкли рассуждать о врожденном таланте скрипача, математика, теннисиста, нас интригует умение запоминать длинные тексты и перемножать в уме огромные числа. Андерс Эрикссон, шведский психолог с мировым именем, профессор Университета Флориды, уверен, что нет такого навыка, который нельзя было бы развить. Человек обладает невероятными возможностями, его мозг и тело способны совершенствоваться практически до бесконечности: это доказано на примере множества выдающихся людей, проявивших себя в самых разных областях. О том, как обрести уникальные навыки и достичь профессионального мастерства, рассказывает эта книга.

Андерс Эрикссон , Аня Воронцова , Роберт Пул

Деловая литература / Самиздат, сетевая литература
Управление жизненным циклом корпораций
Управление жизненным циклом корпораций

Любая организация переживает тот же жизненный цикл, что и человек: она рождается в муках, затем наступают детство, юность, зрелость. На самом деле люди начинают стареть с момента своего рождения. То же самое происходит и с организациями.Разница этих процессов только в том, что для человека сыворотку вечной молодости еще не придумали, а для компаний она существует. Этот секрет рыночной молодости и задора изобрел один из лучших бизнес-мыслителей современности Ицхак Адизес.Эта книга – «библия» метода Адизеса. Это единственная книга, в которой автор последовательно рассматривает все три основные составляющие части своей методологии. В ней вы найдете блестящие практические рекомендации по совершенствованию управления и ответы на вопросы: почему одни компании достигают колоссального, а также устойчивого расцвета, а другие стареют и умирают? какие проблемы на каком этапе развития нормальны, а какие аномальны? как быстро диагностировать и решить управленческие проблемы? какие четыре стиля лидерства необходимы для успешного сотрудничества и руководства организацией?Книга переведена на 30 языков.

Ицхак Калдерон Адизес

Деловая литература / Финансы и бизнес