Существует ли допустимая причина осуществления максимальной ширины 80 символов в файле кода, в этот день и возрасте? [закрытый]

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

156
задан 6 revs, 3 users 58% 13 July 2017 в 17:29
поделиться

30 ответов

Я думаю практика о хранении кода к 80 (или 79), столбцы были первоначально созданы для поддержки людей, редактирующих код простых терминалов на 80 столбцов или распечаток на 80 столбцов. Те, которые требование главным образом ушло теперь, но существуют все еще допустимые причины сохранить правило на 80 столбцов:

  • , Чтобы постараться не переноситься при копировании кода в электронную почту, веб-страницы и книги.
  • представление To несколько исходных окон бок о бок или использования бок о бок различного средства просмотра.
  • Для улучшения удобочитаемости. Узкий код может быть считан быстро, не имея необходимость сканировать Ваши глаза поперек.

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

249
ответ дан 2 revs, 2 users 92% 23 November 2019 в 21:47
поделиться

Если бы у нас был один из эти , у нас не было бы этого обсуждения!;-)

, Но серьезно вопросы, которые люди подняли в их ответах, довольно законны. Однако исходный плакат не приводил доводы против предела, просто это, 80 столбцов - лишь немногие.

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

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

0
ответ дан 3 revs 23 November 2019 в 21:47
поделиться

Я пытаюсь сохранить свои строки ниже 80 столбцов. Самая сильная причина состоит в том, что я часто использую grep и less просматривать свой код при работе в командной строке. Мне действительно не нравится, как терминалы повреждают длинные исходные строки (они, в конце концов, не сделаны для того задания). Другая причина состоит в том, что я нахожу, что выглядит лучше, если все вписывается в строку и не повреждается редактором. Например, имея параметры долгих вызовов функции, приятно выровненных друг ниже друга и подобного материала.

0
ответ дан Johannes Schaub - litb 23 November 2019 в 21:47
поделиться

Повреждение в 80 символах - что-то, что Вы делаете в то время как кодирование, не впоследствии. То же с комментариями, конечно. Большинство редакторов может помочь Вам в наблюдении, где предел с 80 символами.

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

0
ответ дан JesperE 23 November 2019 в 21:47
поделиться

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

, Если предел действительно осуществляется, это - также серьезное основание заново продумать код и не для помещения всего в одну строку. Это - то же с добавлением отступа - если Вам нужно ко многому, выравнивается, Ваш код должен заново продуматься.

0
ответ дан unexist 23 November 2019 в 21:47
поделиться

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

1
ответ дан CobolGuy 23 November 2019 в 21:47
поделиться

Я - diffing бок о бок целый день, и у меня нет долбаного' 22-дюймового монитора. Я не знаю, буду ли я когда-нибудь. Это, конечно, малоинтересно для программистов только для записи, наслаждающихся кодирующими стрелку и строками с 300 символами.

1
ответ дан Constantin 23 November 2019 в 21:47
поделиться

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

Это реализовано в jeditalt text
(источник: jedit.org ) , который предлагает переход на новую строку

, Но это горько пропущено в затмении с looong времени ! (с 2003 на самом деле), главным образом потому что переход на новую строку для текстового редактора включает:

  • Обернутая информация о строке для средства просмотра текста, навигации кода, вертикальных линеек.
  • Развернутая информация строки запрашивается для технических возможностей как goto строка, столбец линейки нумерации строк, текущее выделение строки, сохранив файл.
2
ответ дан 2 revs, 2 users 92% 23 November 2019 в 21:47
поделиться

Я на самом деле следую подобному правилу для своего собственного кода, но только из-за печати кода к странице A4 - 80 столбцов о правильной ширине для моего желаемого размера шрифта.

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

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

1
ответ дан paxdiablo 23 November 2019 в 21:47
поделиться

Уже существует много хороших ответов на это, но стоит упомянуть, что в Вашем IDE у Вас могли бы быть список файлов слева и список функций справа (или любая другая конфигурация).

Вы - код, всего одна часть среды.

2
ответ дан Dean Rather 23 November 2019 в 21:47
поделиться

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

я - прежде всего, кодер Python, таким образом, это производит два набора ограничений:

  1. не пишут, что длинные линии кода
  2. не делают отступ слишком много

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

легко в Python записать относительно краткий код (см. codegolf) за счет удобочитаемости, но еще легче записать подробный код за счет удобочитаемости. Вспомогательные методы не являются плохой вещью, ни являются классами помощника. Чрезмерная абстракция может быть проблемой, но это - другая проблема программирования.

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

2
ответ дан Dan Udey 23 November 2019 в 21:47
поделиться

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

