Найти тему

Три признака хорошего программного кода

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

Вообще, стиль ничего не говорит об опытности программиста. Плохой стиль может быть и у новичка и у суперпрофессионала.

Для начала немного о том, что такое стиль программирования.Стиль включает в себя то, какие имена дает программист переменным и подпрограммам, как он комментирует код и вообще, как он его пишет.

Приведу простой пример хорошего кода (для простоты возьму язык PHP):

Это пример хорошего кода. Счетчики циклов именуются $i и $n, а не $i и $i1, все переменные имеют осмысленные или стандартные имена ($table - таблица, $row - строка таблицы, $cell - ячейка, $i, $n - счётчики циклов), код хорошо комментирован.

Плохим стилем было бы счётчик $n обозвать $i1. Также было бы очень плохо не отбивать пробелами операторы сравнения, присваивания и т.д. Например, так:

for($i=0;$i<count($table);$i++)

Видите, как налеплен код? Читаемость ухудшается в разы.

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

Также обязательно нужны отступы. Это позволяет не запутаться в блоках кода. РНР здесь не слишком нагляден, приведу пример из Pascal (Delphi):

-2

К сожалению, дзен убивает пробелы в начале строки, поэтому приходится грузить скриншоты. Строка между begin...end имеет отступ в два пробела (удобно использовать клавишу Tab на клавиатуре). Здесь, правда, идёт война между двумя группами программистов: одних бесит Tab, а других, например, меня - пробелы. Если не делать отступов, то при большой вложенности блоков в них просто запутаешься.

Теперь об именовании переменных и функций. Существует три основных стиля:

  • Стиля языка C (C++)
  • JavaScript-стиль
  • Стиля языка Pascal

Первый стиль такой: все названия пишутся маленькими буквами, если оно состоит из нескольких слов, то они разделяются знаком подчёркивания: load_from_file(file_name).

Pascal-стиль: все идентификаторы пишутся слитно, каждое слово начинается с большой буквы: LoadFromFile(FileName).

Стиль JavaScript аналогичен предыдущему, только первое слово пишется с маленькой буквы: loadFromFile(fileName).

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

Вот вроде и все. Если у вас есть ещё какие-нибудь мысли на эту тему, буду рад, если вы напишите их в комментариях.

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

Продолжение находится здесь.