Most projects are not built or maintained by a single person. Instead, there is a collection of
people involved, who all have their own personal preferences. If everyone would use their
personal style, maintainability would suffer.
The members of our team regularly discuss the pros and cons of each of their
individual programming preferences. When reaching a consensus, we write it down in these
guidelines, together with the reasons why a certain approach was picked.
We consider our guidelines as a living document. People, teams, and opinions change over time.
We don't dogmatically keep following rules we agreed on in the past, but keep challenging them.
New experiences lead to new and improved guidelines.