Analyse de code Java avec XRadar

Magazine
Marque
GNU/Linux Magazine
Numéro
122
Mois de parution
décembre 2009


Résumé
Qu'il s'agisse de dépister des anomalies dans un code que l'on veut robuste ou de démontrer qu'un prestataire n'a pas respecté l'état de l'art, ou plus simplement pour améliorer la qualité de son projet, il arrive un moment où l'on souhaite faire le point sur la qualité technique globale de son projet. Ce genre de travail nécessite bien évidemment une bonne maîtrise de la technologie utilisée, mais aussi un outillage assez élaboré pour analyser et remonter les potentiels problèmes. S'il existe de nombreuses solutions open source – PMD, Cloc, Findbugs... – pour analyser un projet et remonter ses indicateurs, il reste fastidieux de mettre en place tous ces outils et surtout encore plus laborieux de faire la synthèse des différents résultats obtenus.

1. Introduction

1.1 Outils d'analyse open source

Comme souvent avec les logiciels libres (et/ou open source), c'est par la combinaison de beaucoup de petits projets indépendants qu'on arrive à égaler des solutions propriétaires souvent plus complexes et élaborées. Dans l'analyse de code Java, c'est clairement encore le cas. En effet, pour analyser votre code source (ou le produit de sa compilation, les fichiers .class), il existe une vaste quantité de logiciels open source à votre disposition :

- Checkstyle, pour le respect des conventions de présentation, de nommage et aussi des conventions Javadoc ;

- PMD, Hammurapi et Findbugs pour la détection des erreurs de programmation, du code mort, défectueux ou peu performant ;

- Ckjm, JDepend, Classcycle pour les métriques objets (de Chidamber et Kemerer) ;

- JavaNCSS, SonarSquid, Cloc pour les métriques « classiques » (nombre de lignes de code [commentées ou non], nombre de classes...) ;

- JUnit et TestNG produisent des...

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Par le(s) même(s) auteur(s)

Hera, automatisation Bash autour de la gestion de conteneur Podman pour Jenkins à l’aide de SSH

Magazine
Marque
GNU/Linux Magazine
Numéro
257
Mois de parution
mai 2022
Spécialité(s)
Résumé

Si le Bash est aujourd’hui souvent critiqué pour sa relative complexité, et à tort pour son manque de robustesse, il reste néanmoins un outil d’automatisation fondamental, comme nous allons l’illustrer dans cet article. En effet, grâce à lui et aussi à la puissance de SSH, nous allons résoudre une difficulté d’optimisation d’infrastructure, en l’occurrence sur un serveur d’intégration continue Jenkins, d’une manière fiable et solide, mais également plus performante...

Les environnements d’exécution Ansible

Magazine
Marque
Linux Pratique
Numéro
130
Mois de parution
mars 2022
Spécialité(s)
Résumé

Ansible est un fabuleux outil d’automatisation, mais la gestion de son environnement d’exécution (version utilisée de l’outil ou de Python, librairies, dépendances système) se révèle parfois un véritable casse-tête… qui est désormais résolu par l’introduction des « Ansible Environnements Execution ». Explication détaillée de cette fonctionnalité dans cet article !

Déployer un outil Java réalisé avec Quarkus

Magazine
Marque
GNU/Linux Magazine
Numéro
254
Mois de parution
décembre 2021
Spécialité(s)
Résumé

Dans notre précédent article [1], nous avons effectué la refonte d’un script Scala sous la forme d’une application Java à l’aide de Quarkus. L’ensemble des fonctionnalités requises ayant été implémenté, nous allons maintenant étudier dans ce nouvel article comment déployer cette solution. Ceci nous permettra, en particulier, d’explorer la possibilité offerte par Quarkus de générer une application native au système cible, plutôt qu’une application Java usuelle, qui nécessite l’installation de sa machine virtuelle.

Les derniers articles Premiums

Les derniers articles Premium

Stubby : protection de votre vie privée via le chiffrement des requêtes DNS

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Depuis les révélations d’Edward Snowden sur l’espionnage de masse des communications sur Internet par la NSA, un effort massif a été fait pour protéger la vie en ligne des internautes. Cet effort s’est principalement concentré sur les outils de communication avec la généralisation de l’usage du chiffrement sur le web (désormais, plus de 90 % des échanges se font en HTTPS) et l’adoption en masse des messageries utilisant des protocoles de chiffrement de bout en bout. Cependant, toutes ces communications, bien que chiffrées, utilisent un protocole qui, lui, n’est pas chiffré par défaut, loin de là : le DNS. Voyons ensemble quels sont les risques que cela induit pour les internautes et comment nous pouvons améliorer la situation.

Surveillez la consommation énergétique de votre code

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Être en mesure de surveiller la consommation énergétique de nos applications est une idée attrayante, qui n'est que trop souvent mise à la marge aujourd'hui. C'est d'ailleurs paradoxal, quand on pense que de plus en plus de voitures permettent de connaître la consommation instantanée et la consommation moyenne du véhicule, mais que nos chers ordinateurs, fleurons de la technologie, ne le permettent pas pour nos applications... Mais c'est aussi une tendance qui s'affirme petit à petit et à laquelle à terme, il devrait être difficile d'échapper. Car même si ce n'est qu'un effet de bord, elle nous amène à créer des programmes plus efficaces, qui sont également moins chers à exécuter.

Donnez une autre dimension à vos logs avec Vector

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Avoir des informations précises et détaillées sur ce qu’il se passe dans une infrastructure, et sur les applications qu'elle héberge est un enjeu critique pour votre business. Cependant, ça demande du temps, temps qu'on préfère parfois se réserver pour d'autres tâches jugées plus prioritaires. Mais qu'un système plante, qu'une application perde les pédales ou qu'une faille de sécurité soit découverte et c'est la panique à bord ! Alors je vous le demande, qui voudrait rester aveugle quand l'observabilité a tout à vous offrir ?

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous