Dans les versions de Sonarqube antérieures à la 5.5, il était possible de changer la façon dont la dette technique est calculée pour tenir compte de la complexité, mais après 5,5 je ne vois pas comment pour le changer. Avez-vous supprimé cette configuration?La formule de dette technique ne prend pas en compte la complexité
À mon humble avis, le coût de l'assainissement est beaucoup plus difficile dans un code complexe que dans un code plus simple. Voici un post où vous pouvez voir et comparer deux projets similaires avec une dette technique similaire basée sur la taille, mais avec une dette technique assez différente basée sur la complexité. En outre, la couverture affecte cette mesure; et je pense qu'il est plus facile de modifier le code lorsque vous avez assez de tests et de couverture pour vous assurer que vous ne cassez rien.
Dans sonarqube la documentation, la formule utilisée pour calculer le ratio de la dette technique est:
Remediation cost/(Cost to develop 1 line of code * Number of lines of code)
Mais le coût de remise en état est un montant fixe de temps configuré sur chaque règle, non ?. Donc, il est indépendant de la complexité que vous pouvez trouver dans le code.
Voici une image où vous pouvez voir comment cela pourrait se faire dans la version 5.1.2: Technical debt with complexity
Est-il possible de configurer, dans LTS ou version 6.x, la dette technique afin que la la complexité est-elle prise en compte comme dans les versions précédentes?
Si non, est-ce que c'est dans votre feuille de route? Avez-vous des références que la complexité ou la couverture n'affecte pas les coûts d'assainissement?
Merci d'avance.
Note: Le nouveau concept de complexité cognitive semble très intéressant, nous parlons encore de la complexité, ce serait un bon candidat. Mais je n'ai pas vu comment le voir dans Sonarqube 6.3.1, est-ce possible?
Merci pour votre réponse, –
Merci pour votre réponse, cela signifie qu'il sera obligatoire de créer des portes de qualité séparées pour la complexité. Vous avez dit que Dette technique/n'inclut plus le temps, mais il apparaît avec un effort de temps et dans la formule "coût d'assainissement" et "coût de développement d'une ligne de code" sont exprimés dans le temps. Comment pourrions-nous interpréter cela alors? –
La dette technique est toujours une mesure de temps, mais elle ne reflète plus tous les problèmes du projet –