Tips To Write Quality Code
Programming languages come with their own syntax. Learning programming languages and
studying algorithms is a must; trying to code a complex working application
might drive you up the wall if you do not write clean code.
Writing clean code looks much
easier than it actually looks. The problems that you face
while writing code become much easier to solve when it is written in a
systematic way. Once clean code is written, your approach to problem-solving
also changes. It also renders the code easier to read and understand, so that
you will spend more time in figuring out what certain parts of the code
actually do. You can communicate your ideas more clearly as a well-written code
reduces the possibility of misunderstandings between multiple programmers. In
this article, we will talk about how to write a clean code.
Descriptive Names
What are variables, classes, and functions?
There are numerous ways to answer that, but when you really think about it,
those things are nothing more than the interface between a computer programmer
and the hidden logic of an application.
When you use meaningless and non-descript
names for variables, classes, and functions, you’re essentially muddling the application logic from any programmer who
reads the code, including yourself.
“I’m not a great programmer; I’m just a
good programmer with great habits.”
— Kent Beck
— Kent Beck
What does a variable named dXY actually mean? It is hard
to tell. You’d most likely have to read the entire code to figure out what that
variable stands for. However, the meaning of a variable like distance-between XY is instantly understandable.
The same is applies to
classes and functions. Don’t settle for
CalcAr()
when
you can go for CalculateArea()
or CalcAreaOfSquare()
instead.
Set Each Class/Function One Purpose
Have you looked inside a function that has hundreds or
thousands of lines of code? If you have, then you know how difficult it is to
browse, understand, and edit. Comments do not always help when there are far
too many lines of code.
“Programming is breaking one big
impossible task into several small possible tasks.”
— Jazzwant
— Jazzwant
Clean code can be broken down into tiny chunks. Ensure
that every function aims to do one single thing and every class aims to
represent one particular concept. This simplification will help you a lot when
you are going through those lines of code again.
For instance, a complex calculation like
GetSimpleInterest()
may
need to be broken into several helper functions like GetPrincipalAmount()
, ApplyRateOfInterest()
and SetTimePeriod()
.
Get Rid Of Unnecessary Code
This is a bad habit that many programmers struggle with
from time to time. If they want to fix or optimize a part of code, they comment
it out and do a rewrite just below it — and even though it works, the old code
is kept there for a safe side.
“Is it possible that software is not
like anything else, that it is meant to be discarded: that the whole point is
to always see it as a soap bubble?”
— Alan J. Perlis
— Alan J. Perlis
With the passage of time, there will be a build-up of a whole
lot of commented-out blocks of code that are no longer needed yet crowd up the source
files. The funniest part is that in a lot of cases, the
surrounding code is better so the commented-out code wouldn’t work even if it is
restored.
Make Your Code Readable
A lot of programmers confuse “clean code” with “clever
code”, as if combining ten lines into one is somehow better. It definitely
takes less space on the screen, but can one easily understand it? Put simply,
sometimes, they can, but most of the times they cannot.
“Everyone knows that debugging is twice
as hard as writing a program in the first place. So if you’re as clever as you
can be when you write it, how will you ever debug it?”
— Brian W. Kernighan
— Brian W. Kernighan
Some programmers love clever code because it feels like a
solved riddle, as it validates their programming skills.
In order to write clean code, you need to stop being
egotistic.
Keep in mind that you should be optimizing code for the
next person who is going to read it, because there are high chances of that
person actually being you. Therefore, there is nothing more shameful than being
unable to read your own code.
Have Consistency in Your Coding Style
When it comes to coding style, there is no point in
saying that one style is better than another. It is purely the individual’s lchoice whether they want braces on their own lines or want to precede method
calls with spaces.
Just be consistent!
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
— Tim Peters, The Zen of Python
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
— Tim Peters, The Zen of Python
If you plan on using
camelCaseNaming
for
variables, don’t mix it with the underscore_naming convention
. Similarly,
if you use GetThisObject()
in one place, don’t go on
to use FetchThatObject()
in another place. In the
same way, if you mix tabs and spaces, then it will make your code highly
inconsistent.
It is best to decide what you want to do right from the
beginning and stick to that coding style throughout. Languages like Python and
C# comes with style guides that you may want to follow.
Similarly, most programmers are adamant about the color
theme they use for their Integrated Development Environment (IDE). Some of them
prefer dark themes, which they claim are relaxed on their eyes, while others
prefer light themes.
Master The Language’s Patterns
Take into account Python, Java, and JavaScript. They all
vary in their usage and require a distinct thought-process depending on what
language you choose to use.
“A language that doesn’t affect the way
you think about programming is not worth knowing.”
— Alan J. Perlis
— Alan J. Perlis
For instance, Python is based on compact code and duck
typing whereas Java leans more towards using plenty of words and explicitness.
Every language comes with patterns (for example, list comprehensions in Python)
that facilitate a certain way of coding. It is best if you learned them well.
Study The Code of Seasoned Programmers
When learning to write clean code, you have to study what
good code looks like and to do this you have to learn it from the masters of
the industry.
“Any fool can write code that a
computer can understand. Good programmers write code that humans can understand.”
— Martin Fowler, Refactoring: Improving the Design of Existing Code
— Martin Fowler, Refactoring: Improving the Design of Existing Code
This is when open-source projects help you, so that you
can learn from them. You can enhance the learning process if you decide to
contribute to such a project.
Comment Well
Commenting your code is good practice, but
over-commenting is bad for your code.
“Always
code as if the guy who ends up maintaining your code will be a violent a psychopath who knows where you live.”
— John Woods
— John Woods
Your comment should exist to explain why a piece of code
is present and not what the code actually does. A
clean code is usually self-explanatory about what it does, and the comment
sheds light on why exactly it was written.
Refactor Your Code
Refactoring is an integral part of the coding process. The quickest way to end up with unmaintainable code is by disliking refactoring.
On the whole, refactoring is just a different word for
cleaning up the code without causing an impact on its actual behavior.
“Whenever I have to think to understand
what the code is doing, I ask myself if I can refactor the code to make that
understanding more immediately apparent.”
— Martin Fowler, Refactoring: Improving the Design of Existing Code
— Martin Fowler, Refactoring: Improving the Design of Existing Code
Conclusion
By writing quality code and
following programming practices, you can eventually create code that is easier
to read and much simpler to revise in the future. You can save yourself and
your programmer a lot of headaches if you write proper code.
Comments
Post a Comment