Domanda

Durante la creazione di una libreria, devo garantire che il privato di un metodo di lavoro come previsto quando si chiama non da altri metodi della stessa classe, ma da un'altra biblioteca, attraverso la riflessione?

Per esempio, se un metodo privato private DoSomething(int number) prevede che:

  • number è positivo un numero intero diverso da zero, e:
  • una variabile privata string abc non è null e non una stringa vuota,

e completamente, brutto non riesce se queste due condizioni non sono soddisfatte, devo gestire i guasti, anche se so che tutti i metodi della classe sarà always1 assegnare un valore non vuoto di abc prima di chiamare DoSomething, e passare un positivo numero intero diverso da zero per questo metodo?

In altre parole, è il codice che non è protetto contro il pericoloso chiamate attraverso la riflessione può essere considerato di bassa qualità codice, o appartiene alla persona che utilizza la riflessione, per garantire che la chiamata non rompere nulla?

Nota:la mia domanda riguarda solo un set standard di librerie.Questo non copre il codice che deve essere estremamente sicuro (es.se qualcuno può essere interessato, utilizzando la riflessione al fine di rendere comportarsi in modo imprevisto o incidente).


1, Perché la classe è documentato correttamente, perché non ci sono abbastanza unità di test per essere sicuri che qualsiasi altro sviluppatore non rompere questo metodo, etc.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top