Как правильно переносить слишком длинные строки в Java

Если выражение не помещается на одной строке, разбейте его в соответствии с этими общими принципами:

• Разрыв после запятой.

• Перерыв перед оператором.

• Предпочитайте перерывы более высокого уровня перерывам более низкого уровня.

• Совместите новую строку с началом выражения на том же уровне, что и на предыдущем

линия.

• Если приведенные выше правила приводят к путанице в коде или к коду, который упирается в правое поле, просто сделайте отступ в 8 пробелов.

Вот несколько примеров прерывания вызовов методов:

function(longExpression1, longExpression2, longExpression3,
         longExpression4, longExpression5);
var = function1(longExpression1,
                function2(longExpression2,
                          longExpression3));

Ниже приведены два примера нарушения арифметического выражения. Первый является предпочтительным, так как

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

longName1 = longName2 * (longName3 + longName4 - longName5)
            + 4 * longname6; // PREFER
longName1 = longName2 * (longName3 + longName4
                         - longName5) + 4 * longname6; // AVOID

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

//CONVENTIONAL INDENTATION
someMethod(int anArg, Object anotherArg, String yetAnotherArg,
           Object andStillAnother) {
 ...
}
//INDENT 8 SPACES TO AVOID VERY DEEP INDENTS
private static synchronized horkingLongMethodName(int anArg,
        Object anotherArg, String yetAnotherArg,
        Object andStillAnother) {
 ...
}

Обтекание строк для операторов if, как правило, должно использовать правило 8-и пробелов, поскольку обычные отступы (4 пробела) затрудняют просмотр тела условного выражения. Например:

//DON’T USE THIS INDENTATION
if ((condition1 && condition2)
    || (condition3 && condition4)
    ||!(condition5 && condition6)) { //BAD WRAPS
    doSomethingAboutIt(); //MAKE THIS LINE EASY TO MISS
}
//USE THIS INDENTATION INSTEAD
if ((condition1 && condition2)
        || (condition3 && condition4)
        ||!(condition5 && condition6)) {
    doSomethingAboutIt();
}
//OR USE THIS
if ((condition1 && condition2) || (condition3 && condition4)
        ||!(condition5 && condition6)) {
    doSomethingAboutIt();
}

Вот три приемлемых способа форматирования тернарных выражений:

alpha = (aLongBooleanExpression) ? beta : gamma;
alpha = (aLongBooleanExpression) ? beta
                                 : gamma;
alpha = (aLongBooleanExpression)
        ? beta
        : gamma;

ОК! ИДЕМ ДАЛЬШЕ!