Post Date : 2023-09-25T21:13:42+07:00
Modified Date : 2023-09-25T21:13:42+07:00
Gather together the things that change for the same reasons. Separate those things that change for different reasons.
KISS ( Keep It Stupid Simple)
Make things as simple as possible, but not simpler.
Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.
A class should only have one responsibility. Furthermore, it should only have one reason to change
Open for Extension, Closed for Modification
Classes should be open for extension but closed for modification.
Liskov Substituation Principle
The Liskov Substitution Principle states that subclasses should be substitutable for their base classes. If class A is a subtype of class B, we should be able to replace B with A without disrupting the behavior of our program.
Larger interfaces should be split into smaller ones. By doing so, we can ensure that implementing classes only need to be concerned about the methods that are of interest to them
The principle of dependency inversion refers to the decoupling of software modules. This way, instead of high-level modules depending on low-level modules, both will depend on abstractions.
ReactJS Testing Philosophy
Many integration tests. No snapshot tests. Few unit tests. Few e to e tests.