правое поле является способом природы сказать Вам выполнять дополнительный метод, осуществляющий рефакторинг .

4
ответ дан Schwern 23 November 2019 в 21:47
поделиться

Супердлинные линии более трудно считать. Просто, потому что можно дойти, 300 символов на мониторе не означает, что необходимо делать строки настолько долго. 300 символов также слишком сложны для оператора, если у Вас нет выбора (вызов, которому нужен целый набор параметров.)

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

14
ответ дан Loren Pechtel 23 November 2019 в 21:47
поделиться

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

4
ответ дан Thomas Owens 23 November 2019 в 21:47
поделиться

Интересно, могло ли это вызвать больше проблем в этот день и возраста. Помните, что в C (и возможно другие языки) существуют правила, как долго имя функции может быть. Поэтому Вы часто видите очень твердо понимаемые имена в коде C. Хорошая вещь состоит в том, что они не используют много пространства. Но каждый раз, когда я смотрю на код на некотором языке как C# или Java, имена методов часто очень длинны, который делает его близко к невозможному для хранения кода в 80 длинах символов. Я не думаю, что 80 символов допустимы сегодня, если Вы не должны быть в состоянии распечатать код, и т.д.

5
ответ дан Jonas 23 November 2019 в 21:47
поделиться

Вы не единственный человек, который собирается поддержать Ваш код.

следующий человек, который делает, мог бы иметь 17-дюймовый экран или, возможно, нуждался бы в больших шрифтах для чтения текста. Предел должен быть где-нибудь, и 80 символов соглашение из-за предыдущих экранных ограничений. Можно ли думать о каком-либо новом стандарте (120) и почему это - хорошая идея использовать это другой тогда, "это что соответствия на моем мониторе в шрифте Xpt?"

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

, Но занимают время сначала для размышления, "этот код действительно, что плохо, что он не может жить в 80 символах?"

6
ответ дан pappes 23 November 2019 в 21:47
поделиться

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

Часть обоснования - то, что, если Вы когда-либо достигаете правого поля, необходимо рассмотреть перемещение уровня отступа в отдельную функцию.

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

5
ответ дан Ali 23 November 2019 в 21:47
поделиться

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

, Это - время, когда наличие "макс. ширины" полезно.

6
ответ дан user14038 23 November 2019 в 21:47
поделиться

У меня есть два 20 дюймов 1600x1200 мониторы, и я придерживаюсь 80 столбцов, потому что это позволяет мне отобразить несколько окон текстового редактора бок о бок. Используя '6x13' шрифт (трад xterm шрифт) 80 столбцов поднимают 480 пикселей плюс полоса прокрутки и границы окна. Это позволяет иметь три окна этого типа на 1600x1200 монитор. На окнах шрифт Lucida Console не вполне сделает этого (minimun применимый размер 7 пикселей шириной), но 1280x1024, монитор отобразит два столбца и 1920x1200 монитор такой как , HP LP2465 отобразится 3. Это также покинет немного комнаты в стороне для различного проводника, свойств и других окон из Visual Studio.

Дополнительно очень длинные строки текста трудно считать. Для текста оптимум является 66 символами. Существует точка, где чрезмерно долгие идентификаторы начинают быть контрпродуктивными, потому что из-за них сложно размечать код когерентно. Наглядность и добавление отступа обеспечивают визуальные индикаторы относительно структуры кода, и некоторые языки (Python приходит на ум), добавление отступа использования явно для этого.

Однако библиотеки стандартного класса для Java и.Net склонны иметь превосходство очень длинных идентификаторов, таким образом, нельзя обязательно гарантировать, что был в состоянии сделать это. В этом случае разметка кода с разрывами строки все еще помогает сделать структуру явной.

Примечание, что можно получить версии для Windows '6x13' шрифты Здесь .

7
ответ дан 3 revs 23 November 2019 в 21:47
поделиться

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

4
ответ дан Jamie Eisenhart 23 November 2019 в 21:47
поделиться

Единственной вещью, которую я осуществляю для пребывания в 80 символах, является мой комментарий.

Лично... Я посвящаю всю свою интеллектуальную мощь (что мало существует) к кодированию права, это - боль для возвращения, и разбиться все в 80 символах ограничивает, когда я мог проводить свое время на следующей функции. Да, Resharper мог сделать это для меня, я предполагаю, но тогда это волнует меня немного, что сторонний продукт принимает решения о моем размещении кода и изменяет его ("Не повреждайте мой код в два HAL строк. HAL?").

Однако я действительно работаю над довольно малочисленной командой, и все наши мониторы являются довольно большими настолько вызывающие беспокойство о том, какие беспокойства мои коллеги - программисты не являются огромным беспокойством, насколько это идет.

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

