Writing clean code is important because it allows you to clearly communicate with the next person who works with what you've written. Being able to return to previously written code and understand what it does is key, especially in the software development world. The more declarative code is the better it communicates, and the easier it is to fix problems when they arise. By writing clean code, you will make yourself a better teammate, employee, and developer.
When I became a software developer, I knew that my code should be “clean”, but what does that actually look like?
In a nutshell, clean code means that your code is easy to read, easy to understand, and easy to change. It’s as simple as having descriptively named variables, functions, and classes so that as you read, you know what each contains or does without guesswork. Remember these key principles: KISS, which stands for Keep It Simple, Stupid, and DRY, Don’t Repeat Yourself. Ask yourself if there is a better solution for solving problems or complexity within your code. Start building habits that are conducive to clean code, such as:
Most code isn’t written and forgotten about, it is written and then modified over time to keep it current and efficient as it pertains to the project. Most likely, you aren’t the only person who will need to understand what your code does, which is why what it does will need to be obvious.
Yes, you can use comments, but if that’s your only form of communication within your code then you’re writing dirty code. Making certain that your code can speak for itself will also help you to develop your technical vocabulary. This benefits you by elevating your code quality — when you can discuss your code clearly, you can more effectively ask for help and suggestions on how to improve what you write. Clean code won’t write itself, it takes dedicated focus on putting forward what you mean to convey. Strive to write self-documenting code, clean and structured code that doesn’t need comments all over to explain what it’s doing.
Teamwork! You won’t be in the software development field for long before joining a project that is either a real-time collaboration or contains legacy code. Working with code that others have or will work on makes it evident that clean code is important. Jumping into code that doesn’t have a clear direction is time-consuming for all parties involved because when it isn’t apparent what code does or why it does it, you waste resources trying to discover its purpose.
It’s Reusable. The cleaner your code is, the more likely it is that you can reuse it! Writing clean code makes you a more efficient programmer because you are writing code that does one clear thing, which doesn’t take any extra time to write. Clean code also makes maintenance easier and quicker.
You’ll feel better about your code. Asking for help from a colleague and then having to wade through poorly written code to find the issue is never a boost for your confidence. Writing clean code will allow you to produce quality code that you’re proud to share with your team, knowing they'll have an easier time working on it too.
You’ll see growth. You won’t always write clean code! And that’s okay, we’re always learning and growing as developers. When you know better, you can do better. If you take the time to write clean code now, you will reap the benefits of readability and easier debugging down the road.
If you think you spend most of your time writing code, you’re wrong. You spend more time reading code, figuring out bugs, finding problems, and figuring out how to solve them. Clean code makes all of those things easier. If there’s one thing all programmers can agree on, it’s that clean code is better.
Clean code always looks like it was written by someone who cares. There is nothing obvious you can do to make it better. -Michael Feathers
Mariah is a Software Engineer at Echobind. She is passionate about clean and reusable code. Mariah is also a mama of three, a cupcake baker, and always down for a hot cup of black coffee. You can find her on Twitter @mariahlgrey and on LinkedIn!