Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
74
Добавлен:
10.02.2015
Размер:
289.79 Кб
Скачать

IV. Программирование (реализация)

Важнейшая технологическая задача, возникающая в процессе программирования — соответствие единому стилю программирования. Под стилем программирования обычно понимают [Тассел 1985] набор приемов или методов программирования, которые используют опытные программисты, чтобы получить правильные, эффективные, удобные для применения и легкочитаемые программы. Правила хорошего стиля — результат соглашения между опытными программистами. Обычно принципы хорошего стиля программирования являются результатом здравого смысла, исходящего из опыта. Это набор обязательных правил, установленный раз и навсегда. Брайан Керниган и Роб Пайк [Керниган, Пайк 2001] уточняют, что код должен быть прост и понятен, т. е. обладать следующими свойствами:

  • очевидная логика;

  • естественные выражения;

  • использование соглашений, принятых в языке разработки;

  • осмысленные имена;

  • аккуратное форматирование;

  • развернутые комментарии;

  • отсутствие хитрых трюков и необычных конструкций.

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

Защитное программирование

Защитное программирование — это такой стиль написания программ, при котором появляющиеся ошибки легко обнаруживаются и идентифицируются программистом [Тассел 1985].

Существуют три основных принципа защитного программирования.

  • Общее недоверие. Для каждого модуля входные данные должны тщательноанализироваться в предположении, что они могут быть ошибочными.

  • Немедленное обнаружение. Каждая ошибка должна быть выявлена как можно раньше, это упрощает установление ее причины.

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

Теперь дадим несколько рекомендаций по защитному программированию [Тассел 1985].

  • Делайте проверку области значений переменных.

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

  • Контролируйте итоги вычислений.

  • Включайте автоматические проверки (например, контроль переполнения или потери точности).

  • Проверяйте длину элементов информации.

  • Проверяйте коды возврата функций.

Выбор языка программирования

На выбор языка программирования влияют четыре основных фактора.

  • Сравнительная пригодность языка программирования для данной задачи.

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

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

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

Соседние файлы в папке Лекции разработка ПО