Стиль кодирования C# - длина строки / переносящиеся [закрытые] строки

28
задан Jon Seigel 4 April 2010 в 16:55
поделиться

6 ответов

Продолжительности линии не используются в C #, поскольку требуется явный линейный терминатор (; ).

Если вы спрашиваете, с точки зрения стиля, будь то хорошая идея, чтобы разбить строку на несколько строк, что спорно. Правила стилики заставляют линию либо определяться на одной строке, либо для каждого элемента быть на отдельной строке. Я лично думаю, что это хорошее руководство, и я обычно решил полностью разбить линию на ее запчасти, если это слишком много времени, чтобы вписаться в хороший 80-90 символ широкого редактора.


Отредактируйте в ответ на ваш новый вопрос:

В этом случае я бы следил за руководящими принципами выше. Лично, в вашем конкретном случае, я бы оставил это на одной строке:

SomeMethod(int someInt, Object someObject, String someString, bool someBool) 
{ 
    ... 
} 

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

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

SomeMethod(
    int someInt, 
    Object someObject, 
    String someString, 
    bool someBool) 
{ 
    ... 
} 

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

35
ответ дан 28 November 2019 в 02:51
поделиться

Теперь, когда мы уточнили, что это не делать с фактическими символами линии продолжения и просто высказывание - вы говорите мне. Это:

IEnumerable<int> orderIDs = context.Customers.Where(c => c.CustomerID >= 1 && c.CustomerID <= 10).Select(c => c.Orders).SelectMany(o => o).OrderBy(o => o.OrderDate).Select(o => o.OrderID);

Или это?

IEnumerable<int> orderIDs = context
    .Customers
    .Where(c => c.CustomerID >= 1 && c.CustomerID <= 10)
    .Select(c => c.Orders)
    .SelectMany(o => o)
    .OrderBy(o => o.OrderDate)
    .Select(o => o.OrderID);

Что бы вы предпочли читать?

18
ответ дан 28 November 2019 в 02:51
поделиться

Я думаю, что предел длины линии постепенно увеличивается (или исчезает) в течение последних нескольких лет, поскольку все получают широкоэкранные мониторы Hi-res и больше не распечатывают код. Ни один из проектов, которые я не работал, не имел официального руководства, мы просто используем здравый смысл и свободную разрыв примерно в ширину окна редактора (каждый использует одинаковую базовую макет окна Eclipse при примерно одинакового разрешения). Я не вижу проблем с этим методом.

5
ответ дан 28 November 2019 в 02:51
поделиться

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

Мониторы большие. Но вы можете найти себя работать на портативном компьютере и выполнять слияние, в котором у вас есть база, источник и целевые ветви в отдельных окнах по экрану. Подсчитайте персонажей: каждая из этих окон на 17-дюймовом ноутбуке составляет всего около 55 символов.

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

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

5
ответ дан 28 November 2019 в 02:51
поделиться

Лично мне нравится «видеть» все. Опять же, у меня довольно приличный монитор. Но серьезно, мне нравятся приятные и небольшие функции против гигантских функций с вложенным «если» stattions. То же самое с линиями кода.

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

0
ответ дан 28 November 2019 в 02:51
поделиться

Несколько лет назад я прочитал Perl Best Practices Дэмиана Конвея. Вот ссылка ниже

Perl Best Pracices в Google Книгах

Там целая глава посвящена Разметке кода . Все мои чувства по поводу верстки кода суммированы в его написании. Я очень рекомендую эту главу. Его легко применить к C #.

Я пытался придерживаться его правил для любого языка, который я мог использовать: C #, Java, Perl, JavaScript, VBScript, VB, PHP, ...

В этой книге Конвей предлагает использовать 78 -строки столбцов. Должен признать, что нарушил правило и придерживался 80, но я думаю, что это нормально.

Я интегрировал это правило в каждый редактор, который я использую (Notepad ++, Komodo, Vi, Vim, Visual Studio 2005), чтобы иметь визуальное руководство, показывающее это ограничение.

Некоторые из вас могут задаться вопросом, как показать руководство по VS, а?

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

Добавление инструкции в редактор в Visual Studio

2
ответ дан 28 November 2019 в 02:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: