2008-11-09 8 views
20

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

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

Edit:

вопросы: похож

+0

Очень похожий вопрос на http://stackoverflow.com/questions/110928/ – 2008-11-10 01:25:45

+0

Спасибо, Андрей. Быстрый поиск по SO и предлагаемые вопросы, возникающие при вводе на печать, ничего не вышли. – 2008-11-10 10:49:09

ответ

39

Не компрометируйте читаемость для догматических правил о точном числе символов в строке. Горизонтальная прокрутка нежелательна, но 81-символьная линия легче читать, чем версия с надписью с отступом.

Возможно, 80 символов не соответствуют стандартам программирования с большими углублениями и/или подробными именами переменных. Удерживайте количество логической сложности до максимального количества строк, а не количества символов.

3

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

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

0

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

12

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

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

Спустя 8 лет с двумя мониторами и мониторами 1440p меньше 300 долларов США, все перечисленные здесь причины смягчаются. Итак, я решил разбить линию в таком месте, которое не делает код нечитаемым. Надеюсь, вы все еще не пытаетесь заставить других придерживаться 80 персонажей. – Monir 2016-01-25 16:57:51

-2

Мы используем стандарт кодирования 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() в коде, чтобы избежать scussion.

Как я уже говорил, до 80 символов, не имеющих отношения к сегодняшнему дню, это просто номер 100.

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

1

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

3

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

3

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

1

По-видимому, у меня есть линии длиной до 258 символов (считая вкладки в виде двух символов) в одном из моих последних проектов, так что есть мой ответ. =)

0

Я использую около 72-75 столбцов, чтобы гарантировать, что я могу печатать код на страницах формата letter без особых проблем. Я также использую пробелы вместо вкладок, и я осторожно отношусь к макету.

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

Я делаю это в .txt документах, а также .c, .java, .cpp, командных файлах и т. Д. Это упрощает отправку фрагментов в электронной почте, публикацию в блогах, добавление комментариев и т. Д. правитель часто прямо под верхней линией, которая идентифицирует файл и формат текста:

/* example.txt 0.00     UTF-8     dh:2008-11-09 
*---|----1----|----2----|----3----|----4----|----5----|----6----|----7----* 
*/ 

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

Смежные вопросы