мое личное «правило» (вряд ли когда-либо сломано) заключается в следующем:
Итак, у меня был бы код вроде:
public class X
{
public static final int USED_AS_A_CASE_LABEL = 1; // only exception - the compiler makes me
private static final int A;
private final int b;
private int c;
static
{
A = 42;
}
{
b = 7;
}
public X(final int val)
{
c = val;
}
public void foo(final boolean f)
{
final int d;
final int e;
d = 7;
// I will eat my own eyes before using ?: - personal taste.
if(f)
{
e = 1;
}
else
{
e = 2;
}
}
}
Таким образом, я всегда на 100% уверен, где искать объявления переменных (в начале блока) и их назначения (как только это имеет смысл после объявления). Это приводит к повышению эффективности, поскольку вы никогда не инициализируете переменную со значением, которое не используется (например, объявлять и инициализировать vars, а затем выдавать исключение, прежде чем половина этих варов должна иметь значение). Вы также не завершаете бессмысленную инициализацию (например, int i = 0, а затем позже, прежде чем использовать «i», выполните i = 5;.
Я очень сильно оцениваю последовательность, поэтому следуя этому «rule» - это то, что я делаю все время, и это упрощает работу с кодом, так как вам не нужно искать вещи.
Ваш пробег может отличаться.