Skip to content

Latest commit

 

History

History
58 lines (35 loc) · 1.99 KB

CONTRIBUTING.md

File metadata and controls

58 lines (35 loc) · 1.99 KB

Foreword

"Programs must be written for people to read, and only incidentally for machines to execute." ― Hal Abelson

"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." ― John Woods

"Refactoring is like cleaning dishes after cooking." — Toby Parkins

Why to enforce a standard ?

The objective of this documentation is to provide a set of commons rules to use on this project with a long term vision.

This documentation SHOULD not be used as a unique response to the question "What is a clean and organized code ?" but MUST be used as the only reference when developing on this repository. Evolutions are made by collegial decisions from the internal team and SHOULD be driven by a gain either in homogeneity, readability or maintainability. If no consensus can be found, the decisions are taken by the lead team with the global context in mind.

Main goals are to:

  • Keep the code homogenous, readable and maintainable. All developers SHOULD be able to read the code.
  • Give the developers an environment where there is no need to think about how the code is structured.

Please remember to

  • Check that your code matches the standards and passes the automated tests, before asking for a review and merging.
  • Be concise when writting documentation and comments.
  • Always source your statements in your PR to ease review.
  • Be polite, always, no exceptions.

Code standards

Code standards

Standards CHANGELOG

V0.6

  • 🇬🇧 Documentation is now mostly in English (feel free to help and correct 😉)
  • 🌍 The documentation has been updated to be more open-source community oriented
  • 💡 More coding rules have been added

V0.4

  • Add open-source licenses

V0.3

  • Add technical documentation

V0.2

  • Add CONTRIBUTING.md file for contributors
  • Add correction and precisions to the contributing rules
  • Add a CHANGELOG to ease standards evolution spotting

V0.1

  • First architecture proposition