to read and understand. * It is well-written, organized, and consistent. * Clean code is also easy to maintain and extend. * It is also easily testable.
that a class should have one and only one responsibility. This responsibility can be divided into two parts: 1) the functionality of the class, and 2) the information that the class knows or owns.
NOT be forced to implement an interface it does not use. An interface should be divided into smaller interfaces, each defining a single responsibility.