There few moments that for some reason no one has mentioned.
1) Code review should be doing team lead. Cause another team members just don’t have all the info and expertise to do this. If someone will tell that this will teach another team members that’s not true, it’s just make code review useless.
2) Architecture guidelines should be documented, and not some things to remember. And even more, most of them can be tested autonomous without people interaction.
3) Code style? just use autoformatter, don’t bother people with remembering tons of not needed info.
4) OOP shit. Remember that your code should be simple to read. If something brake this — then it’s a shit decision. Doing something only because some rule saying so it’s also shit decision.