Технология разработки программного обеспечения

11 СТИЛЬ ПРОГРАММИРОВАНИЯ

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

Правила хорошего стиля программирования – это результат соглашения между опытными программистами.

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

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

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

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

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

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

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

Легкочитаемая программа создает впечатление, что ее автор хорошо знал, что делал. Программа должна передавать логику и структуру алгоритма настолько, насколько это возможно

Если программы составляются для какой-либо организации, то применение согласованного стиля поможет сделать их достоянием этой организации, а не личной собственностью отдельного программиста.

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

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

Стиль оформления программы включает:

  • правила именования объектов программы (переменных, функций, типов, данных и т. п.);
  • правила оформления модулей;
  • стиль оформления текстов модулей.
Правила именования объектов программы

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

  • имя объекта должно соответствовать его содержанию, например:
  • MaxItem - максимальный элемент; NextItem - следующий элемент;
  • если позволяет язык программирования, можно использовать символ «_» для визуального разделения имен, состоящих из нескольких слов, например: Max_Item, Next_Itetm;
  • необходимо избегать близких по написанию имен, например: Index и InDec.
Правила оформления модулей

Каждый модуль должен предваряться заголовком, который, как минимум, содержит:

  • название модуля;
  • краткое описание его назначения;
  • краткое описание входных и выходных параметров с указанием единиц измерения;
  • список используемых (вызываемых) модулей;
  • краткое описание алгоритма (метода) и/или ограничений;
  • ФИО автора программы;
  • идентифицирующую информацию (номер версии и/или дату последней корректировки).
Стиль оформления текстов модулей

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

Для таких языков, как Pascal, C++ и Java, использование отступов позволяет прояснить структуру программы: обычно дополнительный отступ обозначает вложение операторов языка, например:

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

Комментировать следует цели выполнения тех или иных действий, а также группы операторов, связанные общим действием, т. е. комментарии должны содержать некоторую дополнительную (неочевидную) информацию, например:

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