Skip to content

Coding Standards and Languages Supported

Viacheslav Kvet edited this page Jan 21, 2025 · 19 revisions

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.

Code Style and Formatting

  • Indentation style: space
  • Indentation size: 2
  • Trailing spaces: remove

Languages Supported

Our application is multilingual. We are supporting the ten most popular languages. For choosing supported languages we used a table, shown in the List of languages by total number of speakers page on Wikipedia.

Note, that in this step we don't support right to left languages like Arabic and Hebrew. The reason is that supporting right to left languages will require CSS changing in all our pages. We will need to implement the CSS property called direction.

Language Locale Total speakers
English en_US 1.515 billion
Mandarin Chinese zh-CN 1.140 billion
Hindi hi_IN 609 million
Spanish es-ES 560 million
French fr-FR 312 million
Bengali bn-BD 278 million
Portuguese pt-PT 264 million
Russian ru-RU 255 million
German de-DE 134 million
Telugu te-IN 96 million

Clone this wiki locally