Я не уверен насчет руководящих принципов, я просто применяю здравый смысл. Если я думаю, что акт получения свойства нетривиален , он получает метод. Нетривиально все еще может быть быстро.
Я думаю, что это немного облегчает работу других разработчиков. Что касается авто-свойств и тому подобного, само свойство, по моему мнению, должно быть просто инкапсулятором поля с, возможно, некоторым сквозным кодом проблемы (простая проверка, аутентификация и т. Д.).
Одна рекомендация, которую я помню однажды, заключалась в том, что значения свойств не должны изменяться между вызовами, если они не изменяются напрямую. Если это изменяется, это идет в методе. Не уверен, согласен ли я с этим.
В конце концов, это всего лишь рекомендации :-) и использование их в методах, безусловно, не плохая практика.