Про стиль (coding convention) — различия между версиями
Материал из SEWiki
Linsky (обсуждение | вклад) |
Linsky (обсуждение | вклад) |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 2: | Строка 2: | ||
Ниже приведен минимальный набор правил, которые встречаются в большинстве "договоров" (их выполнения мы будем контролировать). | Ниже приведен минимальный набор правил, которые встречаются в большинстве "договоров" (их выполнения мы будем контролировать). | ||
− | + | * В рамках одного проекта у всех файлов стиль один (у нас в рамках одной лабы или дз) | |
− | одной лабы или дз) | + | |
− | + | * Лучше не жалеть пробелов | |
− | <nowiki> | + | <nowiki> |
int a = b + c; | int a = b + c; | ||
f(4, 5, "fdfdffdf'); | f(4, 5, "fdfdffdf'); | ||
</nowiki> | </nowiki> | ||
− | + | * У вложенных конструкций должны быть отступы | |
− | <nowiki> | + | <nowiki> |
for(...) { | for(...) { | ||
if(...) { | if(...) { | ||
Строка 21: | Строка 20: | ||
</nowiki> | </nowiki> | ||
− | + | * Лучше не жалеть пустых строк | |
− | <nowiki> | + | <nowiki> |
void f() { | void f() { | ||
for( ...) { | for( ...) { | ||
Строка 37: | Строка 36: | ||
</nowiki> | </nowiki> | ||
− | + | * Перед отправкой на проверку желательно убрать все временно закомментированные участки кода | |
− | + | * Имена | |
+ | ** Должны быть осмысленные имена у переменных и функций. | ||
+ | ** Желательно, чтобы имена функций начинались с глагола. | ||
+ | ** Несколько слов в составе идентификатора лучше разделить (getNextPacket или get_next_packet неважно, главное, чтобы везде одинаково). | ||
+ | ** Минимум сокращений (cur ---> current). Счетчиков в цикле это не касается. | ||
+ | ** Транслитерация с русского языка в именах переменных и функций не приветствуется (massive, stroka --- отказать :) | ||
− | + | * В проекте должен быть Makefile, который по умолчанию делает сборку (но не запуск!). В Makefile должна быть цель clean, удаляющие все сгенерированные файлы. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | * А где еще почитать? | |
− | + | ** [https://google.github.io/styleguide/cppguide.html Style guide] (Google) | |
− | + | ** [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://mit.spbau.ru/sewiki/images/c/ce/Cpp_Standard_mistakes_shad.pdf Cтандартные ошибки] (ШАД) | + |
Текущая версия на 18:16, 9 сентября 2016
Абсолютно правильного одного стиля нет. Люди обычно в начале проекта просто о чем-то договариваются. Ниже приведен минимальный набор правил, которые встречаются в большинстве "договоров" (их выполнения мы будем контролировать).
- В рамках одного проекта у всех файлов стиль один (у нас в рамках одной лабы или дз)
- Лучше не жалеть пробелов
int a = b + c; f(4, 5, "fdfdffdf');
- У вложенных конструкций должны быть отступы
for(...) { if(...) { } }
- Лучше не жалеть пустых строк
void f() { for( ...) { } if(...) { } } void g() { int b = 5 + 6; }
- Перед отправкой на проверку желательно убрать все временно закомментированные участки кода
- Имена
- Должны быть осмысленные имена у переменных и функций.
- Желательно, чтобы имена функций начинались с глагола.
- Несколько слов в составе идентификатора лучше разделить (getNextPacket или get_next_packet неважно, главное, чтобы везде одинаково).
- Минимум сокращений (cur ---> current). Счетчиков в цикле это не касается.
- Транслитерация с русского языка в именах переменных и функций не приветствуется (massive, stroka --- отказать :)
- В проекте должен быть Makefile, который по умолчанию делает сборку (но не запуск!). В Makefile должна быть цель clean, удаляющие все сгенерированные файлы.
- А где еще почитать?
- Style guide (Google)
- Cтандартные ошибки (ШАД)