Все мы знаем, что строки кода не должны быть слишком длинными, и многие из нас используют значение по умолчанию 80 столбцов в качестве (гибкого) ограничения. Но знаете ли вы, почему именно 80, а не 60 или 100? Особенно в нашу эпоху сверхширокоэкранных мониторов, которые легко умещаются в число, кратное 80?

Сначала мы думаем о классическом компьютерном терминале с 80 столбцами и 25 строками.

Но почему на этих терминалах было всего 80 столбцов?

Первоначальное ограничение текстовых терминалов - это наследие перфокарт IBM с 80 столбцами, представленных в 1928 году.

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

Пришло время перемен?

Зрительное восприятие человека

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

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

Чтение кода

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

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

Заменяя реальный код полосами, мы можем визуализировать поток кода.

Какой из них вы бы предпочли прочитать?

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

Трудно читать по дизайну

Мы должны использовать рекомендации по кодированию, чтобы визуальное восприятие нашего кода не отличалось между файлами, проектами или участниками команды. Некоторые языки, такие как Golang, предоставляют обязательные инструкции с помощью инструментов, другие языки более открыты для интерпретации того, что означает хороший стиль кода. Python, например, имеет руководство по стилю PEP-8, рекомендующее 79 символов в качестве максимальной длины строки. У Java нет официальной версии, но Google рекомендует использовать в своих рекомендациях длину строки 100.

В моей компании мы встретились со всеми разработчиками, которые прошли через различные руководящие принципы по стилю, и разработали собственное подмножество путем обсуждения и демократического голосования по правилам. Начать с установленного руководства по выбору языка, такого как AirBnb для JavaScript, - это хорошая идея, потому что другие люди много думали о проблеме правильного стиля кода, и вы могли бы использовать его в качестве основы для своего собственного, а может быть, даже пользуюсь без изменений.

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

Поскольку чтение кода не должно быть рутиной, написание кода тоже не должно быть рутиной! Это рекомендации, а не стопроцентно установленные правила для вечности!

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

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

Длинный или короткий?

Итак, какое магическое число определяет длину столбца?

Более длинные строки лучше подходят для сканирования, а более короткие строки лучше для понимания (Ling, J., & Van Schaik, P. (2006). Влияние типа шрифта и длины строки на визуальный поиск и поиск информации на веб-страницах Международный журнал исследований человека и компьютера, 64 (5), 395–404).

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

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