引数がオブジェクト内に含まれている場合にメソッドへの引数を検証するためのベストプラクティスについて質問があります。たとえば、次の場合:
public class Student {
public int getStudentId();
public String getStudentName();
public String getStudentSSN();
public double getStudentGpa();
public String getStudentMajor();
// Other student related getters
}
次に、メソッドがあります。
public void printStudentReport(Student student);
この方法では、ID、名前、GPA、およびメジャーを含むロジックを実行する必要があります。だから、それらは必要なものです。他のすべての学生ゲッターは、入力する必要はありません。最初にStudentオブジェクトを検証してから、必要な4つのメソッドを検証しても大丈夫ですか?このStudentオブジェクトをこのメソッドに渡すので、これは少し誤解を招くように感じますが、すべてのフィールドが必須というわけではないため、実際には半分の人口のオブジェクトがこのメソッドに送信されます。私には奇妙に思えます。