Не пользуйтесь строковыми константами
Не пользуйтесь строковыми константами, которые имеют важные пробелы в конце — они невидимы, а многие редакторы обрезают их.
Выходите из своей зоны комфорта
Выходите из своей зоны комфорта. Учитесь каждый день. Учите тому, что вы изучаете. Если вы мастер, вы не учитесь. Откройте для себя другие языки, технологии, культуру и оставайтесь любопытными.
Разрыв длинных строк в Си
Смысл стиля программирования заключается в читаемости и удобстве сопровождения с использованием общедоступных средств.
Длина строк ограничена 80 символами, и этому следует уделить особое внимание. Для комментариев установлен тот же лимит в 80 символов.
Операторы длиной более 80 символов будут разбиты на логические части. Можно сделать исключение, если это значительно повысит читаемость и не скроет информацию. Последующие части значительно короче основной и сильно смещены вправо. То же относится к заголовкам функций с длинным списком аргументов.
Хороший код не нуждается в документации, а отличный код имеет отличную документацию, так что любой, кто не участвовал в развитии проекта, может продуктивно работать с ним. Незадокументированная функция — это несуществующая функция. У несуществующей функции не должно быть кода.
Табуляция составляет 8 символов (8 символов табуляции, а не 8 пробелов), то есть отступы будут также составлять 8 символов. Появляются отступники, которые призывают делать отступы в 4 (или даже 2!) символа, а это сродни попытке округлить число Пи до 3.
Обоснование: Основная идея отступов состоит в том, чтобы показать, где начинается и заканчивается логический блок кода. Особенно если вы смотрите на один и тот же код в течение 20 часов, трудно не заметить пользу больших отступов.
Некоторые могут возразить, что отступ в 8 символов делает код слишком широким, особенно на 80-знаковой строке терминала. Ответ: Если вам понадобилось более трех уровней отступа, вы что-то делаете неправильно, и вам следует переписать этот участок.
Отступы в 8 символов облегчают чтение кода. Кроме того, по ним можно понять, когда у вас становится слишком много вложенных функций.
Насколько это возможно, избегайте переопределения, наследования и неявно определенных «хитростей». Пишите понятные функции. Их легче проверить и обосновать. Любая непонятная функция должна быть классом. Любая конструкция кода, имеющая другую функцию, должна иметь другое имя.