Domaine : Santé

Produits JetBrains utilisés : Qodana

Taille de l'organisation : 50

Pays : États-Unis

Zynex

Zynex Monitoring Solutions propose des solutions non invasives aux médecins et au personnel des soins postopératoires grâce à la création, la distribution et la commercialisation de produits de suivi de la plus haute qualité.

Nous pensons que Qodana peut aider tous nos développeurs à améliorer la qualité du code qu'ils écrivent. Qodana permet aux développeurs juniors d'écrire du code de niveau senior et aux développeurs seniors de maintenir la niveau de qualité de leur code. Avec ses différents types d'inspection, Qodana peut jouer un rôle de coach pour nos développeurs en plus de nous aider à maintenir les normes de qualité du code que nous nous sommes fixées pour nos produits.

— Daniel Larson, architecte logiciel, Zynex Monitoring Solutions

Comment Zynex Monitoring Solutions utilise Qodana pour gérer la qualité du code de ses Applications .NET

Pouvez-vous nous parler de vous et de Zynex Monitoring Solutions ?

Je suis développeur logiciel depuis près de 25 ans, principalement sur des serveurs Microsoft et .NET. Mon équipe et moi développons des logiciels sur Azure depuis près de 10 ans et nous sommes passés du déploiement sur site au cloud, avec comme priorités l'évolutivité et le déploiement global.

Chez Zynex Monitoring Solutions, nous développons des dispositifs médicaux pour la surveillance non invasive des patients. Notre équipe cloud travaille à la création d'une plateforme d'interopérabilité qui a pour objectif d'intégrer nos dispositifs avec ceux des prestataires de soins et des systèmes de santé.

La plateforme d'interopérabilité basée sur le cloud ouvre beaucoup de nouvelles possibilités, tant pour les éditeurs de logiciels que pour les établissements de santé. Par rapport aux anciens modèles de logiciels d'entreprise dans les centres de données privés, nous pouvons intégrer davantage de clients, faire évoluer rapidement les systèmes et fournir des services personnalisés en fonction des besoins de nos clients.

Quelles technologies utilisez-vous pour créer des applications chez Zynex ? Et toutes vos applications utilisent-elles la même architecture/technologie ?

Pour les services cloud de Zynex Monitoring Solutions, nous utilisons .NET dans des conteneurs Linux, la plupart écrits en C#. Nous travaillons avec la dernière version de production de .NET et la plupart de nos services utilisent .NET 7. Nous commençons aussi à utiliser .NET 8.

Pour le développement, nous utilisons principalement Visual Studio avec ReSharper. Certains développeurs utilisent l'IDE Rider. Nous effectuons l'intégration continue (CI) et le déploiement principalement avec GitHub Actions en déployant sur notre infrastructure cloud.

Pour notre travail de production, nous nous appuyons sur une pile cloud moderne exécutée sur Kubernetes, qui héberge nos applications et services, sur NoSQL pour le stockage des données et sur une combinaison entre messagerie cloud/native. Nous recherchons constamment de nouvelles technologies cloud capables de répondre à nos besoins, notamment en matière de science des données et d'intelligence artificielle.

Comment avez-vous découvert Qodana ? Qu'est-ce qui vous a poussé à l'essayer ?

Toute notre équipe de développeurs est fan de JetBrains ReSharper, en particulier des suggestions et des refactorisations pendant le codage. Ses capacités d'analyse du code aident à détecter les problèmes de qualité du code. Lorsque nous avons su que JetBrains proposait un outil dédié à la qualité du code analyse, nous avons tout de suite compris que cela nous permettrait de simplifier l'analyse de notre code et d'en améliorer la qualité tout en continuant d'utiliser des outils appréciés par nos développeurs.

Nous savions expérience que l'utilisation d'outils JetBrains pouvait nous aider à améliorer notre travail sans complications, et cela s'est vérifié avec l'adoption de Qodana. Aujourd'hui, nous utilisons Qodana pour toutes nos applications .NET.

Comment s'est passée l'adoption de Qodana, cela a-t-il été facile ou non de commencer à l'utiliser pour vos applications ?

Cela a été très facile, l'application web Qodana Cloud nous a permis d'ajouter des éléments à nos workflows GitHub très simplement. Nous avons pu adopter Qodana progressivement, au fur et à mesure de la création de nos référentiels de code, avant de l'utiliser systématiquement pour résoudre tous nos problèmes de code et d'appliquer une politique de tolérance zéro afin d'obtenir un code totalement propre.

Le plus souvent, nous utilisons Qodana pour vérifier notre base de code dans le workflow GitHub Actions, puis nous traitons les problèmes détectés par Qodana dans ReSharper ou JetBrains Rider. Nous n'utilisons pas l'intégration de Qodana, qui permet d'examiner les rapports fournis par Qodana directement dans l'IDE, car les inspections de Qodana correspondent à celles qui sont disponibles dans ReSharper et JetBrains Rider, dans lesquels nous pouvons rapidement trouver et résoudre les problèmes de code.

Utilisez-vous d'autres outils pour la qualité du code ?

Nous utilisons Sonarqube et Qodana. Sonarqube est très efficace pour rechercher les vulnérabilités connues et effectuer le suivi de la complexité du code. Mais pour l'analyse globale du code, nous utilisons principalement Qodana. Il est très facile de l'ajouter au workflow de builds, ce qui garantit une qualité du code optimale et homogène pour toute l'équipe. Nous espérons pouvoir simplifier notre ensemble d'outils d'analyse du code à mesure que Qodana s'enrichira de nouvelles fonctionnalités.

Bien que notre équipe se compose de développeurs de différents niveaux d'expérience, nous attendons de tous qu'ils appliquent les mêmes normes de programmation. Nous pensons que Qodana peut aider tous nos développeurs à améliorer la qualité du code qu'ils écrivent. Qodana permet aux développeurs juniors d'écrire du code de niveau senior et aux développeurs seniors de maintenir la niveau de qualité de leur code. Avec ses différents types d'inspection, Qodana peut jouer un rôle de coach pour nos développeurs en plus de nous aider à maintenir les normes de qualité du code que nous nous sommes fixées pour nos produits.

Quels conseils donneriez-vous aux équipes et aux développeurs qui viennent d'adopter Qodana ?

Il est préférable d'utiliser Qodana dès le début pour les nouveaux projets. Nous recommandons d'utiliser les règles d'analyse du code les plus strictes, en les intégrant à GitHub, et de mettre en place un seuil de défaillance de « 0 » afin d'amener les développeurs à nettoyer leur code plus assiduments. Nous tenons également à souligner l'importance des annotations de code avec JetBrains.Annotations, qui sont particulierement utiles pour les autres développeurs dans le cadre de l'écriture de bibliothèques publiques, et qui permettent à des outils comme ReSharper, JetBrains Rider et Qodana de fournir une analyse du code encore plus pertinente.

Essayer Qodana gratuitement