Skip to content

Instantly share code, notes, and snippets.

@vilaca
Created April 27, 2023 22:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vilaca/3584353399a17fe10b6eb4ef21d65740 to your computer and use it in GitHub Desktop.
Save vilaca/3584353399a17fe10b6eb4ef21d65740 to your computer and use it in GitHub Desktop.
Word soup

SOLID (Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion)

These principles help developers create code that is easy to extend and maintain, by encouraging the creation of classes that have a single responsibility and are loosely coupled.

KISS (Keep It Simple, Stupid)

This principle encourages developers to write simple code that is easy to understand and maintain. By keeping code simple, developers can reduce the risk of introducing bugs, improve the readability of the code, and make it easier for other developers to work with.

APA (Avoid Premature Abstraction)

This principle encourages developers to avoid creating abstractions too early in the development process. By waiting until the requirements of the system are better understood, developers can create abstractions that are more likely to be useful and maintainable.

YAGNI (You Ain't Gonna Need It)

This principle encourages developers to avoid adding functionality to a system that is not currently required. By avoiding unnecessary complexity, developers can reduce the amount of code that needs to be written, reduce the risk of introducing bugs, and make the code easier to understand and maintain.

DRY (Don't Repeat Yourself)

This principle encourages developers to avoid duplicating code. By reusing code whenever possible, developers can reduce the amount of code that needs to be written, and make it easier to maintain.

GRASP (General Responsibility Assignment Software Patterns)

This set of patterns helps developers assign responsibilities to classes and objects in a way that maximizes cohesion and minimizes coupling.

TDD (Test-Driven Development)

This approach to software development involves writing tests before writing the code that implements the functionality. By writing tests first, developers can ensure that their code meets the requirements, and they can catch bugs early in the development process.

CI/CD (Continuous Integration/Continuous Deployment)

These practices involve automating the process of building, testing, and deploying software. By automating these processes, developers can ensure that their code is always in a deployable state, and they can catch bugs and issues early in the development process.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment