Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save boubkhaled/823530667e8ae073b17ac3058141671c to your computer and use it in GitHub Desktop.
Save boubkhaled/823530667e8ae073b17ac3058141671c to your computer and use it in GitHub Desktop.
8 basic software engineering principles

8 basic software engineering principles:

  1. DRY - Don't Repeat Yourself
  2. KISS - Keep It Simple Stupid
  3. YAGNI - You Aren't Gonna Need It (avoid creating extra complexity through adding functionality that you assume you may need in the future)

SOLID:

  1. Single Responsibility - every module or class should have only a single responsibility.
  2. Open/Closed - software entities should be open for extension but closed for modification.
  3. Liskov Substitution - objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program.
  4. Interface Segregation - small client-specific interfaces are better than one general-purpose interface.
  5. Dependency Inversion - use interfaces instead of concrete implementations.

Translation(fr)

8 principes de base du génie logiciel :

  1. DRY - Ne vous répétez pas
  2. KISS - Restez simple et stupide
  3. YAGNI - Vous n'en aurez pas besoin (évitez de créer une complexité supplémentaire en ajoutant des fonctionnalités dont vous pensez avoir besoin à l'avenir)

SOLIDE:

  1. Responsabilité unique - chaque module ou classe ne doit avoir qu'une seule responsabilité.
  2. Ouvert/Fermé - les entités logicielles doivent être ouvertes pour extension mais fermées pour modification.
  3. Substitution de Liskov - les objets d'un programme doivent pouvoir être remplacés par des instances de leurs sous-types sans altérer l'exactitude de ce programme. 7. Ségrégation des interfaces : de petites interfaces spécifiques au client valent mieux qu'une interface à usage général.
  4. Inversion de dépendance - utilisez des interfaces au lieu d'implémentations concrètes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment