Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

Проверка ввода

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



[[$ REPLY = ~ ^ [0-3] $]]

[[$ REPLY = ~ ^ [0-3] $]]


изображение

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


Дизайн - это функция времени

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

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


Лучшие облачные вычисления для ОС в OnWorks: