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

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

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

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

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

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

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

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

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

 

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.