我正在使用代码库来实例化对象而不分配变量,如下所示:
new MyNonStaticClass();
构造函数内部无论如何都是对静态类/方法的调用......
虽然这是有效的,但它是构造函数的唯一用法,可以转换为静态方法或静态类。
这遍及代码库,所以问题是:
将这些更改为静态类是否有性能优势?
如果我有时间,我想,但我需要优先考虑工作量。
答案 0 :(得分:4)
将这些更改为静态类是否有性能优势?
是的 - 你不会构建一堆无意义的物体,然后GC必须收集这些物体。这在您的申请中是否重要?很难说。
更重要的是,它具有重要的可读性优势。构造对象具有关于每个对象状态是重要的内涵。 void静态方法调用只能 在异常和全局状态方面具有副作用,因此调用的目的变得更加清晰。另外,你可以给它一个有意义的名字。
我希望通过搜索和替换来重构它很容易。 (我不知道有哪些工具可以轻松进行此类排序或重构,因为它很奇怪。它们可能存在,但搜索和替换可能比找到它们更快。)