Философия программирования на C++ Выпуск 8. Стиль кода.
Всем привет! Сегодня мы поговорим еще об одной очень важной теме (после комментариев) - стиль кода.
Сегодня, в какую бы компанию вы ни пришли работать - почти везде есть определенные правила написания кода. Обычно это называют стилем (а правила оформляют в Style Guide - документы, содержащие кучу разных правил, которые надо соблюдать).
Зачем это нужно и почему это так важно? Здесь мы возвращаемся к тому, что наш код читают гораздо чаще, чем его пишут. В компаниях это особенно актуально. Люди сменяют
друг друга, и новые люди не пишут ничего с нуля - они чаще меняют старые программы. Но чтобы это сделать, нужно понять этот код. А если ваш коллега вдруг решит поработать с вашей программой?
Вот здесь уже если стиль кода соблюдается - тогда ему это не составит труда. Если же стили у них разные, тогда ему придется изучать ее гораздо сложнее.
К тому же, вторая причина - это предостережение от наиболее частых ошибок. Я буду по мере рассказа о них говорить, и о техниках, позволяющих их избежать. Style
Guide делает то же самое. Он запрещает, например, объявлять переменные, как мы это делали в прошлый раз, то есть такое объявление:
- как правило запрещается. Во-первых, просто потому, что это неудобно читать (можно запросто не заметить переменную с, хоть здесь это не очевидно - а если бы мы объявляли так 4 переменные или 10?).
Во-вторых.... ну, об это еще рано :)
В стиле кода говорится о таких вещах, как количество пробелов перед строкой (вы наверное заметили, что внутри функции у меня стоит 4 пробела), количество символов в одной строке (да-да, не у всех мониторы 20-дюймовые, кто-то может
читать код и с планшета, и читать вашу строку из 1000 символов ему будет не очень удобно). И даже куда поставить фигурную скобочку {}.
Я бы хотел привести "свой" стиль кода, который будет применяться в дальнейшем - с небольшими разъяснениями.
1. Все переменные внутри функции (они называются еще локальными) должны начинаться с маленькой буквы. Дело в том, что бывают и другие переменные - и чтобы их различать в коде при чтении - лучше их объявлять с разными стилями имен. Об остальных мы поговорим
позднее.
2. Скобочка начала функции (блока) '{' должна располагаться на той же строке, что и объявление самой функции. Многим нравится писать ее на новой строке, вот так (да-да, C++ не принципиален в плане пробелов - их, как и переводы строк, можно ставить сколько угодно и почти где угодно):
#include<iostream>
usingnamespacestd;
intmain()
{
cout<<"Hello,world!"<<endl;
}
Мне этот способ не нравится просто потому, что так в коде появляется еще одна лишняя по сути строчка кода, которая не несет никакой информации. Читать такой код с планшета на маленьком экране не здорово.
3. Между операторами (это, например, "<<", "+", "-", и другие) и операндами (это то, что стоит рядом с ними, например a + b - здесь a и b - операнды, а + - оператор) должен стоять один
пробел. Просто так текст смотрится симпатичнее и легко отличить оператор от всего остального.
Ну что же... наверное пока все, остальные правила я опишу чуточку позднее.
И не забывайте - вы пишете код не для себя, вы его пишете для других.