Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Я сам так выравниваю, весьма эстетично получается. Для этого даже elastic tabstops придумали.
Но есть минус: если надо дописать более длинное выражение в том же блоке, то надо остальные тоже пробелами подогнать. Неудобно.
1. Они разбираются один раз на старте приложения, потому выполняются быстрее (не надо каждый раз разбирать текст запроса и строить АСД).
2. Соответственно, ошибки в таких запросах обнаруживаются сразу, а не случайным образом в рантайме.
В одинарных кавычках в жабе может находиться только один символ ('a', 'b', но не 'ab'). Строки окружаются двойными кавычками. Автоподстановки строковых переменных ("Hello, ${user}!") в жабе нет, для этого нужно использовать String.format(template, args). Под константными строками я имел в виду строки, извесные на этапе компиляции (включая именованные константы). По идее все строки в жабе иммутабельны. Пример, когда конкатенацию не сможет выполнить компилятор:
public String f(String p) {
return "The param is " + p;
}
Тут p заранее неизвестно, и код будет преобразован компилятором в конструкцию
public String f(String p) {
return new StringBuilder("The param is ").append(p).toString();
}
$ cat Test.java
public class Test {
public static final String A = "Hello";
public static final String B = "World";
public static final String C = A + ", " + B + "!";
};
$ javap -constants Test.class
Compiled from "Test.java"
public class Test {
public static final java.lang.String A = "Hello";
public static final java.lang.String B = "World";
public static final java.lang.String C = "Hello, World!";
public Test();
}
тарастайл?
тарасыравнивание?
тарасотступ?
тарасбивка?
По-моему, хороший пример.
руками
Но есть минус: если надо дописать более длинное выражение в том же блоке, то надо остальные тоже пробелами подогнать. Неудобно.
но он из другой команды
Да и не всегда они удобны. Даже хотел бы услышать в чем их преимущества =)
2. Соответственно, ошибки в таких запросах обнаруживаются сразу, а не случайным образом в рантайме.
К сожалению, мое приложение не позволяет из активно юзать. =)
А вообще советую этим товарищам открыть для себя QueryDSL.
кстати у меня на работе ровнять код как минимум поощряется. видимо из-за того, что пишем на дельфи. видимо тарас руку приложил.