我正在修改代码,我已经看到了很多方法,在这些方法中我们修改了一个输入参数,然后什么也不返回。我想知道这是否是设计这些方法的正确方法。例如:
void addRespones (List<DTO> dtos, Set<String> codes){
for (DTO dto: dtos){
if (responses.contains(dto.getCode()){
dto.setResponseOk(true);
} else {
dto.setResponseOK(false);
}
}
}
然后在调用 addCodes 的方法中,我们根据响应的值进行一些处理。
这种用法完全没问题还是有更好的常见做法?在我看来,我们往往过于频繁地将输入参数用作“输出”参数。我认为作为OO,我们应该使用类DTO的一些方法,例如
for (DTO dto: dtos){
dto.setResponseOk(codes);
}
然后在 DTO 类中:
boolean setResponseOk(Set<String> codes){
if(codes.contains(this.getCode()){
return true;
}
return false;
}