Il est temps d'aimer les analyseurs statiques! Rencontrez Detekt à Kotlin
Si vous savez déjà ce qui sera discuté et que vous souhaitez uniquement mettre en œuvre le projet, passez immédiatement au point d'installation.
Qu'est-ce que c'est?

Analyse logicielle effectuée (par opposition à l'analyse dynamique) sans exécution réelle des programmes à l'étude.
WikipédiaEt selon vos propres mots, c'est un outil pratique qui vous aide à respecter les règles d'un bon code. Permet une personnalisation très flexible des filtres par la définition d'un mauvais code. Qui à chaque lancement générera un certain rapport, y compris des statistiques sur les conflits détectés, des informations à leur sujet, ce qui permet de déterminer où le conflit s'est produit et son type.
Les analyseurs statiques facilitent le travail du réviseur et font généralement gagner du temps à l'équipe de développement.
Supposons que nous ayons un bon PR, cependant, l'auteur a donné des noms trop longs pour les variables, a écrit du code qui peut être facilement simplifié ou violer l'une des nombreuses règles définies dans le fichier de configuration Detekt, les règles ne sont pas compliquées, mais la révision du code ne passera pas un tel PR.
L'auteur devra à nouveau basculer entre les projets, ainsi que les relecteurs, je suis sûr que la relecture répétée apportera peu de plaisir.
Automatisez si c'est rapide et pas cher. (C) Bon sens
Que sont les analyseurs statiques?
Pour java:Pour Kotlin:Je réponds à la question qui se pose dans votre tête, Spot-bugs sur Kotlin ne fonctionne pas.
Introduire Detekt dans le projet
Detect peut être installé de plusieurs manières:
- Plugin pour AndroidStudio
- Gradle
Je pense que la configuration via Gradle est plus flexible et j'en parle.
Sur le site officiel, il existe plusieurs façons d'installer Detekt dans le projet, selon la version de Gradle, qu'il s'agisse d'un projet Android. Mais, dans mon expérience de la mise en œuvre d'un projet Android,
certaines instructions ne fonctionnent pas . Pour le moment, le projet est très proche de la version 1.0. La dernière version au moment de la rédaction est la version 1.0.0-RC14
Alors.
Nous allons sur le site officiel de
Gradle et voyons les instructions d'installation.
buildscript { repositories { maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath "io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.0.0-RC14" } }
C'est cette décision que je vous conseille d'adhérer au projet Android.
Vous avez probablement remarqué que j'ai supprimé la ligne de plugin apply: car je vous conseille de séparer Detekt dans un fichier séparé et d'appliquer déjà la demande.
Étape 1:
Copiez donc ce code dans le niveau d'application build.gradle.
Là, dans le bloc
allprojects, nous devons écrire une ligne pour appliquer notre fichier contenant les paramètres detekt.
allprojects { apply from: "$rootDir/detekt.gradle" repositories { maven { url "https://plugins.gradle.org/m2/" } } }
Étape 2:
Ensuite, vous devez créer le fichier
detekt.gradle apply plugin: "io.gitlab.arturbosch.detekt" detekt { toolVersion = "1.0.0-RC14"
Étape 3:
Vous devez maintenant créer le fichier de configuration
detekt-config.ymlIl s'agit d'un fichier de configuration standard du
site officiel .
Étape 4:
Ouvrez une console et exécutez la commande:
gradlew detektC’est tout!
Vous avez maintenant des statistiques prêtes pour votre projet. Ils sont affichés dans la console, et vous pouvez également les trouver le long du chemin: {u_project} \ app \ build \ reports \ detekt
En conclusion
Il est très pratique d'utiliser Detekt lors de la construction à
JenkinsLe temps d'exécution de la tâche dans un projet avec plus de 2000 classes est de 4 à 7 secondes *.
Je veux dire que l'utilisation d'un analyseur statique simplifie un peu notre travail. Accélère le processus de développement et fait économiser de l'argent aux entreprises.
Références:
Detekt githubConfigurer detektdefault-detekt-config.yml