Stiamo costruendo un'applicazione c # -dotnet-desktop divisa in moduli. Tra le altre cose, la valutazione del rischio porta a una classificazione in moduli a basso, medio e alto rischio. I più a rischio non possono usare quelli a basso rischio.
Sto pensando ora alle possibilità di rafforzare questa separazione in modo che, ad esempio, se un dev aggiunge un riferimento da CardiacPaceMakerController
(alto rischio) a HackyCalculationHelpers
(a basso rischio) la soluzione non verrà più costruita. O almeno, la compilazione notturna fallirà.
Idee finora:
- crea un diagramma con i riferimenti desiderati in Visual Studio Enterprise e controlla sul server di compilazione
- aggiungi unit test che riflette attraverso i riferimenti di tutti gli assembly e fallisce se qualsiasi assembly referenziato viene taggato con un rischio inferiore rispetto all'assembly di riferimento
Commenti? Idee?