Перейти к содержанию

Обсуждение:Язык Си в примерах

Содержимое страницы недоступно на других языках.
Добавить тему
Материал из Викиучебника — открытых книг для открытого мира
Последнее сообщение: 9 лет назад от Ivan Shmakov в теме «Оформление кода»

Оформление кода

[править]
Перенесено с /Учимся складывать#Стиль кода.

Желательно сразу показывать хороший стиль кодирования. Например, сослаться на Саттера и не определять несколько переменных в одном операторе/строке. Хорошо бы также сразу инициализировать переменные, а также использовать const там, где это возможно. Также не стоит помещать несколько операторов в одной строке. (А поставьте контрольную точку именно на операторе B в цикле, а не на входе в цикл.) Неплохо также использовать фигурные скобки даже в случае одного оператора в while, if и т. п.

Следует также обратить внимание на использование пробелов вокруг бинарных операций. Для этого можно использовать выражение деления одного значения на значение по указателю

a = b / *p;

которое при отсутствии пробелов выглядит комментарием

a=b/*p;

Sps 13:58, 17 октября 2011 (UTC)Ответить

Поддерживаю, кроме «не определять несколько переменных в одном операторе» (спорно) и, возможно, const (в общем случае — несколько загромождает код.) Использование фигурных скобок в случае «однооператорного» тела if (или else) кажется особенно полезным в случае вложения условных операторов. В случае for, while, do — не думаю, что это столь уж оправдано. — Ivan Shmakov (talk) 07:20, 29 августа 2013 (UTC)Ответить
Предлагаю взять за основу оформление, формируемом GNU Indent — в форме $ indent -gnu -br -ncs .
  1. С одной стороны, подобное оформление (с оговорками) используется, в частности, проектами GNU и Linux.
  2. С другой, опция -br — подавляющая вынесение на отдельную строку фигурных скобок после if, while, etc. — позволяет несколько сократить (по сравнению с рекомендуемым GNU оформлением) количество занимаемых кодом строк. Что может быть полезно при печати материала.
  3. Наконец, AIUI, разрыв строки между именем функции в определении и возвращаемым ею типом требуется для корректной работы ctags, etags и подобных им средств.
Ivan Shmakov (ов) 07:05, 19 марта 2015 (UTC)Ответить