创建库时,当不是由同一类的其他方法调用,而是由其他库通过反射调用时,我是否必须确保私有方法必须按预期工作?
例如,如果私有方法private DoSomething(int number)
期望:
number
是一个非零的正整数,并且:- 私有变量
string abc
不是null也不是空字符串,
和完全的,丑陋的失败,如果这两个条件不匹配,我必须处理这些故障,即使我知道,在类的所有方法将 always¹分配非空值abc
调用之前DoSomething
,并通过这种积极的非零整数方法?
换句话说,不是通过反射进行不安全调用保护的代码可以被认为是低质量代码,还是属于使用反射来确保调用不会中断任何内容的调用方?
注意:我的问题仅涵盖一组标准库。这不包括必须高度安全的代码(即,当有人可能通过使用反射来使其表现出意外行为或崩溃时感兴趣)。
¹因为正确记录了该类,所以因为有足够的单元测试来确保任何其他开发人员都不会破坏此方法,等等。