Продолжительности линии не используются в C #, поскольку требуется явный линейный терминатор (;
).
Если вы спрашиваете, с точки зрения стиля, будь то хорошая идея, чтобы разбить строку на несколько строк, что спорно. Правила стилики заставляют линию либо определяться на одной строке, либо для каждого элемента быть на отдельной строке. Я лично думаю, что это хорошее руководство, и я обычно решил полностью разбить линию на ее запчасти, если это слишком много времени, чтобы вписаться в хороший 80-90 символ широкого редактора.
Отредактируйте в ответ на ваш новый вопрос:
В этом случае я бы следил за руководящими принципами выше. Лично, в вашем конкретном случае, я бы оставил это на одной строке:
SomeMethod(int someInt, Object someObject, String someString, bool someBool)
{
...
}
Это хорошая, короткая декларация Моета, и я не вижу причин разделить его. Я бы только разделил его, если количество аргументов, а длина типов, стало далеко в течение одной строки текста.
Если вы разделите его, однако, я разделил его на отдельные строки для каждого аргумента:
SomeMethod(
int someInt,
Object someObject,
String someString,
bool someBool)
{
...
}
таким образом, по крайней мере, очевидно, как и почему он разделен, и разработчик не будет случайно пропустить один аргумент два находятся на одной строке.
Теперь, когда мы уточнили, что это не делать с фактическими символами линии продолжения и просто высказывание - вы говорите мне. Это:
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);
Что бы вы предпочли читать?
Я думаю, что предел длины линии постепенно увеличивается (или исчезает) в течение последних нескольких лет, поскольку все получают широкоэкранные мониторы Hi-res и больше не распечатывают код. Ни один из проектов, которые я не работал, не имел официального руководства, мы просто используем здравый смысл и свободную разрыв примерно в ширину окна редактора (каждый использует одинаковую базовую макет окна Eclipse при примерно одинакового разрешения). Я не вижу проблем с этим методом.
Я поддерживаю разбитые линии в логических точках. Причина заключается в том, чтобы помочь с функциями контроля исходного кода и слияниями функций. Я обнаружил, что понимание изменений в такой среде намного проще, если выступления со многими элементами разбиты на несколько строк.
Мониторы большие. Но вы можете найти себя работать на портативном компьютере и выполнять слияние, в котором у вас есть база, источник и целевые ветви в отдельных окнах по экрану. Подсчитайте персонажей: каждая из этих окон на 17-дюймовом ноутбуке составляет всего около 55 символов.
Если вы работаете удаленно, вы обнаружите, что горизонтальная прокрутка не очень хорошо оптимизирована, и вы вполне можете подумать о программистах несколько упрекающих мыслей о программистах, которые пишут функции с 15 параметрами на одной строке.
Так что подумайте обо всем способах, которым вы должны работать над исходным кодом, и разбить линии в местах, которые обслуживают все ваши потребности.
Лично мне нравится «видеть» все. Опять же, у меня довольно приличный монитор. Но серьезно, мне нравятся приятные и небольшие функции против гигантских функций с вложенным «если» stattions. То же самое с линиями кода.
В конце дня он приходит к личным предпочтениям и независимо от того, что вы и члены вашей команды решают. Быть последовательным. И одолжить читаемость для следующего парня, который смотрит на ваш код.
Несколько лет назад я прочитал 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 об этом. Надеюсь, это поможет.