JavaScript Python Releases

Qodana 2022.2 ya está disponible: CircleCI Orb y más de 50 nuevas inspecciones

Read this post in other languages:
English, Français, 한국어, Português do Brasil, 简体中文

¡Qodana 2022.2 ya está aquí! Hemos añadido CircleCI Orb al conjunto de herramientas de integración de Qodana, y hemos incorporado nuevas y mejoradas inspecciones de código para Java, Kotlin, Android, PHP, JavaScript y Python.

COMIENCE A USAR QODANA

Más inspecciones de código con las que ejecutar Qodana

Qodana ya cuenta con complementos para Azure Pipelines, GitHub Actions y TeamCity. A partir de la versión 2022.2, hemos preparado un CircleCI Qodana Orb que le permite configurar las inspecciones de código de forma rápida y sencilla con sus proyectos CircleCI.  

Además, es fácil configurar Qodana en GitLab, Jenkins o cualquier otra IC que admita la ejecución de imágenes Docker.

Para incluir o excluir ciertas inspecciones de su análisis, puede personalizar su perfil de inspección por defecto o crear uno nuevo. Quizá también desee hacer cumplir las inspecciones que son importantes para sus directrices de codificación o las mejores prácticas. Consulte nuestra documentación sobre Qodana para obtener más información. 

Nuevas inspecciones

Expresiones regulares

Las expresiones regulares son muy conocidas por su complejidad, su intrincada sintaxis y, en ocasiones, su verborrea. Para facilitarle las cosas, hemos añadido nuevas inspecciones en esta área. Anteriormente, estas inspecciones solo estaban disponibles para Java, pero ahora las hemos puesto a disposición de todos los idiomas.

Expresiones regulares simplificadas

Una expresión regular como [\wa-z\d] puede simplificarse a solo \w, ya que \w ya incluye a-z además de los dígitos. Esto ayuda a mejorar la legibilidad general del código.

Referencias de retorno sospechosas

Una expresión regular como \1(abc) no puede coincidir con nada. Esto se debe a que el \1 se refiere al abc, que aún no está definido al evaluar el \1. Esta inspección evita los errores tipográficos simples en las expresiones regulares y acelera la edición. 

Elementos redundantes de clase \d, [:digit:], o \D

La expresión regular [\w+\d] puede escribirse como [\w+], ya que la \w ya incluye la \d. Ayuda a mejorar la legibilidad general del código.

Compatibilidad con Markdown

Elementos de la lista mal numerados

Los elementos de una lista ordenada, como 1. 2. 4., se marcan como numerados de modo incoherente. En el Markdown renderizado, la lista sigue apareciendo como 1.2.3., pero la incoherencia dificulta la edición del código fuente.

Inspecciones de Java, Kotlin y Android

Hemos añadido y reorganizado las inspecciones en las categorías: Javadoc, DevKit, Markdown, lenguaje Kotlin, estilo, patrones arquitectónicos, rendimiento y compatibilidad con JUnit. Estos son un par de ejemplos del conjunto JUnit.

JUnit: Declaración mal formada

Informa de las declaraciones de miembros de prueba de JUnit que están mal formadas y que probablemente no sean reconocidas por el marco de pruebas de JUnit. Declaraciones como estas podrían dar lugar a pruebas o métodos del ciclo de vida no ejecutados.

JUnit: TestCase no construible

Informa de los casos de prueba JUnit que no se pueden construir porque tienen un constructor no válido. Los casos de prueba como estos no serán recogidos por el ejecutor de pruebas de JUnit y, por lo tanto, no se ejecutarán.

Estos ejemplos se pueden ver en vivo en nuestra instancia pública de TeamCity. Por favor, utilice el inicio de sesión de invitado para entrar. En nuestra documentación se describen otras inspecciones.

Inspecciones PHP

Hemos añadido inspecciones en las categorías de errores probables, documentación, estilo, pruebas y Laravel, por ejemplo:

Error probable: Desajuste de los rangos de números

En una función declarada con return int<0,10>, marca las declaraciones return que devuelven un número fuera de este rango. Lo mismo ocurre con los campos, los constructores de campos y las llamadas a funciones. 

Documentación: Etiqueta de tipo sin nombre de variable

El fragmento de PHPDoc @param string es redundante ya que no dice qué es una cadena. Debería eliminarse o sustituirse por @param string $argument, para indicar que argument es una cadena. 

Blade: Error de análisis debido a paréntesis no emparejados en literales de cadena

Detección temprana de paréntesis no emparejados en literales de cadena que posteriormente son analizados por Blade, un motor de plantillas.

Si tiene alguna sugerencia para futuros temas del blog o si desea saber más sobre cómo Qodana puede ayudarle a usted y a su negocio, publique un comentario aquí, etiquétenos en Twitter o póngase en contacto con nosotros en qodana-support@jetbrains.com.

El equipo de Qodana

Artículo original en inglés de:

Luiz Di Bella

Viktor Tiulpin