Поиск повторяющегося кода (Kotlin) в Android Studio

Есть ли способ найти дублированный (копировать/вставить код, повторяющийся код) код Kotlin в Android Studio? У меня есть Android Studio 4.0, но я не могу найти эту опцию «Дублированный фрагмент кода».

Существуют ли какие-либо плагины Android Studio, которые выполняют эту работу для Kotlin?


person AndroidDev    schedule 10.06.2020    source источник
comment
Видел это? jetbrains.com/help/idea/analyzing-duplicates.html   -  person Ivan Wooll    schedule 10.06.2020
comment
Это для IntelliJ, я ищу инструменты Android Studio   -  person AndroidDev    schedule 10.06.2020
comment
Вы также можете попробовать запустить SonarQube (sonarqube.org) в студии Android (stackoverflow.com/questions/43811106/)   -  person ZSergei    schedule 10.06.2020
comment
@Harish Android Studio основана на Intellij   -  person Ivan Wooll    schedule 10.06.2020


Ответы (1)


Вы можете установить подключаемый модуль sonarLint.

В нем есть множество правил, которые выполняются в исходном коде, чтобы найти возможные проблемы, такие как ошибки или запахи кода.

пример 1

Это делается с помощью правил, установленных по умолчанию.

Другой пример повторения:

пример 2

Просто нужно установить плагин sonarLint в Preferences/Plugins:

sonarLint

person jeprubio    schedule 10.06.2020
comment
jeprubio, кажется, он проверяет весь код между двумя методами (код должен точно совпадать) и не работает, когда 1. Два метода отличаются даже на одну строку 2. В одном и том же методе есть дублированный код. Есть ли другие настройки, которые мы можем настроить? - person AndroidDev; 10.06.2020
comment
Ну, если они не идентичны (параметры или переменные изменены), он также может обнаруживать дубликаты в зависимости от случая, но это не всегда идеально. Если вы хотите, чтобы у него были настраиваемые правила, если вы щелкнете вкладку SonarLint, а затем на изображении «Настроить Sonarlint» (значок инструментов), вы можете установить конфигурации SonarQube / SonarCloud, где можно получить настраиваемые правила. Тем не менее, те, что по умолчанию, великолепны и очень помогают. на мой взгляд лучшее средство - person jeprubio; 10.06.2020