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.
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
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
The process of checking small chunks of code to see if they work as expected
Frameworks for Unit testing
Testing the program by emulating a user behavior
Continuous Integration (CI)
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