Я очищаю Java-код для тех, кто начинает свои функции, объявляя все переменные вверху и инициализируя их нулями/0/независимо, в отличие от объявления их по мере необходимости.
Каковы конкретные рекомендации для этого? Существуют ли причины оптимизации для одного или другого, или это один из способов просто хорошей практики? Существуют ли случаи, когда приемлемо отклоняться от того, что надлежащий способ сделать это?