Re[2]: public Attributes vs getters && setters vs properties
От: Caracrist https://1pwd.org/
Дата: 22.07.09 09:55
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Здравствуйте, R1K0, Вы писали:


RK>>Может кто-то что-то выскажет по этому поводу. Потому как реально никаких убедительных доводов против открытых атрибутов ни в одной книге не нашел.


J>Потому что ты не можешь гарантировать инварианты, если даешь прямой доступ.

J>Но если никаких инвариантов нет и тебя устраивает любое сочетание любых значений, то не вижу причин городить огород с геттерами-сеттерами (пример — std::pair).

J>Один довод в пользу геттеров-сеттеров — облегчение отладки, чтоб можно было брыкпонт на сеттер поставить, или там в лог написать чего-нть.

J>Еще довод — позже инварианты могут добавиться, и их гораздо проще добавлять в уже имеющийся метод, через переделывать все (хотя это тоже не смертельно — просто заменить на метод и пройтись по всем местам, где перестало компилироваться, а частота подобных метаморфоз кода все-таки невелика, чтоб платить за это неуклюжим синтаксисом).

добавлю только то, что использование таких функций ни чем не хуже, компилятор их всё равно заинлайнит (хотя можно и явно указать). Так что результат будет одинаковым, а на этапе разработки лучше с обёрткой.
~~~~~
~lol~~
~~~ Single Password Solution
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.