Соблюдаете ли вы стандарт обертывания длинных строк в исходном коде? Какую длину строки вам удобнее всего читать?
Иногда я встречаю людей, которые программируют на широкоэкранных мониторах и любят использовать всю ширину экрана для отображения исходного кода. Я предпочитаю более короткие строки, около 80–100 символов, но мне трудно убедить коллег во все возрастающей популярности широкоэкранных устройств.
Редактировать:
Похожие вопросы:
Спасибо, Эндрю. Быстрый поиск по SO и предлагаемые вопросы, которые появляются, когда вы набираете свой, ничего не дали.





Вам не нужно прокручивать по горизонтали, чтобы прочитать код. Но большие экраны не означают более длинные строки! Также существует ограничение на количество строк в одной строке.
Поэтому я говорю: как всегда, оставьте 70-80 символов. Большие экраны просто означают, что в IDE больше места.
Я программирую почти исключительно на ноутбуке, поэтому согласен с более короткими строками. Конечно, я обычно проектирую экраны для КПК, так что мне это сошло с рук. Но если код разделяется между разработчиками, он в конечном итоге окажется на чьем-то ноутбуке, а полосы прокрутки заставят меня плакать.
Я придерживаюсь правила 80 строк (и пытаюсь убедить всех сделать то же самое). Некоторые причины:
8 лет спустя, когда двойные мониторы и мониторы 1440p стоят менее 300 долларов, все перечисленные здесь причины смягчаются. Итак, я решил разбить строку в таком месте, которое не делает код нечитаемым. Надеюсь, вы все еще не пытаетесь заставить других придерживаться 80 символов.
80 символов (не линии) было разрешением компьютерного терминала 50 лет назад, сегодня нет смысла следовать этому стандарту.
Соглашения Python по-прежнему предполагают попытку 80 символов, чтобы код оставался чистым и читаемым в небольшом окне. Тот факт, что у вас есть дом площадью 3000 кв.м, не означает, что вы должны заполнить его хламом. Если он вам нужен для содержания вашей семьи из 5 человек - то непременно пополните его.
Независимо от того, используете ли вы экран FHD или экран USQFHD, готов поспорить, вы воля измените размер шрифта так, чтобы на всех экранах поместилось примерно одинаковое количество текста (кроме случаев, когда у вас кинематографический экран редактирования 2,21: 1 или экран МРТ 1: 1). (Примечание: Python PEP8 фактически указывает 79 вместо 80)
Когда все будут использовать экраны 4K, будут ли люди писать еще более длинные строки? Наличие более широкого монитора не означает, что вы должны писать более длинные строки. Некоторые люди также предпочитают мониторы в портретном режиме. В качестве быстрой проверки посмотрите, сможете ли вы прочитать это или вам нужно уменьшить окно браузера: pbm.com/~lindahl/brief.html
У нас все еще есть ограничения физический, независимо от того, используются ли мониторы HiDPI или нет. При программировании на 12-дюймовом экране ноутбука я все еще масштабирую разрешение, так что фактическое разрешение, вероятно, будет примерно 1400x1050 - в зависимости от машины (я использовал как Mac, так и Dell). С панелями DevTools в Chrome или большим количеством панелей в IntelliJ имеет смысл не иметь более 80-100 символов, поскольку это приведет к постоянной вертикальной прокрутке.
Мы используем стандарт кодирования из 80 символов в строке. Первоначальная причина ограничения 80 символов сегодня не актуальна, но следует указать какое-то число ...
Помимо очевидного (организация кода и удобочитаемость), обычно я обнаруживал, что длинные строки являются результатом плохого стиля, и следование этому правилу улучшает качество кода и уменьшает количество ошибок. Просто сравните следующие примеры:
status = do_something();
if (status == error)
{
do_error_handling();
return;
}
/* do you regular flow */
status = do_more();
if (status == error)
{
do_error_handling();
return;
}
/* do more of you regular flow and keep you line 80 chars*/
вместо :
status = do_something();
if (status == succes)
{
/* do you regular flow */
status = do_more();
if (status == success)
{
/* do you regular flow */
/* nest again and get line behind visible screen */
}
else
{
/* do error handling */
}
}
else
{
/* do error handling */
}
Второй пример гораздо менее читабелен, и его трудно поддерживать, и он, вероятно, приведет к некоторым проблемам в пути ...
Редактировать
Заменил goto на do_error_handling() в коде, чтобы избежать неактуального обсуждения.
Как я уже говорил, 80 символов сегодня не актуальны, просто число 100 тоже хорошо.
Для тех, кто нашел второй пример более читабельным, пожалуйста, вставьте его еще несколько раз с реальным кодом и попробуйте прочитать еще раз :)
как ни странно, я нахожу второй вариант гораздо более читабельным и ожидал, что это будет ваш пример «читаемого» кода, когда я впервые взглянул на ваш пост. Я никогда не понимал этого увлечения 80-ю символами в современной практике кодирования (я понимаю историческое значение). Я обычно держу его до 100 символов
Итак, вы предлагаете использовать инструкции GOTO? знак равно
мы не будем здесь начинать обсуждение goto :) я обновлю пример
не волнуйся, я j / k. знак равно
Я также считаю, что второй пример более читабелен.
Я также считаю второй пример более читабельным. Моя противодействие счетчику «вложить еще несколько раз с реальным кодом и попытаться прочитать снова» будет заключаться в том, что вы должны попытаться разложить эти дополнительные гнезда на дополнительные небольшие частные методы.
Большой экран - крупный шрифт. Я использую GVim с Conslas 14pt с максимальным разрешением экрана 1280x800. Пытаюсь обернуть примерно на 80-90% ширины экрана.
Это также зависит от других соглашений, которые вы используете. На одном задании мы программировали на Java, и по соглашению мы использовали длинные описательные идентификаторы, а это означало, что только пара из них могла уместиться в строке, не превышая лимит в 80 символов. Я подумал, что это довольно глупо, учитывая, что каждому разработчику в компании был предоставлен широкоформатный монитор, на котором легко помещалось 200 символов. При такой аппаратной согласованности нет смысла вводить глупо маленький предел переноса строк.
Я предпочитаю более длинные строки по одной простой причине: я могу разместить больше кода в моем окне. Существует разница огромный между необходимостью вертикальной прокрутки для чтения функции и возможностью уместить ее на одном экране. Если все обернуто строками, так что функция прокручивается снизу, а правая половина моего экрана пуста, я считаю, что это огромная трата. Обратите внимание, что открытие двух окон редактора здесь тоже не помогает.
Это замечательно, если вы или только некоторые из ваших коллег (которые, как вы знаете, тоже любят читать код, как и вы) собираетесь читать код. Но если вы пишете код для большей группы пользователей, это может быть невнимательным.
Я использую около 72-75 столбцов, чтобы без особых проблем печатать код на страницах буквенного формата. Я также использую пробелы вместо табуляции и осторожно отношусь к макету.
Чтобы заметить, когда я выхожу за правое поле, я часто вставляю текстовую строку, которую могу использовать как линейку. Я устанавливаю окно дисплея IDE так, чтобы линейка соответствовала ширине по горизонтали, а затем убеждаюсь, что не выхожу за его пределы.
Я делаю это в документах .txt, а также в .c, .java, .cpp, пакетных файлах и т. д. Это упрощает отправку фрагментов по электронной почте, публикацию в блогах, добавление комментариев и т. д. сразу под верхней строкой, определяющей файл и формат текста:
/* example.txt 0.00 UTF-8 dh:2008-11-09
*---|----1----|----2----|----3----|----4----|----5----|----6----|----7----*
*/
Конечно, используется соглашение о комментариях к конкретному типу файла.
Не ставьте под угрозу читаемость догматических правил о точном количестве символов в строке. Горизонтальная прокрутка нежелательна, но строку из 81 символа легче читать, чем версию с запутывающими отступами строками.
80 символов, вероятно, будет недостаточно для стилей программирования с большими отступами и / или подробными именами переменных. Сведите к минимуму логическую сложность на уровне строки, а не количество символов.
Если вы перейдете более чем на 80 символов, у вас возникнет еще одна проблема гораздо серьезнее - вы слишком многословны. Ограничение ширины строки заставляет вас придумывать лучшие имена для ваших переменных и устранять ненужные области видимости.
Очень похожий вопрос на stackoverflow.com/questions/110928