Способ мышления-Форт



         

Девять фаз цикла программирования - часть 24


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

Например, пользователи могут запросить список тем по годам их публикаций - скажем, все по дамской галантерее между 1900 и 1910 годом. Если они хотят получать информацию молниеносно, то Вам следует проводить список по годам и темам. Если они могут ждать сутки, Вы можете позволить компьютеру перерыть все подряд книги в библиотеке.

ДОСТИЖЕНИЕ ПРОСТОТЫ

------------------------------------------------------------ СОВЕТ Пусть будет просто. ------------------------------------------------------------

Во время первых решающих шагов к пониманию проблемы не забывайте про старое высказывание:

Если дано два решения проблемы, то правильное - более простое.

Это особенно верно для разработки программ. Более простое решение часто труднее найти, но если это случилось, то оно:

* легче для понимания * легче для реализации * легче для изменения и отладки * легче для поддержки * более компактно * более эффективно * доставляет больше удовольствия

----------------------------------------------------------------

Одним из наиболее рьяных защитников простоты является Мур:

Надо иметь чувство размера задачи. Как много потребуется кода для ее реализации? Один блок? Три? Я думаю, что это очень полезный инструмент для разработки. У Вас должно быть внутреннее чувство того, тривиальная или важная это задача, сколько времени и сил Вы можете на нее потратить.

Когда Вы закончили, оглянитесь и скажите: "Обоснованно ли я подошел к решению этой проблемы?" Если Ваше решение занимает шесть экранов, может оказаться, что Вы использовали кувалду для того, чтобы убить комара. Ваш мысленный образ непропорционален важности задачи.

Я видел программы физиков-ядерщиков с сотнями тысяч строк на Фортране. Что бы ни делал этот код, это не оправдывает сотни тысяч строк кода.


Содержание  Назад  Вперед