Code quality is not always, if at all, at the forefront of everyone’s minds. Even when it becomes a company’s mantra, some teams in the organization may still not adhere to it. There could be several reasons, the most common of which is lack of time. They would usually say, “It works. We can release it. We’ll refactor it at a later time.” But as you may have observed yourself, that refactoring usually never happens.
Think of it as an investment. If you don’t spend some time now to make your code readable and maintainable, the fatter the chance someone, including yourself, will accidentally break something in the future and cause a P1. That’d be costlier. Would you prefer that?
I know I’m probably preaching to the choir. So I’m not going to justify the need for code quality any further.
Please allow me to introduce myself. My name is Ever A. Olano. I’ve been a software engineer for over two and a half decades now. I started writing professionally in C, moved on to C++, then dabbled a little bit with Perl, PHP, Visual Basic, and C#, before settling on Java. I’ve been around long enough to learn from a plethora of mistakes, both my own and other people’s, beginners and fellow seniors alike.
Quality may sound like a pipe dream to some but it’s really just about getting the right mindset. As with all things, it takes practice. But I know that life is hectic. I, for one, cannot afford to linger on any one blog. So the practices here are pretty quick. They’re bite-sized. If you happen to have more time, there’s nothing stopping you from moving on to another one.
You’ll see the word quata a lot. It’s a term I coined for this blog. It is a play on the word kata, and is short for quality kata. It refers to a blog post that has bad code for you to critique.
The quatas will all have the same structure. I’ll present a snippet of code that has one or more “flaws”. It’s up to you to figure them out. Then, I’ll follow it up with my commentary, then the same snippet of code, refactored to my liking.
That’s a key phrase there. While there are generally accepted best practices, many are subjective. You may disagree with some of my opinions and that’s all right. I hope to learn from you, too.
I’m hoping that the quatas will also help develop good code review skills and the ever-ubiquitous “attention to detail”. I’ve seen resumes that have that and yet, are littered with typos and formatting inconsistencies.
By the way, since I’m a Java developer, all the quatas will be in Java. Nonetheless, many of them will be equally applicable to your language of choice.
From time to time, I’ll publish a non-quata post. I may talk about some new thing, some product, some book, or whatever, as long as it’s somehow, even tangentially, related to code quality.
My blog wholeheartedly welcomes your comments. However, to keep a friendly, respectful atmosphere, I will moderate them. I will not tolerate rude or condescending remarks. Nor will I accept obvious attempts at mere advertising. If you do want me to review your product or Web site on my blog, leave your contact information in your comment. It needs to be related to code quality, of course. I won’t review a toilet flapper, for example. Sorry, that’s the first thing that came to mind since I just replaced one of ours on Father’s day, the most fatherly thing I did that day.
Thank you for reading this all the way through. I do hope to see you regularly here. If you haven’t noticed, I have the home page set up such that it displays a random vacation photo every time it’s loaded. I’m no photographer but I’m proud of these photos. I can’t attest to their quality, but they’re not code.
I wish you all the best, and may you stand above the rest.