Say you have 10-50 engineers working on a codebase. Everyone has different preferences for these types of things:
- Folder Structure
- Naming Conventions (CSS Class names, function names, variable names, etc.)
- Testing Conventions
- Expression location (where variables are defined within a file, etc.)
- Encapsulation (should this go into a utility, a class, etc.)
- How to write specific expression types
- etc.
If you let everyone do whatever they want, a lot conflicts and people get angry. If you enforce a specific style guide, then you might not foresee specific use cases and you have a lot of boilerplate. If "leadership" picks the direction, people feel left out.
How do you decide on a specific preference set, generally speaking (i.e. not concerned with whether it's a Folder Structure discussion or CSS naming conventions)?