Про стиль (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. А где еще почитать?
Style guide (Google)
Cтандартные ошибки (ШАД)