How do you achieve better code quality, if not by continuously writing and analyzing the code you write? The fact of the matter is, there are many ways to write code, and there are many languages to do it in. Every language has its own standards and ways of writing good quality code.
The thing that came to my mind as I wrote that, was the example of a “Hello World!” application being written in more than a hundred different programming languages, you can check that project out on GitHub. You can also check out this Stack Overflow answer, nearly 200+ unique “Hello World!” programs to learn from.
The main reason behind striving for good quality code is that not only will you thank yourself for having written better quality code, you will be saving a lot of headaches for those people who want to optimize and work with your code. But, this journey doesn’t just unfold like that. You’ve to take some actionable steps to improve the code you write, which is what this post is going to be about.
Comment when Necessary
It’s a well-known fact that every new programmer should adapt to the process of writing good code comments, when was the last time you came across this advice? You get it engraved in your mind so deeply that you completely miss the point.
Your code comments should be pointers that help you to move from one part of the code to the other, rather than being separate essays for what the function document.write() does and such. Smaller, more witty and mature comments are the way to go.
Refactor when Possible
Refactoring is a controlled technique for improving the design of an existing code base. Its essence is applying a series of small behavior-preserving transformations, each of which “too small to be worth doing”. However the cumulative effect of each of these transformations is quite significant. By doing them in small steps you reduce the risk of introducing errors. You also avoid having the system broken while you are carrying out the restructuring – which allows you to gradually refactor a system over an extended period of time. – Martin Fowler
Review the Code of Other Developers
When you’re just starting out, this advice may not seem so valuable or useful, but trust me – when you get past a certain point of learning how different aspects of your programming language work, reading the code of other programmers becomes an insightful and rich experience.
Lets say you build a simply blog application, very very basic. Now you want to add more features to it, but there are not tutorials around for it? Well, just find similar applications that have already been written, and learn from there. I thought it’s mindless, too, but then I realized how helpful it really is.
You get to learn more code (and how to write it), while also upgrading your apps. Don’t just review any code either, try to find people who’re passionate and active with their projects, those are the people who know how to write good code!
Communicate and Ask for Reviews
If you don’t put yourself out there, you will have a hard time learning about the things that you could be doing in a better way. Easy to understand code is one of the principles of becoming a better developer, and neither your team or the people who hang out on sites like Stack Overflow are going to tolerate bad, hard to understand code.
You can also join an IRC network for instant gratification. Don’t take this advice lightly, it will save you a ton of time in future, especially when you start putting yourself out there for big companies to hire. It’s not like there is any supply of great programmers available.
Keep at It
As with everything, you need to have pretty good determination to get this done. It’s one thing to learn how to write code and make it work, it’s another story when it comes to writing code that other developers will appreciate to see on their horizon. Invest in quality over quantity and functionality. Even the seasoned developers will tell you that less code and more quality is the way to go.
Improving the Quality of Your Code
So, which one of these tips have you been following already, and which do you plan on following now that you’ve learned about them? How do you prepare yourself for writing better code? Share with us!
Also, take a look at this post, discusses the same thing in a different approach; more based on the fact that you work in a team.
Photo by Fernando Cejas