¡Es hora de amar los analizadores estáticos! Conoce a Detekt en Kotlin
Si ya sabe lo que se discutirá y solo está interesado en implementar el proyecto, proceda inmediatamente al punto de instalación.
Que es esto

Análisis de software realizado (en oposición al análisis dinámico) sin ejecución real de los programas en estudio.
WikipediaY en sus propias palabras, es una herramienta conveniente que lo ayuda a cumplir con las reglas del buen código. Permitiendo una personalización muy flexible de los filtros mediante la definición de código incorrecto. Que en cada lanzamiento generará un informe determinado, que incluye estadísticas sobre conflictos detectados, información sobre ellos, lo que permite determinar dónde ocurrió el conflicto y su tipo.
Los analizadores estáticos facilitan el trabajo del revisor y generalmente ahorran tiempo al equipo de desarrollo.
Supongamos que tenemos un buen PR, sin embargo, el autor dio nombres que son demasiado largos para las variables, escribió un código que se puede simplificar fácilmente o infringió una de las muchas reglas establecidas en el archivo de configuración de Detekt, las reglas no son complicadas, pero la revisión de código no pasará dicho PR.
El autor nuevamente tendrá que cambiar entre proyectos, así como los revisores, estoy seguro de que la revisión repetida traerá poco placer.
Automatice si es rápido y no es costoso. (C) sentido común
¿Qué son los analizadores estáticos?
Para java:Para Kotlin:Respondo la pregunta que surgió en tu cabeza, Spot-bugs en Kotlin no funciona.
Introduciendo Detekt en el proyecto
Detect se puede instalar de varias maneras:
- Plugin para AndroidStudio
- Gradle
Creo que la configuración a través de Gradle es más flexible y estoy hablando de eso.
En el sitio web oficial hay varias formas de instalar Detekt en el proyecto, dependiendo de la versión de Gradle, ya sea un proyecto de Android. Pero, en mi experiencia de implementar un proyecto de Android,
algunas instrucciones no funcionan . Por el momento, el proyecto está muy cerca de la versión 1.0. La última versión en el momento de escribir este artículo es la versión candidata 1.0.0-RC14
Entonces
Vamos al sitio web oficial de
Gradle y vemos las instrucciones de instalación.
buildscript { repositories { maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath "io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.0.0-RC14" } }
Es esta decisión la que aconsejo seguir para el proyecto de Android.
Probablemente haya notado que eliminé la línea de complemento apply: ya que le aconsejo que separe Detekt en un archivo separado y que aplique ya en él.
Etapa 1:
Entonces, copie este código al nivel de aplicación build.gradle.
Allí, en el bloque de
todos los
proyectos, deberíamos escribir una línea para aplicar nuestro archivo que contiene la configuración de detekt.
allprojects { apply from: "$rootDir/detekt.gradle" repositories { maven { url "https://plugins.gradle.org/m2/" } } }
Etapa 2:
Entonces necesita crear el archivo
detekt.gradle apply plugin: "io.gitlab.arturbosch.detekt" detekt { toolVersion = "1.0.0-RC14"
Etapa 3:
Ahora necesita crear el archivo de configuración
detekt-config.ymlEste es un archivo de configuración estándar del
sitio oficial .
Etapa 4:
Abra una consola y ejecute el comando:
gradlew detektEso es todo!
Ahora tiene estadísticas listas para su proyecto. Se muestran en la consola y también puede encontrarlos en la ruta: {u_project} \ app \ build \ reports \ detekt
En conclusión
Es muy conveniente usar Detekt al construir en
JenkinsEl tiempo de ejecución de la tarea en un proyecto con más de 2000 clases es de 4-7 segundos *.
Quiero decir que usar un analizador estático simplifica un poco nuestro trabajo. Acelera el proceso de desarrollo y ahorra dinero empresarial.
Referencias
Detekt githubConfigurar detektdefault-detekt-config.yml