Моя любимая ненависть - это когда доступ к свойству вызывает изменение состояния объекта. Свойства должны раскрывать что-то о существующем состоянии объекта, тогда как функции могут быть использованы для того, чтобы что-то изменить в объекте.
Причинение изменения состояния объекта при доступе к свойствам делает отладку очень трудной - разработчик обычно ожидает, что функция вызовет что-то, и при использовании отладчика функция не запускается, если они не готовы к результатам. С другой стороны, большинство отладчиков будут автоматически получать доступ к общим свойствам объекта, не ожидая, что состояние объекта изменится просто при доступе к свойствам.