Coding

Coding

Software development concepts. My github repo github.com/mistrykam

What is programming

Programming can be broken into five parts:

  1. Memory
  2. Operations on Memory
  3. Looping
  4. Decision Making
  5. Functions

Practice: YANI - You Aren’t Gonna Need It

An extreme programming practice that's states: "Always implement things when you actually need them, never when you just foresee that you need them."

Adding code for future requirements that may or may not be requested will make the code more complicated, reduces maintainability and may not correctly implement a future requirement. You also same time by not writing and unit testing code that may not be required.

Practice: DRY - Don't Repeat Yourself

About the DRY practice

Practice: KISS - Keep It Simple, Stupid

About the KISS practice

Principle: High Cohesion

About the creating highly cohesive code

Principle: Low Coupling

About reducing the dependency between classes and modules

Unit Testing and Integration Testing

About unit testing and integration testing

Continuous Integration (CI)

About Continuous Integration

CRUD: Create, Read, Update, Delete

About Create, Read, Update, Delete

SOILD Principle Overview

About the SOLID principle

SOILD: Single Responsibility Principle

About Single Responsibility Principle

SOILD: Open/Closed Principle

About Open/Closed Principle

SOILD: Liskov Substitution Principle

About Liskov Substitution Principle

SOILD: Interface Segregation Principle

About Interface Segregation Principle

SOILD: Dependency Inversion

About Dependency Inversion

Domain Driven Design

About Domain Driven Design

CQRS

About Command Query Responsibility Segregation: split that conceptual model into separate models for queries (get request) and command (change request).