красивого документа должна осуществляться именно через этот паттерн. Статики давно нет, надо учиться оперативно и быстро реагировать на изменения во внешнем мире. Касательно документов - содержание и внешнее представление должны быть разделены! Тогда любые новые требования к оформлению (статья для журнала, включение части документа в объемлющий документ, изменение требований…) удовлетворяются достаточно просто. При этом исходный текст совершенно не затрагивается. Если взять за точку отсчета именно такой подход (а он идет из 'программирования' - один первоисточник информации, данные и представление обособлены), то обучение системам а-ля WYSIWYG (Word, OO, FrameMaker, PageMaker, Writer…) является танцем бульдозера, вырвавшегося на городской газон. После работы с Word восприятие студента необратимо искорежено. Начинать надо с систем типа LaTeX, Docbook или обучения CSS (прелесть CSS для веб-страниц можно оценить на www.csszengarden.com). Только после того, как идея MVC (или стилей) будет принята, можно переходить к Word. Тогда уже можно доходчиво объяснить, ссылаясь на полученный на предыдущем шаге опыт, назначение стилей и пользу от их применения. Можно развивать идею дальше и искать аналогии для других паттернов. В частности, паттерн Facade может быть перенесен как в область построения экспериментальных установок, так и в области сложной обработки данных. Упрощение системы, локализация знаний о специфичных данных, будь то формат картинки или протокол обмена с устройством управления шаговым двигателем - суть одно и то же.

Третий инвариант: любой код стоит денег. Знакомство с реальной стоимостью кода и применение систем резервного копирования. Информация, при всей ее невесомости, стоит дорого. Можно оценивать ее в человеко-часах, например. Необходимо показать студентам, что каждое изменение кода, каждый документ стоит определенных денег. И необходимо заботиться об их сохранности. При всей очевидности этого подхода реальность такова, что разработчики вполне могут откладывать создание резервной копии исходников (либо через систему бэкапов, либо, что более правильно, через систему контроля версий [В терминологии систем контроля версий такая операция называется 'commit' или 'фиксация изменений']) до тех пор, пока не будет потеряна многочасовая работа. Тем не менее это мало кого волнует, хотя все всё знают. Так, например, все знают о необходимости пристегивания ремнями, в автошколе экзамены начинаются именно с этого, краш-тесты открыто демонстрируют полезность ремней безопасности, однако на улице легко можно увидеть машину с ребенком, 'болтающимся' в салоне, а пойманные гаишниками водители горазды придумывать себе оправдания. Теоретическое и практическое знания - разные вещи. В данном блоке я бы применил подход, аналогичный системе рейдов ГИБДД, а именно случайное форматирование нескольких машин в классе перед зачетной сессией. Все, кто хранил документы только на локальной машине (или в каталоге файл-сервера), смогут ощутить всю прелесть использования (или игнорирования) бэкапов. Возможно, полученный эффект заставит аккуратнее относиться к информации. Несомненно, 99 процентов читателей назовут такие методы зверскими. Однако опыт показывает, что лучше потерять на этом этапе, чем при сдаче коммерческого проекта - дешевле выйдет.

Четвертый инвариант: работа с требованиями [Не секрет, что продвижение компании по CMMI-лестнице определяется умением компании бороться с хаосом, то есть умением превращать процедуру разработки ПО в воспроизводимый процесс. И фундаментом для структуризации являются требования.

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

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

Отметить Добавить цитату
×