Before we start discussing design principles, let's think about what we mean by design principles in software development. When we develop software, we first design its architecture, and then we start writing its code. We want to write our code in such a way that it generates no bugs, or so it is easy to find bugs if there are any. We also want the code to be easily understandable when we read it and we want it to be structured in such a way that it can be changed later if required. Although it is difficult to write the best-possible code, there are various principles in software development that have been developed by experienced computer scientists. Using these, developers can write very clean code.
The software developer Robert C. Martin, also known as Uncle Bob, came up with five software design principles. These principles are so effective and helpful...