Industria: Sanidad
Productos de JetBrains utilizados: Qodana
Tamaño de la organización: 50
País: Estados Unidos
Consideramos que Qodana ayuda a todos nuestros desarrolladores a escribir el mejor código posible, independientemente de su experiencia. Qodana ayuda a nuestros desarrolladores júnior a escribir código de nivel sénior, y también permite a nuestros desarrolladores sénior mantener la calidad del código esperada. Dados los diversos tipos de inspecciones que ofrece, esperamos que Qodana pueda actuar como un instructor de desarrolladores, además de ayudar a mantener los estándares de calidad del código en nuestros productos.
— Daniel Larson, arquitecto de software, Zynex Monitoring Solutions
Soy desarrollador de software desde hace unos 25 años, principalmente con servidores de Microsoft y .NET. Llevo unos 10 años desarrollando software con equipos en Azure y he cambiado de las implementaciones locales a la nube, centrándome principalmente en la escalabilidad y las implementaciones globales.
En Zynex Monitoring Solutions, desarrollamos dispositivos médicos que supervisan a los pacientes de forma no invasiva. Nuestro equipo de la nube está creando una plataforma de interoperabilidad que integrará nuestros dispositivos con los proveedores de asistencia sanitaria y los sistemas de salud.
La plataforma de interoperabilidad basada en la nube abre todo un nuevo abanico de posibilidades para nuestro software y las organizaciones de asistencia sanitaria. Podemos integrarnos con más clientes en comparación con los antiguos modelos de software empresarial en centros de datos privados, escalar sistemas con gran velocidad y ofrecer servicios personalizados rápidamente en función de las necesidades de nuestros clientes.
Para los servicios en la nube de Zynex Monitoring Solutions, utilizamos .NET ejecutado en contenedores de Linux, escrito principalmente en C#. Utilizamos la última versión de producción de .NET, y la mayoría de nuestros servicios utilizan .NET 7. También estamos empezando a utilizar .NET 8.
El desarrollo se realiza con Visual Studio y ReSharper, y algunos desarrolladores utilizan el IDE de Rider. Ejecutamos la integración continua (CI) y la implementación principalmente mediante acciones de GitHub que se implementan en nuestra infraestructura en la nube.
Nuestra carga de trabajo de producción utiliza una pila de nube moderna que se ejecuta en Kubernetes y aloja nuestras aplicaciones y servicios, combinados con NoSQL para el almacenamiento de datos, con una combinación de mensajería nativa de la nube. Buscamos continuamente nuevas tecnologías en la nube para resolver nuestras necesidades, incluidas la ciencia de datos y la inteligencia artificial (IA).
A todo el equipo de desarrolladores les encanta JetBrains ReSharper, que les ayuda con sugerencias y refactorizaciones durante la codificación. Su análisis del código ayuda a detectar posibles incidencias de calidad. Así que cuando buscamos herramientas de análisis del código y vimos que JetBrains estaba creando una herramienta de análisis del código, supimos que sería algo que podría simplificar el análisis y mejorar la calidad de nuestro código, sin dejar de usar las herramientas que les gusta a nuestros desarrolladores.
Sabemos que el uso de las herramientas de JetBrains mejora nuestro trabajo sin añadir molestia alguna, y ese ha sido el caso con Qodana. Ahora utilizamos Qodana para todas nuestras aplicaciones .NET.
Fue superfácil: la aplicación web Qodana Cloud hizo que fuera sencillo añadirla a nuestros flujos de trabajo de GitHub. Pudimos adoptar Qodana a medida que creábamos nuestros repositorios, y rápidamente pasamos a resolver todas las incidencias y a establecer una política de tolerancia cero para mantener nuestro código superlimpio.
Normalmente hacemos que Qodana verifique nuestra base de código en el flujo de trabajo de GitHub Actions y, a continuación, abordamos cualquier incidencia que detecte Qodana en ReSharper o JetBrains Rider. Actualmente no utilizamos la integración con los IDE de Qodana, que permite estudiar los informes de Qodana directamente en el IDE. La razón es que las inspecciones de Qodana coinciden con las inspecciones que están disponibles en ReSharper y JetBrains Rider, y podemos encontrar y solucionar rápidamente las incidencias de código allí.
Utilizamos una combinación de Sonarqube y Qodana. Sonarqube es realmente genial para buscar vulnerabilidades conocidas y realiza un seguimiento de la complejidad del código. Para el análisis general del código utilizamos principalmente Qodana. Es muy fácil de añadir a nuestro flujo de trabajo de compilación, y nos garantiza que tenemos una alta calidad de código en todo nuestro equipo. A medida que Qodana añade más funcionalidades, esperamos simplificar nuestro conjunto de herramientas de análisis de código.
Tenemos una combinación de desarrolladores júnior, de nivel medio y sénior, y exigimos a todos nuestros desarrolladores los mismos estándares profesionales de codificación. Consideramos que Qodana ayuda a todos nuestros desarrolladores a escribir el mejor código posible, independientemente de su experiencia. Qodana ayuda a nuestros desarrolladores júnior a escribir código de nivel sénior, y también permite a nuestros desarrolladores sénior mantener la calidad del código esperada. Dados los diversos tipos de inspecciones que ofrece, esperamos que Qodana pueda actuar como un instructor de desarrolladores, además de ayudar a mantener los estándares de calidad del código en nuestros productos.
Qodana se utiliza mejor desde el inicio con proyectos nuevos. Recomendamos utilizar las reglas de análisis del código más estrictas, integrarlas en GitHub y utilizar un umbral de error de «0» para que cualquier infracción bloquee la compilación y ofrezca al desarrollador la oportunidad de limpiar su código. También queremos hacer hincapié en la importancia de las anotaciones dentro del código utilizando JetBrains.Annotations, dado que le permitirá anotar las intenciones de su código a otros desarrolladores al escribir bibliotecas públicas, y a herramientas como ReSharper, JetBrains Rider y Qodana para proporcionar un análisis de código aún más relevante.