Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Философия программирования на C++ Выпуск 8. Стиль кода.


Всем привет! Сегодня мы поговорим еще об одной очень важной теме (после комментариев) - стиль кода.

Сегодня, в какую бы компанию вы ни пришли работать - почти везде есть определенные правила написания кода. Обычно это называют стилем (а правила оформляют в Style Guide - документы, содержащие кучу разных правил, которые надо соблюдать).

Зачем это нужно и почему это так важно? Здесь мы возвращаемся к тому, что наш код читают гораздо чаще, чем его пишут. В компаниях это особенно актуально. Люди сменяют друг друга, и новые люди не пишут ничего с нуля - они чаще меняют старые программы. Но чтобы это сделать, нужно понять этот код. А если ваш коллега вдруг решит поработать с вашей программой?

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

К тому же, вторая причина - это предостережение от наиболее частых ошибок. Я буду по мере рассказа о них говорить, и о техниках, позволяющих их избежать. Style Guide делает то же самое. Он запрещает, например, объявлять переменные, как мы это делали в прошлый раз, то есть такое объявление:

int b = 20, c = 30; // Объявляем сразу две целочисленные переменные

- как правило запрещается. Во-первых, просто потому, что это неудобно читать (можно запросто не заметить переменную с, хоть здесь это не очевидно - а если бы мы объявляли так 4 переменные или 10?).

Во-вторых.... ну, об это еще рано :)

В стиле кода говорится о таких вещах, как количество пробелов перед строкой (вы наверное заметили, что внутри функции у меня стоит 4 пробела), количество символов в одной строке (да-да, не у всех мониторы 20-дюймовые, кто-то может читать код и с планшета, и читать вашу строку из 1000 символов ему будет не очень удобно). И даже куда поставить фигурную скобочку {}.

Я бы хотел привести "свой" стиль кода, который будет применяться в дальнейшем - с небольшими разъяснениями.

1. Все переменные внутри функции (они называются еще локальными) должны начинаться с маленькой буквы. Дело в том, что бывают и другие переменные - и чтобы их различать в коде при чтении - лучше их объявлять с разными стилями имен. Об остальных мы поговорим позднее.

2. Скобочка начала функции (блока) '{' должна располагаться на той же строке, что и объявление самой функции. Многим нравится писать ее на новой строке, вот так (да-да, C++ не принципиален в плане пробелов - их, как и переводы строк, можно ставить сколько угодно и почти где угодно):

#include <iostream>

using namespace std;

int main()
{
    cout << "Hello, world!" << endl;
}

Мне этот способ не нравится просто потому, что так в коде появляется еще одна лишняя по сути строчка кода, которая не несет никакой информации. Читать такой код с планшета на маленьком экране не здорово.

 3. Между операторами (это, например, "<<", "+", "-", и другие) и операндами (это то, что стоит рядом с ними, например a + b - здесь a и b - операнды, а + - оператор) должен стоять один пробел. Просто так текст смотрится симпатичнее и легко отличить оператор от всего остального.

Ну что же... наверное пока все, остальные правила я опишу чуточку позднее.

И не забывайте - вы пишете код не для себя, вы его пишете для других.

Всем пока, спасибо, что остаетесь с нами! 


В избранное