C Разметка кода и как разделить разные разделы кода? - PullRequest
4 голосов
/ 29 октября 2009

В коде C, как вы разделяете различные разделы кода, например, реализацию, глобальные и т. Д.? Есть ли стандарт кодирования. Я видел много методов, но какой из них предпочтительнее, я хочу узнать мнение сообщества по этому вопросу.

/********************************************************* 
 *                        GLOBALS                        *
 *********************************************************/

или

/*
 * GLOBALS
 */

Или что-нибудь подобное?

РЕДАКТИРОВАТЬ: Позвольте мне уточнить, я ищу предпочтительные пути. На самом деле не стандарты. Что вы видели в проектах или использовали сами? Во-вторых, мне нравится читать код, и если что-то поможет вам понять различные разделы, глядя на код через ограниченный экран консоли, я бы добавил его в стандарт. Расположение кода важно так же, как и то, что он делает. Таким образом, требование номер один заключается в том, что такой разделитель должен быть легко заметен при быстрой прокрутке исходного кода постранично.

Ответы [ 6 ]

3 голосов
/ 29 октября 2009

Я никогда не видел точку в комментариях такого рода (часто встречается другая тема - похожие заголовки для функций, которые не имеют ничего, кроме имени функции). Если вам нужно найти определенный идентификатор, независимо от того, что это такое, ctags - или, что еще лучше, достойная среда IDE, это может сделать для вас. Какую еще ценность имеет такая организация?

3 голосов
/ 29 октября 2009

Есть много аргументов о стиле кода, особенно о C, из-за его гибкости. Большой список опций можно найти здесь .

Стиль ядра Linux и стиль GNU довольно распространены. Самое главное, чтобы ваш код был самосогласованным, независимо от того, что вы делаете. Это касается и редактирования чужого кода - даже если вам не нравятся их стилистические решения, вы должны играть по их правилам, чтобы облегчить будущие слияния и модификации.

2 голосов
/ 29 октября 2009

Этот вид секционирования имеет тенденцию быть более важным для начинающих, чем для опытных в чтении C. Для большинства исходных файлов C существует сильная базовая структура:

  • Вступительный комментарий (идентификация проекта и файла, авторские права и лицензирование, основные пояснения к содержанию).

  • Заголовочные файлы, возможно, с некоторыми # define (например, для выбора конкретной версии POSIX).

  • Определения локальных типов, макросы и т. Д. Также глобальные переменные, если они есть.

  • Локальные объявления (переменные, статические функции).

  • Функции в файле.

Могут быть вариации, но объявление статических (или, что еще хуже, глобальных) переменных файла на полпути через файл считается плохой практикой - без дополнительных заголовков.

Но не может быть ничего формального, разделяющего эти разделы. Помните, что комментарии в блоке сложнее поддерживать, но разделители разделов редко меняются, поэтому выбирать между ними не так много. Вероятно, я бы использовал однострочный комментарий, чтобы отделить глобалы от того, что было раньше - если бы я использовал что-нибудь.

1 голос
/ 29 октября 2009

Я бы использовал вторую версию; это проще и легче поддерживать.

1 голос
/ 29 октября 2009

Стандарт - это то, что вы определяете. Самое главное, чтобы определить стандарт, а затем придерживаться его.

0 голосов
/ 29 октября 2009

Не существует стандарта кодирования сообщества как такового , если только сообщество, в которое вы входите, не применяет его. Вам и / или вашей команде решать, какой стандарт вы хотите принять, и увидеть для себя тот, который вы предпочитаете.

Однако есть некоторые стандарты, которые программисты склонны использовать, даже не замечая этого. Большинство из них можно найти на этой (довольно старой) странице .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...