In the previous lesson, you have learned about what is code quality and how it’s essential it is. Now, we are going to differentiate between good code and bad code. Before we are dive into differentiating between code, how do you differentiate the quality of food?
- Good smell?
- Well structured?
- Price?
- Good appearance?
- Good taste?
- Deliver in the best temperature of food?
What’s well organized can bring you? Well organized is good because you can achieve the same result with lesser effort/cost with a competitive price.
The most developer writing many codes may forget what the code write in the past few weeks. In future, you refer to your code again and again. It’s not just you, anyone who may read your code in future might need. You write code that you barely understand what you write, but you might be unable to comprehend it at all later. Unable to read your code after few months or years later, it’s embarrassing when someone is asking you what’s the code you wrote in the past.
The quality code is clear, concise and straightforward. It has a few characteristics/attributes mentioned below.
Characteristics of Good code
Clarity/Readability/Legible/Simplicity/Elegance
The high-quality code is accessible to read and understandable by anyone even the non-programmer can understand it.
Maintainable/Extensible/Scalable
The high-quality code can be easily extended without much-complicated process. Any developer working on the code can quickly make any change. When new developers coming to the team, you may reduce the extra works in long run. It’s always good to keep the technical debt in low.
Documentation
A good code should always include documentation where it needs. Make sure comments the code where it needs instead of adding unnecessary comment to the code. Writing non-useful comments may cause reversely. The best code is self-documented, you can understand it easily without writing any comments.
Well-Structured
The architecture of the overall should be in healthy. Avoid lack of planning or over-structured. Always good to make sure the code formatting is consistent and follow the team guidelines. The code needs to be refactored and make sure in consistent format.
Efficiency
Good code are refactored, reduce unnecessary code and keep it simple using reusable components whenever you can
Usability
It’s reusable, you can reuse the code when needs.
Well-tested
You wrote a small piece of software to test the code, make sure it passes all the expected result to ensure the code is bug-free, stable, no crashes, no hangs with all the possibilities.
Failure handle
When anything goes wrong, it throws the issue precisely instead of keeping it silence or do nothing.
Security
There are many security issues are coming due to the bugs and errors in the code. A better code quality are reduce the vulnerable of the software.