Development Practices

haritha[dot]harikumar[at]prometeon[dot]com

When you write code...

  1. READABLE code
    1. meaningful variable names
    2. break into functions
    3. add documentation
  2. Always LINT
  3. Build API endpoints compatible with mandate
  4. Always TEST your code
  5. Follow BEST SECURITY practices when handling config details
  6. Always LOG
  7. COMMUNITY SUPPORTED and LATEST libraries

Secure Coding...

  1. Use OAuth for Authentication & Security for Internal Application
  2. Underlying technology behind system should be abstracted
  3. Code & Use API's wisely
    1. Use API's to expose larger volumes of Data
    2. GET API's should never change DB state 
    3. Expose only required Data
    4. Expose data considering permissions
    5. Validating every data that comes from external sources
    6. Handle Errors following HTTP Codes

Containers are best friends...

There are 2 ways to implement and run an application

  1. In your system
    1. install every single library in system
    2. Slow down your machine :/
  2. Using containers
    1. creating virtual spaces with required libraries.
    2. Independent from your system
    3. Easy to use in any OS
    4. Security

Using Git...

  1.  Every Project should be instantiated    with Git
  2.  Create a new branch for every new feature or issue & work on that branch
  3. Commit often
  4. Write meaningful commits

Meet Gitlab/Github...

 

  1. Every project should have a Gitlab or Github repo associated
  2. Every project should have a Readme.md file
  3. For every feature create an issue that explains the feature
  4. For every issue create a Merge Request or Pull Request that shows your changes.

Need to Document...

  1.  API Documentation
  2. Inline Documentation
    1. Specifically for functions or logic
  3. Project Documentation
    1. Readme.md file in gitlab/github
    2. contains all necessary commands
  4. Issue Documentation
    1. Made in Gitlab/Github incase you have a feature to implement

Development Practices

By haritha28

Development Practices

  • 277