Ну так ли? Это считается плохой практикой?
ИМО, это менее читабельно. Ненавижу прокручивать вправо, затем назад влево, вправо, влево и так далее. Это делает кодирование более болезненным и иногда смущает меня.
Например, всякий раз, когда я кодирую длинную строку, я буду делать следующее ...
bigLongSqlStatement = "select * from sometable st inner join anothertable at" +
"on st.id = at.id" +
"and so on..." +
"and so on..." +
"and so on..."
coding-standards
Мистер муравей
источник
источник
Ответы:
Да, действительно, в буквальном смысле, а также в общем смысле.
Мне нравится делать различия в коде бок о бок, а слишком широкие линии делают это сложнее:
Такие языки, как Scala со строками в тройных кавычках, позволяют создавать строки из многих строк без затрат времени выполнения, неприглядных кавычек и знаков плюс (как видно в вашем примере) объединения частей строки.
источник
Да, я думаю, что 80 символов в строке являются разумными и широко используемыми.
источник
Это действительно важный вопрос для меня! Я работал 7 месяцев на 13-дюймовом ноутбуке с коллегами, имеющими 24-дюймовые настольные мониторы, и я потратил много времени на сокращение строк, чтобы получить что-то читаемое.
80 столбцов во многих случаях немного малы (кроме случаев, когда вы работаете на терминале с единственной опцией vi;)), но больше ~ 150 - это слишком много (см. Ниже).
Это вопрос о «читабельности».
Теперь, что касается «хорошей практики», я очень часто нахожу такие длинные строки с ошибками, то есть с частью, которая должна быть извлечена во временной переменной или дублирована, например (ObjectiveC, общий фрагмент в программировании iPhone) :
Обратите внимание, что это может стать еще более неприятным при работе с 3-мерными векторами или матрицами.
Переписанный пример:
Теперь это уместно на меньшем экране, его легче отлаживать с помощью IDE или некоторой записи в стандартный вывод, и это может быть даже быстрее, в зависимости от стоимости вызова метода / свойства. Это немного принудительно, конечно, большинство реальных примеров гораздо сложнее ...
источник
Не всегда.
Просто чтобы добавить альтернативное представление, когда я читаю код, я часто могу понять суть того, что делает строка кода, не читая всю строку. Если я могу прочитать имя метода, но параметры метода вылезают за пределы экрана, я обычно не смущаюсь, поскольку могу сказать только из названия метода, какова цель этой строки кода. Если на экране появятся несколько строк кода, то я думаю, что компромисс между необходимостью иногда (важное слово там) прокручивать по горизонтали стоит того для более компактного кода. Я иногда нахожу многострочный код с одним оператором отвлекающим, поскольку мне приходится мысленно соединять, какой код соответствует какому оператору.
Зачастую строки кода, которые проходят горизонтально, имеют свои важные биты слева (видимые) и менее важные биты справа (вне экрана), поэтому для меня это повышает удобочитаемость, так как я могу сканировать код вниз, в основном, видя важные биты в каждой строке, в отличие от альтернативы, состоящей из менее важных битов кода из слишком длинной строки, занимающих визуально важное левое пространство в следующей строке (строках).
Сказав все это, я бы, конечно, не хотел бы очень часто прокручивать по горизонтали, но я считаю, что в эти дни с широкоэкранным монитором это менее проблематично.
источник
Да.
Кстати чаевые. Если вы используете язык с многострочными строками (они есть практически во всех языках сценариев) и включают в себя длинный SQL, это действительно помогает читаемости поместить SQL в многострочную строку, используя согласованные правила форматирования для SQL. См. Http://bentilly.blogspot.com/2011/02/sql-formatting-style.html для стиля форматирования, который я использую.
источник
Нет, это не так.
У меня есть редактор. Мало того, что у него есть перенос строки, у него есть отступ строки , который (если экран, скажем, шириной 100 символов) вызовет
выглядеть как
или с любым уровнем отступа, установленным по умолчанию для текущего языка.
Строки, которые шире моего экрана, никогда не делают код менее читаемым по сравнению с кодом с переносом строки.
редактировать: оооо, я знал, что этот ответ будет непопулярным :)
источник
Конечно, это делает. Есть причина, по которой газеты и журналы используют колонки. Читаемость является важным фактором. При чтении наши глаза смотрят вниз с относительно небольшим боковым движением. В результате наши глаза быстро сканируют то, что мы читаем.
Даже когда на экране видны широкие колонки, наши глаза быстро сканируют взад-вперед. Во время сканирования мы ничего не понимаем. Это значительно замедлит чтение и понимание. Эффект похож на старые механические принтеры. Это часто требовало вставки нескольких нулевых символов после возврата каретки, чтобы дать время каретке или печатающей головке переместиться на следующую строку.
Кроме того, вертикальное расположение обычно выполняется таким образом, чтобы уточнить группировку содержимого в строке. Это обычно должно применяться только к сложным логическим условиям. Длинные формулы могут быть лучше структурированы как ряд утверждений. (Оптимизатор исправит любые дополнительные издержки, а некоторые оптимизаторы сдаются или плохо работают со сложными формулами.)
Идентификаторы с несколькими точками, требующими больших линий, указывают методы кодирования, которые должны быть исправлены.
источник
Мышки-колёсики позволяют быстро прокручивать по вертикали ... горизонтальная прокрутка слишком дорога для сравнения.
источник
~ Руководство по взаимодействию с пользователем в Windows Pg 112
Да.
Англичане читают слева направо, что приводит к постоянной прокрутке = непродуктивно
По этой причине я всегда включаю перенос слов с помощью визуальных линейных символов в моей IDE.
источник