2.1. Стремление к простоте

Простота при проектировании программы — это первый шаг, ведущий к получению легко читаемой программы. Кодирование должно быть простым. Должен соблюдаться так называемый KISS-принцип: Keep It Simple, Stupid (делай проще, глупец!). Изощренное программирование может обойтись слишком дорого при отладке и модификации программы. Необычное кодирование (например, использование скрытых возможностей машины) часто препятствует отладке программы и, конечно, затрудняет ее использование другими программистами.

Стремитесь к простоте.

Было даже предложено увольнять программиста, который слишком изощренно программирует. Действительно, для такого предположения есть основания," так как если написана программа, которая так сложна и непонятна, что только автор может в ней разобраться, то она никому не нужна. Программа должна отлаживаться и использоваться как автором, так и другими лицами, а ее сложность существенно затрудняет эти процессы.

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

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

Существенна простота и при написании отдельных операторов. При синтаксическом контроле компилятор может выдать такое сообщение:

СИНТАКСИЧЕСКАЯ ОШИБКА НАХОДИТСЯ НА 37-И СТРОКЕ. Если 37-я строка выглядит следующим образом:

А = В/*С то ошибку обнаружить легко. Но если оператор слишком длинный или в этой строке содержится несколько операторов, то нахождение ошибки становится затруднительным.

Простота операторов помогает обнаружить ошибку и в процессе вычисления, если дан номер оператора. Например

ПЕРЕПОЛНЕНИЕ С ФИКСИРОВАННОЙ ТОЧКОЙ В

СТРОКЕ 56.

Если оператор в строке 56 короткий, то ошибку обнаружить проще.

Но не следует впадать в другую крайность. Так, например, этот оператор

1*ООТ1 - (—В + 5СЯТ(В*В — 4* А*С)) / (2* А)

легче для восприятия, чем группа операторов

ВВ " В*В А1 = А*С А2 = 4*А1

81 = ВВ — А2

82 = SQRT(B1) BOTTOM = 2*А ТОР — — В + В2 ROOT1 = TOP/BOTTOM

Последняя запись не только неэффективна, но и порождает новые ошибки; более того, она трудна для понимания.

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

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

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

Литература1 || Оглавление || 2.2. Чтение программ


Услуги