Работая над программой,
программист, особенно начинающий, должен хорошо представлять, что программа,
которую он разрабатывает, предназначена, с одной стороны, для пользователя,
с другой — для самого программиста. Текст программы нужен прежде всего самому
программисту, а также другим людям, с которыми он совместно работает над проектом.
Поэтому для того, чтобы работа была эффективной, программа должна быть легко
читаемой, ее структура должна соответствовать структуре и алгоритму решаемой
задачи. Как этого добиться? Надо следовать правилам хорошего стиля программирования.
Стиль программирования — это набор правил, которым следует программист (осознано
или потому, что "так делают другие") в процессе своей работы. Очевидно,
что хороший программист должен следовать правилам хорошего стиля.
Хороший стиль программирования
предполагает:
использование комментариев;
использование несущих смысловую
нагрузку имен переменных, процедур и функций;
использование отступов;
использование пустых строк.
Следование правилам
хорошего стиля программирования значительно уменьшает вероятность появления
ошибок на этапе набора текста, делает программу легко читаемой, что, в свою
очередь, облегчает процессы отладки и внесения изменений.
Четкого критерия оценки
степени соответствия программы хорошему стилю программирования не существует.
Вместе с тем достаточно одного взгляда, чтобы понять, соответствует программа
хорошему стилю или нет.
Сводить понятие стиля
программирования только к правилам записи текста программы было бы неверно.
Стиль, которого придерживается программист, проявляется во время работы программы.
Хорошая программа должна быть прежде всего надежной и дружественной по отношению
к пользователю.
Надежность подразумевает,
что программа, не полагаясь на "разумное" поведение пользователя,
контролирует исходные данные, проверяет результат выполнения операций, которые
по какой-либо причине могут быть не выполнены, например, операций с файлами.
Дружественность предполагает
хорошо спроектированные диалоговые окна, наличие справочной системы, разумное
и предсказуемое, с точки зрения пользователя, поведение программы.
Примечание
Приведенные в книге программы
могут служить примером следования правилам хорошего стиля программирования.
Знаете ли Вы, почему "черные дыры" - фикция? Согласно релятивистской мифологии, "чёрная дыра - это область в пространстве-времени, гравитационное притяжение которой настолько велико, что покинуть её не могут даже объекты, движущиеся со скоростью света (в том числе и кванты самого света). Граница этой области называется горизонтом событий, а её характерный размер - гравитационным радиусом. В простейшем случае сферически симметричной чёрной дыры он равен радиусу Шварцшильда". На самом деле миф о черных дырах есть порождение мифа о фотоне - пушечном ядре. Этот миф родился еще в античные времена. Математическое развитие он получил в трудах Исаака Ньютона в виде корпускулярной теории света. Корпускуле света приписывалась масса. Из этого следовало, что при высоких ускорениях свободного падения возможен поворот траектории луча света вспять, по параболе, как это происходит с пушечным ядром в гравитационном поле Земли. Отсюда родились сказки о "радиусе Шварцшильда", "черных дырах Хокинга" и прочих безудержных фантазиях пропагандистов релятивизма. Впрочем, эти сказки несколько древнее. В 1795 году математик Пьер Симон Лаплас писал: "Если бы диаметр светящейся звезды с той же плотностью, что и Земля, в 250 раз превосходил бы диаметр Солнца, то вследствие притяжения звезды ни один из испущенных ею лучей не смог бы дойти до нас; следовательно, не исключено, что самые большие из светящихся тел по этой причине являются невидимыми." [цитата по Брагинский В.Б., Полнарёв А. Г. Удивительная гравитация. - М., Наука, 1985] Однако, как выяснилось в 20-м веке, фотон не обладает массой и не может взаимодействовать с гравитационным полем как весомое вещество. Фотон - это квантованная электромагнитная волна, то есть даже не объект, а процесс. А процессы не могут иметь веса, так как они не являются вещественными объектами. Это всего-лишь движение некоторой среды. (сравните с аналогами: движение воды, движение воздуха, колебания почвы). Подробнее читайте в FAQ по эфирной физике.