2010-09-14 2 views
1

Nous présentons actuellement Design-by-Contract à un groupe de développement de logiciels d'environ 60 développeurs, qui développent différents composants. Nous avons commencé par définir des politiques de conception par contrat pour C# et Java. Pour mesurer les progrès, nous comptons le nombre de classes et le nombre d'assertions de contrat (Conditions préalables, conditions de publication et invariants) avec une simple recherche de mots-clés (à l'exclusion des commentaires et des littéraux de chaîne). Nous avons donc deux statistiques:Est-ce que quelqu'un a fait l'expérience de métriques pour Design-By-Contract ou peut recommander des mesures pour mesurer l'utilisation de Design-By-Contract dans une base de code?

  1. Nombre d'affirmations du contrat par composante
  2. Nombre moyen d'assertions de contrat par classe par composant

Quelqu'un at-il des expériences avec des mesures pour la conception par contrat ou peut recommander des mesures pour mesurer l'utilisation de Design-By-Contract dans une base de code?

+0

Juste pour clarifier, quel genre de métriques recherchez-vous. Qu'est-ce que vous voulez mesurer? voulez-vous juste savoir que les contrats sont utilisés? – roundcrisis

+0

Je cherche des métriques, qui me disent que les contrats sont "suffisamment" utilisés. Nous voulons augmenter la qualité du code avec les contrats. Si nous voyons une équipe ne mettant en œuvre aucun contrat ou seulement très peu, nous pouvons soutenir l'équipe avec la formation et la consultation. La question est de savoir si un composant a suffisamment de contrats, donc sa compréhensibilité, la maintenabilité ainsi. est mieux supporté avec 'Design by Contract'. – SvenG

+0

Bien qu'il puisse vous donner une idée de la quantité utilisée, il est préférable de vérifier COMMENT il est utilisé. Deux contrats bien définis peuvent en dire plus de dix mauvais. Aller après la qualité d'abord, puis la quantité. – koenmetsu

Répondre

0

Je pense que vous première étape devrait être revue de code de tout le nouveau code qui est archivé.

Je ne peux pas voir un outil de vérification automatique de travail jusqu'à ce que vous avez fait « normal » pour tous vos programmeurs à utiliser "Design-By-Contract"

Peut-être inclure les résultats des revues de code sur le formulaire qui est rempli dans le cadre du processus de décider si un programmeur obtiendra une augmentation de salaire aidera.

0

Je suggère de regarder les contrats de la même manière que vous regardez les tests unitaires, essayez de mesurer la couverture du code par les invariants et les postconditions et le nombre d'arguments vérifiés pour les conditions préalables.

Questions connexes