Каков наилучший способ использования пробелов при программировании? [закрытый]

Я довольно новичок в программировании и из обучения я видел разные способы форматирования кода, комментариев и т. д.; и были рекомендованы различные методы.

Я в основном программирую на C#, C++ и Java, поэтому я хочу знать, что является лучшим способом макета кода, так что если другие люди, где пройти через него, они будут впечатлены тем, как просто и легко понять это.

13 ответов


лучшее правило, чтобы следовать:(и, вероятно, единственное правило, с которым все согласятся)

будьте последовательны!

выбрать один стиль и придерживаться его. Всегда ставьте брекеты на одно и то же место. Использовать подобные именования. Не смешивайте вкладки и пробелы и т. д...

Что было сказано. Также обычно хорошая идея попробовать и следовать конвенциям уже на месте для язык.


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


держите ваши различия в чистоте.

делайте все, что хотите, с пробелами при следующих ограничениях:

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

почему?

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

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

в качестве оптимизации можно попробовать чтобы договориться о стиле кода с другими, чтобы вы не тратили время на соблюдение 1 и 2.


что почти все согласятся:

  • поставить пробелы после запятой
  • поместите новые строки после запятой (за исключением for объявления петли)
  • отступ тела всех блоков (что-нибудь внутри {}) на одну вкладку или четыре пробела (на ваш выбор)
  • поставить новую строку после закрытия } это заканчивается блоком (с несколькими исключениями)

есть много больше вещей, чем то, что некоторые команды будет настаивать на согласованности, но эти элементы форматирования кода универсальны.

есть в основном два способа справиться с if блоки и все, что с тем же форматом (for, while, using, etc):

if (condition) {
    /* code */
}

versus:

if (condition)
{
    /* code */
}

это чисто вопрос предпочтений. Выберите один стиль и придерживайтесь его (или соответствовать остальной части вашей команды).

единственно возможное исключение из "новой строки после }" правила для сгруппированы if/else if/else, блоки try/catch блоки, или другие тесно связанные блоки, которые многие люди предпочитают пространство так:

if (condition) {
    /* code */
} else if (condition2) {
    /* code */
} else {
    /* code */
}

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


Это довольно спорная (и субъективная) тема, поэтому "правильного" ответа не будет. Однако, мой совет использовать вертикальные пробелы экономно, так как это уменьшает объем кода, можно увидеть на экране в данный момент времени.

Мне лично нравится использовать горизонтальные пробелы, чтобы сделать код более читаемым, например:

public void MyMethod( int param1, double param2 ) {
    if ( param1 < param 2 ) {
        member.OtherMethod( param1 );
    }
}

...но на самом деле каждому свое. :)

кроме того, если вы используете Visual Studio или другой инструмент, который поддерживает его, тратить время, чтобы настроить правила автоматического форматирования, и использовать автоматический формат религиозно. :) Это действительно поможет сохранить ваш код чистым и последовательным.


самое главное, что

  1. читаемый для вас
  2. читаемый для других, работающих над проектом

У каждого будут свои нюансы. Если ваш босс говорит, что вы должны использовать вкладки, то вы используете вкладки. Если соглашение компании состоит из 4 пробелов в скомпилированном коде и 2 в файлах метаданных, это то, что вы делаете.

но будьте последовательны, и убедитесь, что они читаемы. Читаемость-единственный существенный критерий.


на пробел язык программирования. Язык, который имеет только пробелы


пробелы не являются основным фактором при создании читабельный код. Действительно, я никогда не был бы "впечатлен тем, насколько это просто и легко понять" из-за использования автором белого пространства. Я могу пойти другим путем и подумать, что какой-то код очень нечитаем из-за плохого использования пробелов, но в лучшем случае вы заставите меня не разочаровываться в вас.

реальная читаемость приходит от modularized, кода собственной личности документируя. Он вытекает из последовательности, интеллектуального именования поля и функции, а также принципы проектирования (особенно разделяющие проблемы). Эти вещи произведут на меня впечатление. Для пробелов у меня есть auto-formatters.

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


Я рекомендую вам прочитать Код и Код. Эти книги научат вас форматированию кода, комментированию и многим другим темам.


некоторые вещи: обязательно найдите переполнение стека для большего количества примеров с аналогичными тегами.

как выглядит код хорошего программиста?

https://stackoverflow.com/questions/563036/what-is-elegant-code

вещи не делать:

https://stackoverflow.com/questions/237719/most-frustrating-programming-style-youve-encountered


нет" лучшего " форматирования, но если вы используете то же форматирование, что и большинство других программистов, им легче читать ваш код, и вам становится легче читать их код!

некоторые рекомендации, чтобы узнать, как другие программисты используют белые sapces (из мира java):

  • читать "гид по стилю" (например,элементы стиля Java
  • прочитайте известные примеры кода (например, JDK содержит исходный код для всех неродные классы JRE)
  • посмотрите, что ваши инструменты поддерживают (Eclipse имеет функцию "auto format", Ctrl+Shift+F); просто дайте инструменту отступ вашего кода!

существует много стилей или правил кодирования. Я думаю, что никто не будет впечатлен макетом или интервалом и не обратит больше внимания на сам код. Инструменты могут конвертировать из одного стиля кодирования в другой (code beautifier), так что вы можете довольно безопасно выбрать любой стиль. Как сказал jjnguy, самое главное-быть последовательным.


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

В общем, и это субъективно...

открывать и закрывать фигурные скобки (например, { и }) идут по линии сами по себе. (Исключение для javascript, где открытая фигурная скобка идет по линии, которая создает блок.)

оставьте пустую строку между методами.

Если это помогает читаемости, оставьте пустая строка между свойствами.

это не строго проблема пробелов, а только объявление одной переменной на строку. Не складывайте переменные в объявления.

int i, j;  // stacked declaration - don't do this!

Не складывайте несколько операторов в одну строку.

держите ваши отступы легко читаемыми; обычно 4 пробела хороши.

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

Если список параметров слишком long для одной строки, формат с одним параметром на строку.

Это должно заставить вас начать.