Итак, как вы знаете, есть лучшая практика высказывания
Ограничить строку исходного кода в 80 символов.
Вот 2 ссылки:
Почему 80 символов являются «стандартным» пределом для ширины кода?
Ограничение в 80 символов по-прежнему актуально во времена широкоэкранных мониторов?
И я уверен, что вы сможете получить больше, если будете искать эту лучшую практику.
Но я нахожу это чрезвычайно трудным, вот пример:
public class MyClass {
public void myMethod() {
final Map<String, List<MyInterfaceHere>> myReference
Таким образом, вы делаете отступ для каждого класса, каждого метода и каждого оператора.
И я уже нахожусь в колонке 60 к концу последнего 'e', который я имею в 'myReference'.
У меня осталось 20 пробелов, я действительно вызываю конструктор и присваиваю объект моей ссылке.
Я имею в виду, действительно ли это выглядит лучше:
public class MyClass {
public void myMethod() {
final Map<String, List<MyInterfaceHere>> myReference
= new HashMap<String, List<MyInterfaceHere>>();
Какова лучшая практика здесь?
источник
final Map<String, List<MyInterfaceHere>> myReference = new HashMap<>();
(80 символов с отступом, как в вашем примере)80 chars * 7 pixels/char = 560 pixels per file
, Это позволяет удобно разместить два файла (1120 пикселей) на экране шириной 1280 пикселей или три (1680 пикселей) на экране размером 1920 пикселей, в обоих случаях оставляя дополнительное пространство для номеров строк, полос прокрутки, сигил и других элементов пользовательского интерфейса. , Или даже немного более длинная линия.Ответы:
Лучшая практика должна заключаться в «ограничении длины линии, чтобы вы, все ваши коллеги и все используемые вами инструменты были довольны ею», плюс некоторый здравый смысл. 80 символов кажутся очень маленькими и имеют тенденцию уменьшать читабельность. Однажды меня полностью обманула такая строчка:
где вызов функции не был виден на экране (и при этом он не был виден на экране любого коллеги) без указания.
Я установил в своем редакторе поле для отображения в 100 столбцов и перевернул код на дисплее, чтобы при редактировании все всегда было видно, а чрезмерно длинные строки обычно разбиваются вручную на две, а иногда и более строки. Молитесь, чтобы ваш редактор хорошо форматировал разделенные операторы, если он выполняет автоматическое форматирование. Используйте стиль кодирования, который не приводит к глубоко вложенным операторам. (Некоторые люди создают гнездо из двадцати операторов if, за которым следует хвост из двадцати других, что приводит к углублению в 200 символов, и никто не может понять, что еще принадлежит, если, если).
В вашем конкретном случае Swift изобрел способ избежать этого: переменной «let» (которая примерно такая же, как «final» в других языках) необходимо присвоить значение ровно один раз перед ее использованием, но не обязательно в объявлении Таким образом, вы можете разделить свою неприятную линию на два независимых утверждения.
PS. Я встречал строки в реальном написанном человеком коде длиной более 400 символов. Другими словами, вам придется прокручивать целую вечность, чтобы прочитать остальную часть строки, даже на 24-дюймовом мониторе. Я не был удивлен :-(
источник
/* Very long comment to the end of the line */ realCode ();
должно уже нарушать некоторые другие правила стиля./* Very long comment to the end of the line */ realCode ();
это одна из причин, почему в среде IDE есть средства форматирования кода, которые автоматически помещают комментарий и код в отдельные строки.Да, это выглядит лучше. Вот почему "Не используйте слишком длинные строки!" Максим очень сильный.
Что касается лучшей практики, я никогда не использую эти ужасно длинные выражения конструктора. Я бы всегда использовал
для некоторой соответственно определенной, статически импортированной стоимости
newMap()
. Я считаю серьезным недостатком Java то, что у него нет встроенной версии.источник
Цель не в том, чтобы «сохранить строки до 80 символов». Цель состоит в том, чтобы «сделать ваш код легко читаемым и понятным». Искусственный лимит в 80 символов помогает в удобочитаемости, но это не жесткое и быстрое правило, если ваша команда не решит, что так оно и есть.
Вы спрашивали о передовой практике, и передовая практика заключается в том, чтобы «сделать код максимально читабельным». Если для этого требуется более 80 символов, пусть будет так.
источник
Не бойтесь нажать клавишу возврата. Большинство современных языков (включая Java, как в вашем примере) вполне устраивают операторы, состоящие из нескольких строк.
Просто подумайте о том, где вы ломаете строки, и вы можете получить что-то, что вписывается в ограничение 80 столбцов и все еще остается идеально читаемым. Официальные соглашения о кодировании Java даже указывают предпочтительные места для разрыва строк.
Если все сделано правильно, аккуратно разбитая строка намного удобнее для чтения, чем та, которая исчезает за боковой стенкой экрана.
источник
Если вы используете длину строки / ширину кода, используйте инструмент.
Разработчики решают, что является разумной длиной (80, 120, 200 и т. Д.), Установите эту опцию в инструменте.
После этого просто напишите код, как обычно, безотносительно к ширине или длине строки. Как только он будет функционален и закончен, щелкните правой кнопкой мыши и выберите « Очистить код» или аналогичный параметр. Инструмент отформатирует код, как вы сказали, и разбивает длинные строки, как указано.
Бессмысленно и легко, и каждый исходный файл будет отформатирован одинаково.
источник
Предел 80 символов может быть слишком коротким в наши дни, но это помогает. Я бы согласился со всеми этими мнениями, что код должен быть также хорошо отформатирован. например, код
может быть в пределах 80 часов, но создает путаницу, поскольку замечания и параметры кода находятся в одной строке.
Соблюдать лимит в 80 часов или нет - это индивидуальный выбор, но если вещи видны в одном кадре, это всегда даст удобный обзор и ощущение программистам и другим рецензентам.
источник