Недавно я использовал библиотеку, которая допускает следующий тип синтаксиса:
MyClass myObject;
myObject
.setMember1("string value")
.setMember2(4.0f)
.setMember3(-1);
Очевидно, это достигается за счет того, что сеттеры возвращают MyClass и тип; что-то вроде return * this. Мне нравится, как выглядит этот код, но я его не вижу. Когда это происходит, я обычно подозрительно отношусь к тому, почему.
Итак, это плохая практика? Каковы некоторые из последствий этого?