![]() |
1
5
不,预期收益是多少? 更重要的是潜在的错误。如果在类中声明一个静态变量,它将只初始化一次,其值将保持不变,并且每个调用的行为都可能不同。很容易被忽略,这很难调试。 |
![]() |
2
3
不,它将使编写这个类或使用这个类的类的单元测试成为不可能。 用类似的工具 FakeItEasy 您甚至不需要类来实现接口来模拟它(这意味着您可以快速开始模拟一个没有用TDD编写的旧代码基),但它不能绕过静态调用。
更新
你最后做的是
但是你仍然没有测试
最理想的是
如果
更新2
|
![]() |
3
1
除了单元测试的困难之外,您还应该问自己:
如果您确定让它成为一个静态类对您来说是可行的,那么您也可以决定更进一步并创建一个扩展方法:
我确信我的格式对于扩展方法是正确的。 编辑:您仍然有单元测试的问题,因为代码依赖于这个静态方法。最终,你必须自己决定利弊。我可能是错的,但是如果您将此作为实例类对依赖代码进行单元测试,您可以获得一些信心,认为它可以作为静态方法或扩展方法来使用。 |
![]() |
4
0
是的,这会让你的课更容易使用。 |
![]() |
J. Doe · 线程静态变量与实例化 7 年前 |
![]() |
D.B · django静态文件不随虚拟环境出现 7 年前 |
![]() |
157 239n · 我可以在UI线程之外使用getFilesDir吗 7 年前 |
![]() |
John David · ——等待这个。方法();在静态方法中不起作用 7 年前 |
![]() |
Yu.Pan · Spring boot项目找不到静态文件 7 年前 |
![]() |
Yu.Pan · 无法在springboot静态内容中获取文件 7 年前 |
![]() |
BaCh · C++:使用名称相同但参数不同的类成员和静态函数失败 7 年前 |