Про стиль (coding convention) — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
(Новая страница: «Абсолютно правильного одного стиля нет. Люди обычно в начале проекта просто о чем-то дог…»)
 
Строка 7: Строка 7:
 
b. Лучше не жалеть пробелов
 
b. Лучше не жалеть пробелов
  
 +
<nowiki>
 
int a = b + c;
 
int a = b + c;
 
f(4, 5, "fdfdffdf');
 
f(4, 5, "fdfdffdf');
 +
</nowiki>
  
 
c. У вложенных конструкций должны быть отступы
 
c. У вложенных конструкций должны быть отступы
  
 +
<nowiki>
 
for(...) {
 
for(...) {
 
     if(...) {
 
     if(...) {
 
     }
 
     }
 
}
 
}
 +
</nowiki>
  
 
d. Лучше не жалеть пустых строк
 
d. Лучше не жалеть пустых строк
  
 +
<nowiki>
 
void f() {
 
void f() {
 
     for( ...) {
 
     for( ...) {
Строка 30: Строка 35:
 
     int b = 5 + 6;
 
     int b = 5 + 6;
 
}
 
}
 
+
</nowiki>
  
 
e. Перед отправкой на проверку желательно убрать все временно закомментированные  участки кода
 
e. Перед отправкой на проверку желательно убрать все временно закомментированные  участки кода
Строка 48: Строка 53:
 
f. А где еще почитать?
 
f. А где еще почитать?
  
[http://mit.spbau.ru/sewiki/images/c/ce/Cpp_Standard_mistakes_shad.pdf Cтандартные ошибки] (ШАД)
+
[https://google.github.io/styleguide/cppguide.html Style guide] (Google)
  
[http://google-styleguide.googlecode.com/svn/trunk/cppguide.html Style guide] (Google)
+
[http://mit.spbau.ru/sewiki/images/c/ce/Cpp_Standard_mistakes_shad.pdf Cтандартные ошибки] (ШАД)

Версия 18:08, 9 сентября 2016

Абсолютно правильного одного стиля нет. Люди обычно в начале проекта просто о чем-то договариваются. Ниже приведен минимальный набор правил, которые встречаются в большинстве "договоров" (их выполнения мы будем контролировать).

a. В рамках одного проекта у всех файлов стиль один (у нас в рамках одной лабы или дз)

b. Лучше не жалеть пробелов

int a = b + c; f(4, 5, "fdfdffdf');

c. У вложенных конструкций должны быть отступы

for(...) { if(...) { } }

d. Лучше не жалеть пустых строк

void f() { for( ...) { } if(...) { } } void g() { int b = 5 + 6; }

e. Перед отправкой на проверку желательно убрать все временно закомментированные участки кода

f. Имена

Осмысленные имена у переменных и функций. Желательно, чтобы имена функций начинались с глагола. Несколько слов в составе идентификатора лучше разделить (getNextPacket или get_next_packet неважно, главное, чтобы везде одинаково). Минимум сокращений (cur ---> current). Счетчиков в цикле это не касается. Транслитерация с русского языка в именах переменных и функций не приветствуется (massive, stroka --- отказать :)

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

f. А где еще почитать?

Style guide (Google)

Cтандартные ошибки (ШАД)