General Software Development


General Notes On Software Development


This document is a general catch from concepts and features that I feel should be referenced during the development of an application so as to ensure quality.

Virtual Machines


Due to the diverse nature of operating systems in the digital ecosystem. It is imperative to test the digital product developed on as many configurations as possible thereby ensuring consistent functionality and user experience.

Install common machine configs on a VM(virtual machine). This allows the testing and thereby a degree of quality control across OS's.

Virtual Machines allow a development teams to all run the same configuration, thereby ensuring consistent development. The code runs the same where ever the code is executed Virtual Box Vagrant Docker



  • read-ability
  • consistency
  • Syntax

Function/Method/How: Checks code against a given set of rules. Options:

  • lint code manually via CLI
  • text editor plugin -> lints as code is produced

Unit Testing

The process of checking small chunks of code to see if they work as expected

  • function
  • objects
  • methods

Frameworks for Unit testing

Jasmine Karma

End to End Test

Testing the program by emulating a user behavior



Gulp Grunt yarn webpack

Continuous Integration (CI)

Build and test code in an automated way Travis CI Circle CI Code ship Jenkins

Continuous Delivery (CD)

Keeping code in a state of readiness to be pushed into delivery

  • Choose when to deploy new features

Continuous Deployment (CD)

  • Deploy features as soon as they are ready

More Articles

All Articles


Home Articles Notes Projects About Style Guide Site Credits


ย connect@dev.lucaszapico.space


๐ŸŒŽ Earth