Introduction

In atix we follow several coding standards in order to:

  • Guide us through development process in order to let us achieve better results, ie, top quality code.
  • Related to the previous item, due to sticking to a concrete methodology, it will reduce the amount of bugs.
  • Help us to get on boarded in any project way much faster due to the code consistency between projects.
  • Create a more sustainable and maintainable codebase.
  • Let us use some tooling that rely upon standards (like changelog generators)

Warning

It's every team member responsibility to learn this coding standards. They are like laws: they need to be followed and understood. Ignoring them is not a sufficient reason not to follow them.

Tip

Improvement proposals are more than welcome. Don't forget you will need to write an RFC and create a PR in this repo.

The before mentioned standard covers several aspects of our development workflow:

  • Documenting is as important as coding properly. There are some documents that are required for each project. The ones that are responsibility of the tech leader and express the project architecture and technical decisions and the ones that are required to setup, build and test the project. All of them can be found here.
  • Please read the repository management guidelines
  • The git workflow describes our branching model and how it's related to different stages of the development process (releases, hotfixes, etc).
  • The conventional commits standard explains how do we express changes history so they can be easily read and processed.
  • We follow a pull / merge request review based approach so please refer to code review guidelines to get some hints about how to perform it.
  • We need to be very careful when picking a new library as that dependency might introduce some problems like bugs or security issues in the future. Please refer to this guide to learn about how to do so.
  • Solidity is a special language with many little quirks. Please read our guide to get familiar with our coding standards.