Стандарт форматирования ширины линии

Соблюдаете ли вы стандарт обертывания длинных строк в исходном коде? Какую длину строки вам удобнее всего читать?

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

Редактировать:

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

Очень похожий вопрос на stackoverflow.com/questions/110928

Andrew Edgecombe 10.11.2008 04:25

Спасибо, Эндрю. Быстрый поиск по SO и предлагаемые вопросы, которые появляются, когда вы набираете свой, ничего не дали.

Rômulo Ceccon 10.11.2008 13:49
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
30
2
50 790
9
Перейти к ответу Данный вопрос помечен как решенный

Ответы 9

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

Поэтому я говорю: как всегда, оставьте 70-80 символов. Большие экраны просто означают, что в IDE больше места.

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

Я придерживаюсь правила 80 строк (и пытаюсь убедить всех сделать то же самое). Некоторые причины:

  1. Вы можете открыть 2 (или более) редактора одновременно.
  2. То же самое и с инструментами сравнения. - большинство (все?) из них отображают два (некоторые три (некоторые больше?)) файла рядом.
  3. Иногда вам нужно работать удаленно, на другой рабочей станции или ноутбуке, и внезапно ваш красиво отформатированный код из 120 символов в строку выглядит ужасно.

8 лет спустя, когда двойные мониторы и мониторы 1440p стоят менее 300 долларов, все перечисленные здесь причины смягчаются. Итак, я решил разбить строку в таком месте, которое не делает код нечитаемым. Надеюсь, вы все еще не пытаетесь заставить других придерживаться 80 символов.

Monir 25.01.2016 19:57

80 символов (не линии) было разрешением компьютерного терминала 50 лет назад, сегодня нет смысла следовать этому стандарту.

Oleg Mikheev 23.03.2016 00:27

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

cgseller 15.12.2016 21:04

Независимо от того, используете ли вы экран FHD или экран USQFHD, готов поспорить, вы воля измените размер шрифта так, чтобы на всех экранах поместилось примерно одинаковое количество текста (кроме случаев, когда у вас кинематографический экран редактирования 2,21: 1 или экран МРТ 1: 1). (Примечание: Python PEP8 фактически указывает 79 вместо 80)

Mark Jeronimus 07.02.2017 13:32

Когда все будут использовать экраны 4K, будут ли люди писать еще более длинные строки? Наличие более широкого монитора не означает, что вы должны писать более длинные строки. Некоторые люди также предпочитают мониторы в портретном режиме. В качестве быстрой проверки посмотрите, сможете ли вы прочитать это или вам нужно уменьшить окно браузера: pbm.com/~lindahl/brief.html

Spacen Jasset 21.09.2018 18:14

У нас все еще есть ограничения физический, независимо от того, используются ли мониторы HiDPI или нет. При программировании на 12-дюймовом экране ноутбука я все еще масштабирую разрешение, так что фактическое разрешение, вероятно, будет примерно 1400x1050 - в зависимости от машины (я использовал как Mac, так и Dell). С панелями DevTools в Chrome или большим количеством панелей в IntelliJ имеет смысл не иметь более 80-100 символов, поскольку это приведет к постоянной вертикальной прокрутке.

oligofren 04.10.2018 14:13

Мы используем стандарт кодирования из 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 символов

Karan 09.11.2008 20:20

Итак, вы предлагаете использовать инструкции GOTO? знак равно

Can Berk Güder 09.11.2008 20:24

мы не будем здесь начинать обсуждение goto :) я обновлю пример

Ilya 09.11.2008 20:31

не волнуйся, я j / k. знак равно

Can Berk Güder 09.11.2008 20:39

Я также считаю, что второй пример более читабелен.

Bogdan 09.11.2008 21:03

Я также считаю второй пример более читабельным. Моя противодействие счетчику «вложить еще несколько раз с реальным кодом и попытаться прочитать снова» будет заключаться в том, что вы должны попытаться разложить эти дополнительные гнезда на дополнительные небольшие частные методы.

Bane 28.10.2014 16:37

Большой экран - крупный шрифт. Я использую GVim с Conslas 14pt с максимальным разрешением экрана 1280x800. Пытаюсь обернуть примерно на 80-90% ширины экрана.

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

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

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

shahensha 05.12.2020 07:44

Я использую около 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 символов, у вас возникнет еще одна проблема гораздо серьезнее - вы слишком многословны. Ограничение ширины строки заставляет вас придумывать лучшие имена для ваших переменных и устранять ненужные области видимости.

Hyena 19.06.2020 12:35

Другие вопросы по теме