Под стилем мы будем подразумевать набор приемов или методов программирования, которые используют опытные программисты, чтобы получить правильные, эффективные, удобные для применения и легкочитаемые программы.
Правила хорошего стиля программирования – это результат соглашения между опытными программистами.
Когда программист усвоит определенный стиль программирования, его программа значительно легче для восприятия. Если бы все программисты придерживались своего индивидуального стиля, то результатом было бы вавилонское столпотворение.
Стиль программирования связан с удобочитаемостью программы. Если бы каждый программист придерживался своего особого стиля, то программы были бы недоступны для других.
Программы должны составляться таким образом, чтобы их могли прочитать в первую очередь люди, а не машины. Это необходимо для корректировки, применения и модификации программы. Если бы мы были связаны только с машинами, то программы были бы написаны так, чтобы машина могла читать их легче, чем человек.
Кроме того, программа – это документ для последующего использования, учебный материал по кодированию алгоритмов и средство для дальнейшей разработки более совершенных программ. Следовательно, языки программирования должны обеспечивать возможность создания удобочитаемых программ. Слишком часто, стремясь побыстрее получить, работающую программу, забывают о ее удобочитаемости.
Вряд ли кто-нибудь согласится с тем, что удобочитаемость программ не существенна. Программисты должны быть всегда в состоянии прочесть свои программы. В этом им должны помогать стандарты стиля. В естественном языке для улучшения читаемости текста используются знаки пунктуации, разделение на параграфы, упорядочение и интервалы. Программисты могут пользоваться подобными средствами, чтобы результатом их работы не оказалась трудная для восприятия программа.
Трудночитаемые программы обычно сложно модифицировать, особенно если это приходится делать не автору программы. Как правило, легче полностью переписать чужую программу, чем ее модифицировать. Спецификации программы в общем случае постоянно изменяются. Часто мы не только не знаем с самого начала, чего хотим, но и после получения результатов появляется желание изменить программу. Как правило, к разработке программы приступают со скромными целями, а в дальнейшем постоянно расширяют ее возможности. Следуя определенному стилю программирования, можно избежать некоторых трудностей, возникающих при разработке и модификации программ.
Когда программист обращается к чужой программе и видит, что она хорошо организована и легкочитаема, то естественные отрицательные эмоции, вызванные необходимостью обновления или модификации этой программы, отступают.
Легкочитаемая программа создает впечатление, что ее автор хорошо знал, что делал. Программа должна передавать логику и структуру алгоритма настолько, насколько это возможно
Если программы составляются для какой-либо организации, то применение согласованного стиля поможет сделать их достоянием этой организации, а не личной собственностью отдельного программиста.
С точки зрения технологичности хорошим считают стиль оформления программы, облегчающий ее восприятие как самим автором, так и другими программистами, которым, возможно, придется ее проверять или модифицировать.
Именно исходя из того, что любую программу неоднократно придется просматривать, следует придерживаться хорошего стиля написания программ.
Стиль оформления программы включает:
При выборе имен программных объектов следует придерживаться следующих правил:
Каждый модуль должен предваряться заголовком, который, как минимум, содержит:
Стиль оформления текстов модулей определяет использование отступов, пропусков строк и комментариев, облегчающих понимание программы. Как правило, пропуски строк и комментарии используют для визуального разделения частей модуля, выполняющих одно задание.
Для таких языков, как Pascal, C++ и Java, использование отступов позволяет прояснить структуру программы: обычно дополнительный отступ обозначает вложение операторов языка, например:
Несколько сложнее дело обстоит с комментариями. Опыт показывает, что переводить с английского языка каждый оператор программы не нужно: любой программист, знающий язык программирования, на котором написана программа, без труда прочитает тот или иной оператор.
Комментировать следует цели выполнения тех или иных действий, а также группы операторов, связанные общим действием, т. е. комментарии должны содержать некоторую дополнительную (неочевидную) информацию, например:
Для языков низкого уровня, например, Ассемблера, стиль, облегчающий понимание, предложить труднее. В этом случае может оказаться целесообразным комментировать и блоки операторов, и каждый оператор, например: