// 0) каким бы ни был стиль, он должен быть одним на всю программу!!! if (x==3&&y==4) // <- bad if (x == 3 && y == 4) // <- good if (x==3 && y==4) // <- so-so a = 1 + 2 + (3 + 4) * 6; // <- good a = 2 * 3 + 4 * 6; // <- good a = 2*3 + 4*6; // <- so-so // good if (a == b) { x = y; } else { z = y; } // good if (a == b) { if (b == c) { c = z; } else { v = z; } } else { n = z; } // good if (a == b) { if (b == c) { x = z; } else { y = z; } } else { h = x; } // bad if (a == b) { if (b == c) { x = z; } else { y = z; } } // горизонтальная ширина -- 80 или 120. if (a == b || b == c || c == d || a == c || a == d || b == d || e == a || e == b || e == c || e == d || ...); // <- acceptable if (b == a || c == b || c == a || d == c || d == b || d == a || e == d || e == c || e == b || e == a) // <- good if (((a == b && c == d) || (c == v && c == x)) && b == d) // <- good. if (((x == a && x == b) || (x == c && x == d)) && b == d); // <- bad c = (.......) + (.......) + (.......); // <- good, если выражения в скобках достаточно длинные // выражения разбиваются на следующую строчку не когда попало, // а по смыслу. a = b; b = c; // <- bad a = b; b = c; // <- good. if (a == b) // <- good if(a == b) // <- bad int main() { a = b; } int main() { a = b; } if (a == b) b = c; // <- very bad if (a == b) { b = c; } // <- very very bad // мы рекомендуем всегда ставить фигурные скобки. допускается не // ставить их, если в теле не будет вложенных операторов (например, // в нём будет только одно присваивание или вывод), и мы уверены на // 146%, что эта строка не будет изменяться никогда. if (a == b) cout << c; // <- acceptable if (a == b) if (c == d) cout << d; // <- unacceptable int n; int kolitchestvo_BXOgNblX_tchisel; // <- very very very very // very very bad. без русских букв int amount_of_input_numbers; // <- very very bad. // 1) чем чаще используется переменная, тем короче может быть её название int n, m; // хорошее название для количества чисел int x, y; // хорошие для координат int a, b, c; // хорошие названия для задачи, где на вход подаются только // a, b, c, и они названы так в условии. int l, o, O; // <- very bad 1, 0; int lhs, rhs // вместо l и r. int digit_sum; // каждое слово с маленькой буквы, отделяются _. // good. int digitSum; // первое слово с маленькой буквы, остальные с большой. // acceptable int DigitSum; // каждое слово с большой буквы. // не для переменных. int cur, sum, res; // хорошие сокращения int i, j, k; // счётчики циклов int tmp; // discouraged int tmp2, i5, n1, n2, n3, ...; // <- very very very bad int x1, y1, x2, y2; // <- acceptable