Обертывание строк кода - как обрабатывать длинные строки
я сталкиваюсь с определенной строкой длиной 153 символа. Теперь, я склонен ломать вещи после 120 символов (конечно, это сильно зависит от того, где я нахожусь и местных соглашений. Но, честно говоря, везде, где я ломаю линию, это выглядит плохо. Поэтому я ищу некоторые идеи о том, что я должен сделать для этого.
вот строка:
private static final Map<Class<? extends Persistent>, PersistentHelper> class2helper = new HashMap<Class<? extends Persistent>, PersistentHelper>();
Я открыт для обеих идей о том, как/где сломать линию (и почему), а также способы сократить линию себя.
мы не магазин Java, и для такого рода вещей нет локальных соглашений, или, очевидно, я бы просто следовал им.
спасибо!
5 ответов
В общем, я ломаю строки до операторы и отступы последующих строк:
Map<long parameterization> longMap
= new HashMap<ditto>();
String longString = "some long text"
+ " some more long text";
Мне ведущий оператор ясно передает ,что " эта линия была продолжена от чего-то другого, она не стоит сама по себе.- У других людей, конечно, другие предпочтения.
вот как я это делаю, и Google Это мой путь.
- перерыв до символ не-задание операторы.
- перерыв после символ
=
и,
.
в вашем случае, поскольку вы используете 120 символов, вы можете сломать его после оператора присваивания, в результате чего
private static final Map<Class<? extends Persistent>, PersistentHelper> class2helper =
new HashMap<Class<? extends Persistent>, PersistentHelper>();
в Java, и для этого конкретного случая я бы дал два вкладки (или восемь пробелов) после разрыва, в зависимости от того, используются ли вкладки или пробелы для отступов.
Это, конечно, личное предпочтение, и если ваш проект имеет свое собственное Соглашение для обертывания линий, то это то, что вы должны следовать, нравится вам это или нет.
IMHO это лучший способ написать свою строку:
private static final Map<Class<? extends Persistent>, PersistentHelper> class2helper =
new HashMap<Class<? extends Persistent>, PersistentHelper>();
таким образом, увеличенный отступ без фигурных скобок может помочь вам увидеть, что код был просто разбит, потому что строка была слишком длинной. И вместо 4 пробелов, 8 сделает его более ясным.
использует статические заводские методы Guava для карт и имеет длину всего 105 символов.
private static final Map<Class<? extends Persistent>, PersistentHelper> class2helper = Maps.newHashMap();
Я думаю, что перемещение последнего оператора в начале следующей строки является хорошей практикой. Таким образом, вы сразу узнаете цель второй линии, даже если она не начинается с оператора. Я также рекомендую 2 отступа (2 вкладки) для ранее сломанной вкладки, чтобы отличаться от обычного отступа. Это сразу видно как продолжение предыдущей строки. Поэтому я предлагаю следующее:--2-->
private static final Map<Class<? extends Persistent>, PersistentHelper> class2helper
= new HashMap<Class<? extends Persistent>, PersistentHelper>();