Un peu de contexte: En tant que chef d'équipe, j'utilise NDepend environ une fois par semaine pour vérifier la qualité de notre code. En particulier, la couverture de test, les lignes de code et les métriques de complexité cyclomatique sont inestimables pour moi. Mais en ce qui concerne les cycles de mise à niveau et de dépendance, je suis un peu ... très inquiet. Patrick Smacchia a un joli billet de blog qui décrit l'objectif de la mise à niveau.
Pour être clair: sous "cycle de dépendance", je comprends une référence circulaire entre deux espaces de noms.
Actuellement, je travaille sur une infrastructure graphique basée sur Windows CE pour les instruments intégrés - pensez à la plate-forme graphique Android mais pour les instruments très bas de gamme. Le framework est un assemblage unique avec environ 50 000 lignes de code (tests exclus). Le cadre est divisé en espaces de noms suivants:
- Sous-système principal de navigation et de menu
- Sous-système d'écran (Présentateurs / Vues / ...)
- Contrôles / couche de widgets
Aujourd'hui, j'ai passé la demi-journée à essayer d'amener le code aux niveaux appropriés [grâce à Resharper, aucun problème en général] mais dans tous les cas, il existe des cycles de dépendance.
Ma question est donc la suivante: dans quelle mesure respectez-vous strictement la règle du «pas de cycle de dépendance»? La mise à niveau est-elle vraiment si importante?