links: [[Software Design Patterns MOC]]
---
# Clarity
As a developer one tries to achieve the following, they often spend long non futile discussions about these. The problem with these patterns are vague and hard to define.
1. Clean Code
2. Readable Code
3. Maintainable Code
4. Quality Code
5. Simple Code
Clarity is something that's not measurable, but as a reader, If I can understand the code written by developer in other words If a developer can communicate purpose of the program effectively to other developers, then that's called clarity.
Clarity is about writing an understandable code.
One way to achieve this is by following a design principle called Separation of Concerns. Where you deal with only one piece of logic at a time and by combining these small pieces you build a bigger program.
---
tags: #clarity, #code-review
sources:
- [Elixir conf talk about clarity](https://www.youtube.com/watch?v=6sNmJtoKDCo)
- [Separation of Concerns](https://en.wikipedia.org/wiki/Separation_of_concerns)