Evaluate how the modular monolith might impact our expectations for code consistency in GitLab
We are working towards modularizing GitLab as described in https://docs.gitlab.com/ee/architecture/blueprints/modular_monolith/ . Based on my understanding the main objectives are to reduce coupling between different domains in our application and make code ownership clearer.
But one thing I am not seeing specifically addressed is whether or not this will lead to increasing diversity of coding styles in the monolith. Some questions:
- Do we want to still aim to define a consistent set of coding standards and style across the codebase?
- Do we want to use this as an opportunity to increase the amount of autonomy teams have to try different coding styles?
- Do we change the expectations on maintainer reviews or move away from global maintainers once things are better modularized?
Background reading
In the first sentence of expectations of a maintainer we call out "consistency" https://docs.gitlab.com/ee/development/code_review.html#the-responsibility-of-the-maintainer .
Maintainers are responsible for the overall health, quality, and consistency of the GitLab codebase, across domains and product areas.
It seems like this is still subjective though we strive to document expectations in our development guidelines and enforce what we can with rubocop rules.