AutloabJS Coding Standards
Adherence to the following coding standards would be good.
- What counts finally are the Tested Features in Use.
- Three values of any software are: features, simple design and feedback. Testing is the only way to simplify the design. So consider improvement in all the three values.
- A stable release is mandatory for stable and predictable end-user installation.
- Design and code should clearly articulate the interactions / stories / metaphors of the problem domain. PRACTICE DESIGN and IMPLEMENTATION in DOMAIN.
- Adherence to java script coding standards as prescribed by eminent authorities.
- Java Script : The Good Parts, Douglas Crockford / Eloquent Javascript, Marijn Haverbeke.
Before each commit, a committer runs ESLint, JSHint and JSLint Errors on the code-base and fixes all the error and warning messages. - Shell scripts : Shell script coding standard by Kfir Lavi and Robert Muth. Before each commit, a committer runs shellcheck on the code-base and fixes all the error and warning messages.
- Java Script : The Good Parts, Douglas Crockford / Eloquent Javascript, Marijn Haverbeke.
- All the new code commits shall have at least the unit tests. For JS, use mochai and chai. For shell script, use Bats.
- Creation and adherence to coding standard checklist. At the moment, we are following the project checklist from MIT course, 6.170 Software Studio
- An issue reported should have a detailed bug report that can help replicate the problem.
- Always maintain clean separation of coding, testing, integration, deployment and production stages.
- NEVER EVER CODE ON THE PRODUCTION SYSTEM.
References
- RTF : A Metric Leading to Agility, Ron Jeffries.
- Measuring Agile Projects Using Running Tested Features Metrics, Priyanjana Deb and Abhik Datta
- The Joel Test: 12 steps to Better Code, Joel Spolsky
- Brian W Kernighan on Testing
- Worse is Better History
- Twelve-factor apps
- Agile Manifesto
- Software project best practices checklist, Kristóf KOVÁCS
- Development process - Mike Perks @ IBM
- JB Rainsberger - An introduction to Agile Software Development, Economics of Software Design
- CI best practices check list - Piotr Oktaba