Coding Standards - saayam-for-all/docs GitHub Wiki
Yes, we have a very complicated software architecture. It's NOT easy to design a highly available and highly scalable application. Unless we follow strict coding standards to write quality code, it would be a nightmare to maintain this massively large application.
This is an open source project. Many volunteers come and build a component or write a few lines of code and leave the org. We want to maintain the code quality by having a very strict code pipelines or CI/CD process.
We divided major functionality into multiple micro services. Each micro service team can independently choose the language of their choice, follow its coding standards and make the deliverable available in their repo.
Here are some suggested guidelines:
- Read Code Complete 2 book
- Git commands - cheat sheet, commands, branching
- How to name buttons in our UI
- Choose good names for the file names, method names, variable names etc. These names have to be intuitive and should NOT be less then 3 or 4 letter length. For e.g. a variable should NOT be a, b or c unless it is very short lived. Instead, it is better to use a proper small word like name, age, myName etc.
- Some languages like Java insist on a particular standard for names - myVar, MyClass, myMethod etc.
- All your functionality has to be unit tested. We expect a minimum of 90% code coverage.
- Each code transaction has to be approved by two senior coders. The more we do code review that is better for us. Feedback has to be constructive. Seniors have to mentor juniors so that juniors get trained well in good coding practices.