Separation of Concerns (SoC)
Separation of Concerns Principle partition a complicated application into different sections or domains. Each section or domain addresses a separate concern or has a specific job. Each section is independent of each other and that’s why each section can be tackled independently also it becomes easier to maintain, update, and reuse the code.
Example of SOC
business logic (the content of the webpage) in an application is a different concern and user interface is a different concern in a web application program. One of the good examples of SoC is the MVC pattern where data (“model”), the logic (“controller”), and what the end-user sees (“view”) divided into three different sections and each part is handled independently. Saving of data to a database has nothing to do with rendering the data on the web.
7 Common Programming Principles That Every Developer Must Follow
If we gave you half a story to continue it, how would you do that? How would you proceed further and add your storyline there?
Firstly, you need to understand the complete story, you will search for all the characters, their role in different chapters or parts of the story, which characters you need to take till the end or which one has the role only for a few chapters, you also need to understand how different parts of the story are connected to tell you what’s exactly happening in the story.
Programming is just like telling a story to a fellow programmer where variables are characters in your story some plays their role till the end and some end up in the middle, different functions are telling different parts of your story and connecting all the classes or functions in a specific order can only complete the story.
To write down the story further, you want everything in a specific order so that you can understand the story easily and continue it adding your lines from where it was left. No matter how good a coder you are, in programming, your job is not just writing code that works and give you the desired output but also writing a code that is maintainable, extensible and easy to understand so later the one who continue or maintains your project can understand it and he/she doesn’t have to go through a horror story which gives him/her a nightmare.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -Martin Golding
Learning some programming principles and using them in your code makes you a better developer. It improves the quality of code and later adding other functionality or making changes in it becomes easier for everyone. Let’s discuss some basic principles of programming and the benefits of using it.
Table of Content
- 7 Common Programming Principles
- 1. KISS (Keep It Simple, Stupid)
- 2. DRY (Don’t Repeat Yourself )
- 3. YAGNI (You Aren’t Gonna Need It )
- 4. SOLID
- 5. Separation of Concerns (SoC):
- 6. Avoid Premature Optimization
- 7. Law of Demeter