Как применить присвоение аргументам методов с использованием Findbugs?
-
19-09-2019 - |
Вопрос
В качестве альтернативы мусора моему коду тысячам окончательных ключевых слов перед моими параметрами я пытаюсь применять его, используя Findbugs.
Это невозможно сделать, но должен быть путь, не так ли?
Спасибо
Решение
Findbugs имеет одну связанную ошибку шаблон:
IP: параметр мертв после входа в метод, но перезаписан (ip_parameter_is_dead_but_overwritten)
Начальное значение этого параметра игнорируется, и параметр перезаписан здесь. Это часто указывает на ошибочное убеждение, что запись в параметр будет передана обратно вызывающему абоненту.
Тем не менее, я не думаю, что это поймает на случаи, когда вы перезаписываете парам после прочтения парама.
С другой стороны, это похоже на PMD имеет правило Это именно то, что вы ищете:
Избегайте разобразования параметров: переназначение значений в параметры является сомнительной практикой. Вместо этого используйте временную локальную переменную.
И если это не сработает для вас, у людей PMD есть список Из многих других статических шашек, как бесплатных, так и коммерческих, которые вы могли бы изучить.