除了测试之外,为什么静态方法很糟糕

Joh*_*ith 1 static unit-testing

很多时候我听说"单身人士是一种不好的做法,静态方法是不好的做法"我所能看到的只是"难以测试".

但我确实认为,如果可以在不实例化类的情况下完成操作,那么它确实非常好.

编辑:只是因为测试,任何人都可以发现"私人方法也很糟糕,他们无法测试",例如

fol*_*kol 8

这是一个关于语义和表达意图的问题.

静态方法本身并不坏,除了它很难测试.糟糕的部分是通过使用静态方法来混淆其他程序员,以避免创建新实例.

如果该方法涉及本身而不涉及单个实例(例如,像工厂方法),则无论如何都要使用静态方法.但是,如果该方法在语义上属于单个实例,则使用非静态方法.