-
Notifications
You must be signed in to change notification settings - Fork 116
Неиспользуемая локальная переменная #920
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Как вариант на подумать: анализировать поблочно
|
ad59978
to
e13bec8
Compare
Снял WIP. |
4d6722e
to
4e64b79
Compare
boolean export; | ||
Optional<VariableDescription> description; | ||
|
||
ArrayList<Usage> usages = new ArrayList<>(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
предлагаю List вместо ArrayList
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Обязательно использовать List
)
ЛокальнаяСИспользованием = 40; | ||
ТолькоСПрисвоениемЗначения = ВыполнитьДействие(ЛокальнаяСИспользованием); | ||
ВПроцедуреИспользуемая = Проверка(); | ||
ВПроцедуреНеИспользуемая = Проверка(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
а как в коде проверяется. что эта переменная не является переменной формы, реквизитом объекта и т.п. ?
ведь если этих проверок нет, будет ОГРОМНОЕ число ложных срабатываний
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Модули в которых доступны различного рода реквизиты не анализируются. Как появиться возможность считать из метаданных контекст добавлю фильр
ждет реализации контекста. |
не учитываются параметры методов fp на счетчиках циклов
4e64b79
to
5aea25b
Compare
@nixel2007 @otymko @qtLex предлагаю не ждать реализации контекстов, прошло уже 10 месяцев и движения пока нет. а правило хорошее, даже в рамках текущих ограничений. предлагаю доделать и принимать. |
Правило позволяет ловить довольно серьезные ошибки с копипастом или опечатками, |
@qtLex попробуешь переписать диагностику поверх ReferenceIndex? Стучи в личку, пообщаемся на этот счет, расскажу свои идеи. |
@nixel2007 Ага, попробую. Только сначала гляну на ReferenceIndex, как-то пропустил его. |
@qtLex ветка feature/callee-db. |
ReferenceIndex в девелопе |
Переехало в #1611 |
Описание
Диагностика на неиспользуемые локальные переменные
Переделал диагностику на использование символов.
Расширил список переменных метода создаваемыми через присвоение.
Добавил коллекцию использований в переменную
Связанные задачи
Closes: #15
Чеклист
Общие
gradlew precommit
)Для диагностик
Дополнительно