Всегда ли целесообразно отказаться от шаблонов getMyValue () и setMyValue () для методов получения и установки, если альтернативные имена функций делают API более очевидным?
Например, представьте, что у меня есть этот класс в C ++:
public class SomeClass {
private:
bool mIsVisible;
public:
void draw();
void erase();
}
Я мог бы добавить функции, чтобы получить / установить «mIsVisible» следующим образом:
bool getVisible() { return mIsVisible; };</p>
<p>void setVisible(bool visible) {
if (!mIsVisible && visible) {
draw();
} else if (mIsVisible && !visible) {
erase();
}</p>
<pre><code>mIsVisible = visible;
}
Однако было бы одинаково возможно использовать вместо этого следующие методы:
bool isVisible() { return mIsVisible; };
void show() {
if (!mIsVisible) {
mIsVisible = true;
draw();
}
}
void hide() {
if (mIsVisible) {
mIsVisible = false;
erase();
}
}
Короче говоря, лучше ли иметь один метод "setVisible (bool)" или пару методов "show ()" и "hide ()"? Есть соглашение или это чисто субъективная вещь?