Самое подходящее место для проверки границ - конструктор или сеттер?

Я все еще относительно новичок в Java, и мне интересно, какой способ лучше справиться с этим. У меня есть конструктор класса, который принимает несколько параметров, а также в этом классе являются открытыми получателями и установщиками:

private String name;
private Float value;

public MySampleClass(String theName, Float theValue) {
    setName(theName);
    setValue(theValue);
}

public void setName(String n) {
    this.name = n;
}

public value setValue(Float v) {
    this.value = v;
}

Я хотел бы сделать несколько проверок границ на этом поплавке. Похоже, что лучшее место для этого было бы в сеттере:

public value setValue(Float v) {
    if (v < 0.0f) {
        this.value = 0.0f;
    } else if (v > 1.0f) {
        this.value = 1.0f;
    }
}

Этот код изначально имел проверку границ в конструкторе и снова в установщике, что казалось излишним. Я изменил конструктор, чтобы вызвать сеттер и поставить там проверки. Это имеет больше смысла? Или я нарушаю какое-то соглашение, о котором мне совершенно не известно?

Ответы на вопрос(2)

Ваш ответ на вопрос