"... unless there's a good reason for them not to be."
As for the recommendation, I can't find the original source but am sure I have read it in some doc somewhere. In my own experience it's usually the case that many if not most attributes depend on others or other things, and rather than try to remember all that I am lazy and use lazy and a builder. Of course that is not so in all cases, including e.g. your example of an attribute that has a static value.
The way forward always starts with a minimal test.