In object-oriented computer programming, the term SOLID Principles is a mnemonic acronym for five design principles intended to make software designs more understandable, flexible and maintainable. Good programmers always strive to improve the code, making it more maintainable, easy to comprehend and extensible.
Coupling is a term that describes the relationship between two entities in a software system (usually classes). When a class uses another class or communicates with it, it’s said to depend on that other class, and so these classes are coupled. At least one of them knows about the other.