Over the years I've become a lot more tolerant of different coding styles, I've changed my own style several times, and I've been involved in defining code styles a number of times.
Currently, the client I'm working for has automatic code formatting inside the IDE for every save (something based on CLang-format), which I find really nice because there are no more discussions on style, it just happens.
In the past, where there's been contention, the decision process has been quite simple:
- Is there a rational argument against the style being introduced? If I can't come up with a convincing one very quickly, then I dismiss my own reservations and just adhere to the new style.
- Is the change important enough to warrant me spending additional time building up a data-supported argument? Often when balancing the cost of me doing so against the aggravation of having to follow the new style, the new style still wins out.
- So there's a rational argument and I care about it enough to dig deeper: I write down the argument in technical terms, with supporting data where possible. I present this argument to the team responsible for the coding style. They make the decision, and I abide by it.
It is often a case of "pick your battles" - do you really want to waste time and energy arguing code style, or are there more important things to do?
Finally, in my 20-odd years as a developer (damn, I'm getting old) I don't recall any truly insane styles in any project or place of work. If a bunch of rational developers work out a decent coding style, I think everyone should be able to "get on with it".