我现在正在使用看起来像这样的代码
public String getName(User user) {
user.setSth(...);
return user.getName();
}
我认为改变作为参数传递的对象是不好的做法.有没有一种工具可以检测到那种代码?我查看了findbugs,pmd和checkstyle,但找不到任何检查.
附:抱歉的坏榜样.
解决方法:
我认为你已经走在正确的轨道上:你检测这种代码的最佳工具几乎肯定是Findbugs.但是,你可能需要为这种模式编写自己的探测器. Here is an example你将如何编写一个探测器,尽管它并不是你想要的探测器.
警告:我真的不同意副作用吸气剂总是坏的风格.但是,如果你真的想找到那种东西,我会推荐Findbugs.