Основы #1 Секрет Метафоры

Теринология компьютерных наук – одна из самых красочных. Действительно, в какой еще области существуют стерильные комнаты с тщательно контролируемой температурой, заполненные вирусами, троянскими конями, червями, жучками и прочей живностью и нечестью?

Важность метафор

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

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

Аналогичным образом метафоры способствуют и лучшему пониманию вопросов разработки ПО.

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

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

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

Популярные метафоры, характеризующие разработку ПО

Коротко.

Литературная метафора: написание кода

Самая примитивная метафора, описывающая разработку ПО, берет начало в выражении "написание кода".

Сельскохозяйственная метафора: выращивание системы

Иногда хороший метод описывается плохой метафорой. В таких случаях попытайтесь сохранить метод и обнаружить лучшую метафору. В данном случае инкрементный подход полезен, но сельскохозяйственная метафора просто ужасна.

Метафора жемчужины: медленное приращение системы

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

Раковина, формирующая жемчужину, – хороший вариант визуализации инкрементной разработки, или акреции.

Строительная метафора: построение ПО

Метафора "построение" ПО полезнее, чем метафоры "написания" или "выращивания" ПО, так как согласуется с идеей акреции ПО и предоставляет более детальное руководство. Построение ПО подразумевает наличие стадии планирования, подготовки и выполнения, тип и степень выраженности которых зависят от конкретного проекта.

Метафора построения-конструирования может быть расширина во многих других направлениях, именно поэтому она столь эффективна. Благодаря этой метафоре отрась разработки ПО обогатилась многими популярными терминами, такими как архитектура ПО, леса (scaffolding), конструирование и фундаментальные классы.

Статья составлена из отрывков книги Стива Макконнелла, "Совершенный код".

  1. DelLZ says:

    Ну да, всего лишь читать нужно не через слово:)

  1. There are no trackbacks for this post yet.

Leave a Reply