Eclipse имеет возможность предупреждать о назначении параметру метода (внутри метода), например:
public void doFoo(int a){
if (a<0){
a=0; // this will generate a warning
}
// do stuff
}
Обычно я пытаюсь активировать (и прислушиваться) почти все доступные предупреждения компилятора, но в этом случае я не уверен, стоит ли это.
Я вижу законные случаи для изменения параметра в методе (например: разрешение параметра "unset" (например, null) и автоматическая подстановка значения по умолчанию), но в нескольких ситуациях, когда это может вызвать проблемы, за исключением того, что оно может быть немного запутанным, чтобы переназначить параметр в середине метода.
Используете ли вы такие предупреждения? Почему/почему нет?
Примечание:
Избежать этого предупреждения, конечно, эквивалентно созданию параметра метода final
(только тогда это ошибка компилятора:-)). Итак, этот вопрос Почему я должен использовать ключевое слово "final" по параметру метода в Java? может быть связано.