コードを修正していますが、入力パラメーターの 1 つを変更してから何も返さないメソッドをたくさん見てきました。これがこれらのメソッドを設計する正しい方法であるかどうか疑問に思っています。例えば:
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 を呼び出すメソッドで、応答の値に応じて何らかの処理を行います。
この使用法はまったく問題ありませんか、それともより良い一般的な慣行はありますか? 入力パラメーターを「出力」パラメーターとして頻繁に使用する傾向があるように思えます。オブジェクト指向なので、クラス DTO のメソッドを使用する必要があると考えました。たとえば、
for (DTO dto: dtos){
dto.setResponseOk(codes);
}
そして、クラス DTO で:
boolean setResponseOk(Set<String> codes){
if(codes.contains(this.getCode()){
return true;
}
return false;
}