Про стиль (coding convention)
Абсолютно правильного одного стиля нет. Люди обычно в начале проекта просто о чем-то договариваются. Ниже приведен минимальный набор правил, которые встречаются в большинстве "договоров" (их выполнения мы будем контролировать).
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. А где еще почитать?
Cтандартные ошибки (ШАД)
Style guide (Google)