Skip to content

Coding Standards

Prasad Talasila edited this page Jan 14, 2019 · 21 revisions

Adherence to the following coding standards would be good.

  1. What counts finally are the Tested Features in Use.
  2. 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.
  3. A stable release is mandatory for stable and predictable end-user installation.
  4. Design and code should clearly articulate the interactions / stories / metaphors of the problem domain. PRACTICE DESIGN and IMPLEMENTATION in DOMAIN.
  5. Adherence to java script coding standards as prescribed by eminent authorities.
    1. 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.
    2. 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.
  6. All the new code commits shall have at least the unit tests. For JS, use mochai and chai. For shell script, use Bats.
  7. All the pull requests shall have their code quality checks are done on CodeClimate and any new issues for the PR should be fixed before the pull request is reviewed / merged.
  8. An issue reported should have a detailed bug report that can help replicate the problem.
  9. Make decisions on feature development based on usage data from existing installations and user base.
  10. Always maintain clean separation of coding, testing, integration, deployment and production stages.
    1. NEVER EVER CODE ON THE PRODUCTION SYSTEM.
  11. Good first impressions (installation) and smooth interactions (user interface) are essential for positive experience. Focus on these two aspects.

References

  1. RTF : A Metric Leading to Agility, Ron Jeffries.
  2. Measuring Agile Projects Using Running Tested Features Metrics, Priyanjana Deb and Abhik Datta
  3. The Joel Test: 12 steps to Better Code, Joel Spolsky
  4. Brian W Kernighan on Testing
  5. Node.js best practices
  6. Worse is Better History
  7. Twelve-factor apps
  8. Agile Manifesto
  9. Software project best practices checklist, Kristóf KOVÁCS
  10. Development process - Mike Perks @ IBM
  11. JB Rainsberger - An introduction to Agile Software Development, Economics of Software Design
Clone this wiki locally
You can’t perform that action at this time.