Dois-je faire face à la situation où les méthodes privées sont appelées par la réflexion?
https://softwareengineering.stackexchange.com/questions/101351
-
02-11-2019 - |
Question
Lors de la création d'une bibliothèque, dois-je m'assurer que les méthodes privées doivent fonctionner comme prévu lorsqu'ils sont appelés non par d'autres méthodes de la même classe, mais par une autre bibliothèque à travers la réflexion?
Par exemple, si une méthode privée private DoSomething(int number)
attend cela:
number
est un entier non nul positif, et:- une variable privée
string abc
n'est pas nul et pas une chaîne vide,
Et complètement, laid échoue si ces deux conditions ne sont pas appariées, dois-je gérer ces échecs même si je sais que toutes les méthodes de la classe sera Affectez toujours une valeur non vide à abc
Avant d'appeler DoSomething
, et passer un entier non nul positif à cette méthode?
Autrement dit, Le code qui n'est pas protégé contre les appels dangereux par la réflexion peut être considéré comme un code de faible qualité, ou il appartient à l'appelant qui utilise la réflexion pour s'assurer que l'appel ne rompt rien?
Remarque: Ma question ne couvre qu'un ensemble standard de bibliothèques. Cela ne couvre pas le code qui doit être hautement sécurisé (c'est-à-dire lorsque quelqu'un peut être intéressé par l'utilisation de la réflexion afin de le faire se comporter de façon inattendue ou de se crash).
¹ Parce que la classe est correctement documentée, car il y a suffisamment de tests unitaires pour être sûr que tout autre développeur ne brisera pas cette méthode, etc.
Pas de solution correcte