PST*_*PST 5 java code-readability
我收到了以下代码段的代码审核评论 -
public void doWork(String a, Integer b) {
..
..
SomeService service = getService();
for (Integer i : numbers) {
doMoreWork(a, b, service);
}
}
private void doMoreWork(String a, Integer b, SomeService service) {
...
...
...
service.doingMoreWork(a, b);
}
Run Code Online (Sandbox Code Playgroud)
审查建议 -
SomeService service = getService();应该在内部进行调用doMoreWork以便签名清晰.所以签名变得doMoreWork(a, b)更清楚易懂.我的问题 -
由于doMoreWork()发生在循环中,我将服务对象传递给它.doMoreWork()只是代码中的私有逻辑单元,将"service"作为方法参数进行处理应该没问题.这种方法永远不会公开.这种情况下的指导原则是什么?这里的清晰度或可读性如何受到影响?
(注意 :
getService()调用没有太多性能开销,因此性能不是我的标准.)
由于建议是正确的,您只需要方法Service中的对象doMoreWork。因此,最好Service仅在doMoreWork执行操作的方法中获取对象。
如果在 后添加更多语句loop,则Service对象将持续很长时间,直到其作用域存在(直到}未遇到关闭),它不会被垃圾收集,因此您应该调用getService()并doMoreWork在 中传递 2 个参数doMoreWork(a,b)。会更容易理解。
| 归档时间: |
|
| 查看次数: |
418 次 |
| 最近记录: |