8
ответ дан domusvita 23 November 2019 в 21:47
поделиться

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

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

16
ответ дан Twan 23 November 2019 в 21:47
поделиться

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

я утверждал бы, что следующее намного более читаемо, чем это было бы, если бы я разделил его по нескольким строкам:

switch(Type) {
case External_BL:   mpstrd["X"] = ptDig1.x - RadialClrX;    mpstrd["Y"] = ptDig1.y - RadialClrY;    break;
case External_BR:   mpstrd["X"] = ptDig1.x + RadialClrX;    mpstrd["Y"] = ptDig1.y - RadialClrY;    break;
case External_TR:   mpstrd["X"] = ptDig1.x + RadialClrX;    mpstrd["Y"] = ptDig1.y + RadialClrY;    break;
case External_TL:   mpstrd["X"] = ptDig1.x - RadialClrX;    mpstrd["Y"] = ptDig1.y + RadialClrY;    break;
case Internal_BL:   mpstrd["X"] = ptDig1.x + RadialClrX;    mpstrd["Y"] = ptDig1.y + RadialClrY;    break;
case Internal_BR:   mpstrd["X"] = ptDig1.x - RadialClrX;    mpstrd["Y"] = ptDig1.y + RadialClrY;    break;
case Internal_TR:   mpstrd["X"] = ptDig1.x - RadialClrX;    mpstrd["Y"] = ptDig1.y - RadialClrY;    break;
case Internal_TL:   mpstrd["X"] = ptDig1.x + RadialClrX;    mpstrd["Y"] = ptDig1.y - RadialClrY;    break;
}

Обновление: В комментарии было предложено, чтобы это было более сжатым способом сделать вышеупомянутое:

switch(Type) {
  case External_BL: dxDir = - 1; dyDir = - 1; break;
  case External_BR: dxDir = + 1; dyDir = - 1; break;
  case External_TR: dxDir = + 1; dyDir = + 1; break;
  case External_TL: dxDir = - 1; dyDir = + 1; break;
  case Internal_BL: dxDir = + 1; dyDir = + 1; break;
  case Internal_BR: dxDir = - 1; dyDir = + 1; break;
  case Internal_TR: dxDir = - 1; dyDir = - 1; break;
  case Internal_TL: dxDir = + 1; dyDir = - 1; break;
}
mpstrd["X"] = pt1.x + dxDir * RadialClrX;
mpstrd["Y"] = pt1.y + dyDir * RadialClrY; 

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

23
ответ дан 3 revs 23 November 2019 в 21:47
поделиться

Необходимо просто сделать это ради всех, у кого нет 22-дюймового широкоэкранного монитора. Лично, я работаю над 17 дюймами 4:3 монитор, и я нахожу что более, чем достаточно широкий. Однако у меня также есть 3 из тех мониторов, таким образом, у меня все еще есть много применимого экранного пространства.

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

35
ответ дан Kibbee 23 November 2019 в 21:47
поделиться

Печать моноширинного шрифта в размерах по умолчанию - (на листе А4) 80 столбцов 66 строками.

22
ответ дан Josh 23 November 2019 в 21:47
поделиться

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

58
ответ дан Craig Day 23 November 2019 в 21:47
поделиться

Источник форматирования с 80 текстами столбца ранее, чем терминалы на 80 столбцов - перфокарта IBM относится ко времени 1928 ! Это напоминает о (недостоверный) история, что американский железнодорожный индикатор был определен шириной колес каретки в римской Великобритании.

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

Вот та же тема, затронутая Slashdot.

И вот олдскульный Оператор Фортрана:

FORTRAN punch card

78
ответ дан 3 revs 23 November 2019 в 21:47
поделиться

Используйте пропорциональные шрифты.

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

4
ответ дан bgiles 23 November 2019 в 21:47
поделиться

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

И приблизительно 17 лет назад я позволил своему собственному коду расшириться до 88 столбцов, потому что я начал делать все с помощью , Noweb и 88 столбцов - то, что вписывается в приятно печатный документ с помощью Техаса

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

0
ответ дан Norman Ramsey 23 November 2019 в 21:47
поделиться

Мы недавно сделали обзор. Почти все используют энергия внутренняя часть терминал гнома, и если мы делаем вертикальное разделение, количество столбцов равняется 78 как размеру стандартного шрифта и разрешению экрана 1280x1024.

, Таким образом, все мы согласились на стандарт кодирования с количеством столбцов (приблизительно) 75 символов. Это в порядке.

0
ответ дан pi. 23 November 2019 в 21:47
поделиться
Другие вопросы по тегам:

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