Данное диагностическое правило позволяет обнаружить использование переменных среды, которые можно заменить системным свойством.
Согласно документации, проблема может заключаться в том, что:
По этим причинам с большей вероятностью есть возможность получить непредвиденные побочные эффекты. Следовательно, если переменная среды содержит информацию, доступную другими способами, эту переменную использовать не следует.
Например, если операционная система предоставляет имя пользователя, оно всегда будет доступно в системном свойстве 'user.name'.
Плохая практика:
String user = System.getenv("USER");
Исправление:
String user = System.getProperty("java.name");
Помимо прямых вызовов метода 'System.getenv()', диагностика отслеживает методы по их сигнатурам, которые могут свидетельствовать о возвращении значений переменных среды.
Данная диагностика классифицируется как:
|