So che ci sono un paio di strumenti di analisi statici per C# o .Net intorno. Vedere questo question per un buon elenco di strumenti disponibili. Ho usato alcuni di quelli in passato e hanno un buon modo di rilevare i problemi.Strumento di analisi statica per controllare il blocco prima dell'accesso alla variabile
Attualmente sto cercando un modo per applicare automaticamente alcune regole di blocco che abbiamo nei nostri team. Per esempio vorrei far rispettare le seguenti regole:
"Ogni metodo pubblico che utilizza membro foo deve acquisire un blocco su bar" O "Ogni chiamata a foobar evento deve essere serratura esterna per bar "
Scrivere regole personalizzate FxCop, se feasible, sembra piuttosto complesso. C'è un modo più semplice per farlo?
Come scriveresti un contratto che vieta l'accesso a un determinato archivio a meno che non venga presa una serratura? – svick
@svick: il blocco non è necessario per utilizzare l'istruzione 'lock'. Puoi usare altri oggetti 'sync' per poter controllare se l'oggetto è segnalato/bloccato/... qualsiasi cosa. – Tigran
OK, ma come si scrive un contratto di codice che controlla ogni accesso al campo? – svick