Как узнать о принятых стилях кодирования

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

Например, для книги С. Кернигана и Ритчи Язык программирования C и руководства по стилю кодирования ядра Linux Линуса Торвальдса или Руководство по стилю C++ от Google, а для Perl как минимум perlstyle — руководство по стилю Perl.

Редактировать: возможно, мне следовало спросить «Как начать работу со стилями кодирования».


person Rob Kam    schedule 24.10.2008    source источник


Ответы (9)


Я бы не стал слишком много давать за такие стайл-гайды. Это хорошее начало, но в конце концов вы или ваша команда разработаете собственные стили кодирования.

РЕДАКТИРОВАТЬ: Роб Кам сделал комментарий, что хочет узнать больше об этих «стартовых соглашениях».

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

Если вы действительно начинаете новый проект с новым языком, который вы раньше не использовали... тогда вы можете начать с соглашений другого языка, который чем-то похож (т. е. для нового оо-языка вы можете использовать соглашения из Java или Smalltalk) и корректируйте свои соглашения по мере приобретения опыта работы с новым языком. Когда я начал программировать на Java, я использовал свои соглашения о кодировании Pascal. Некоторые из паскаль-соглашений не очень хорошо работали для Java, но со временем я отказался от некоторых старых соглашений и разработал новые.

С.Лотту пришла в голову идея изучить проект с открытым исходным кодом, написанный на выбранном вами языке. Это хорошая идея, чтобы получить некоторые предложения о хороших конвенциях. Шриканту пришла в голову хорошая идея попросить о хороших соглашениях здесь, в Stackoverflow. Очень хорошая идея, потому что со временем Stackoverflow станет хорошим справочником по соглашениям о кодировании.

person Mnementh    schedule 24.10.2008
comment
Согласовано. Практически для любого языка не существует такой вещи, как макет кода, основанный на передовой практике: разные варианты одинаково хороши. Цель руководства по стилю — остановить несколько плохих вещей и убедиться, что код команды выглядит достаточно согласованным. Не сделать форматирование правильным в любом объективном смысле. - person Steve Jessop; 24.10.2008
comment
Это хорошее начало, о котором я хотел бы узнать больше. - person Rob Kam; 24.10.2008
comment
Я отредактировал свой ответ, чтобы дать несколько советов об этих начальных частях. Надеюсь это поможет. - person Mnementh; 24.10.2008

Что лучше книги, так это найти открытый исходный код на предпочитаемом вами языке.

Работающий исходный код — это не книга — работа нескольких авторов и редакторов — это проект сообщества, который соответствует высокоразвитым стандартам сообщества.

Когда клиент просит помочь со стандартами кодирования, я предпочитаю найти хороший проект с открытым исходным кодом и предоставить краткий документ со стандартами, в котором говорится: «Сделайте его похожим на xxx». Хорошим примером, который я использую для стиля Java, является проект Apache Ant.

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

person S.Lott    schedule 24.10.2008

Я бы использовал Google для этого. Например, для поиска рекомендаций по кодированию Java я буду использовать этот запрос или напишите в Stack Overflow и спросите, каковы рекомендуемые стандарты кодирования для Java. Трудно указать единый источник для всех языков.

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

person Srikanth    schedule 24.10.2008

Я бы очень рекомендовал прочитать Чистый код дяди Боба. если вас беспокоят проблемы со стилем кода.

person JtR    schedule 24.10.2008

Есть три хороших места для поиска.

  1. Popular books on the language you're using.
  2. Open Source projects written in your language.
  3. Checkstyle-type utilities for your language.

Если вы используете такие инструменты, как Checkstyle или PMD, имейте в виду, что многие из «правил», которые они применяют, могут быть спорными. Может быть полезно ознакомиться с документацией, чтобы узнать, каких правил следует опасаться.

person Bill the Lizard    schedule 24.10.2008
comment
PMD и Checkstyle — очень хорошие инструменты для обеспечения соблюдения соглашения о коде, но они не настолько хороши для создания ваших собственных соглашений. На мой взгляд, эти инструменты являются вторым шагом. - person Mnementh; 24.10.2008
comment
Их можно настроить так, чтобы они отражали выбранный вами набор соглашений. Я предлагал ОП проверить эти инструменты, чтобы увидеть, какие соглашения обычно используются. - person Bill the Lizard; 24.10.2008
comment
Хм, в Checkstyle у вас нет предварительно настроенного соглашения. Но я думаю, что где-то циркулирует файл правил проверки стиля с соглашениями Sun-Coding. Однако в PMD базовый набор правил является хорошим началом. Но он охватывает только некоторые основные вещи. - person Mnementh; 24.10.2008
comment
Да, я тоже искал это для чекстайла. Я сам использую PMD. Только часть доступных правил находится в наборе правил по умолчанию, но это хорошее начало. - person Bill the Lizard; 24.10.2008

У Microsoft есть справочный документ с их соглашениями о написании кода, которые могут быть полезны, даже если вы не используете C#. Помимо стиля и основных соглашений, книги с лучшими практиками, рекомендованные другими здесь, например Чистый код, необходимы для создания поддерживаемого, читаемого кода, который будет иметь смысл для будущих специалистов по сопровождению вашей кодовой базы.

Если вы используете Visual Studio (и некоторые другие современные IDE), основные несоответствия рекомендуемым соглашениям автоматически подчеркиваются (с предложениями при наведении курсора в последних версиях VS). В VS, если ваша команда хочет использовать другие стандарты, просто откройте свойства проекта и измените настройки для «Анализ кода» (последний пункт меню слева). Подробнее здесь: Использование наборов правил для группировки правил анализа кода

person Ryan Russon    schedule 30.10.2017

Привет и хорошего дня всем

Ну, я должен сказать, что это зависит от того, работаете ли вы в компании или работаете на себя;)

Если вы работаете в компании, вы должны принять стиль именования и другие правила.

а для вас нужно только установить стиль, чтобы все в том числе и вы могли моментально понять, что и как

скобки и прочее по-вашему

но, как вы сказали, есть отдельные языки, поэтому у них есть свои правила

и, как сказал Мнемент, у каждой команды есть способ кодирования, может быть строгий или свободный.

Вот и все, не более того... пока, пока

person yeradis    schedule 24.10.2008

Существует руководства по стилю C и C++, короткая страница со ссылками на руководства по стилю. , правила кодирования и обсуждения из USENET, поддерживаемые Кристофером Лоттом.

person Rob Kam    schedule 19.05.2009

Если вы разработчик PHP, обязательно пропустите эти два руководства:

person Matthew Setter    schedule 17.06.2011