Java クラス Validator があります。一部のファイルを検証します。ここに疑似コードがあります:
public class Validator {
Collection<ValidationMessage> validationMessages;
class ValidationMessage {
}
enum MessageType {
}
public validate(lines) throws ValidationException {
for (line : lines) {
validateCriteriaA(line)
validateCriteriaB(line)
...
validateCriteriaF(line)
}
if (...)
throw new ValidationException();
}
private validateCriteriaA(Line line) {
if (...) {
validationMessages.add("criteria failed")
}
}
private validateCriteriaB(Line line)
private validateCriteriaC(Line line)
private validateCriteriaD(Line line)
private validateCriteriaE(Line line)
private validateCriteriaF(Line line)
private helperMethodX
private helperMethodY
private helperMethodZ
}
各メソッドの行数は 15 行以内です。このクラスの合計の長さは ~300 行です。神のオブジェクトか、それとも他の悪臭を放つクラスだと思いますか? それはある種のアンチパターンですか?再設計が必要だと思われる場合は、その方法を教えてください。