DEV Community

What is Clean Code and why should you care?

Carl Vuorinen on May 11, 2017

This post was originally posted on my blog at cvuorinen.net What is Clean Code? Clean code is subjective and every developer has a pers...
Collapse
 
bassimsmile profile image
Bassim RAJI

The hardest here is to begin with the idea to make it easily understandable and finish with it because sometimes you lose the control in making it easy to understand and you only think about making it do what you want it to do

Collapse
 
macemalakai profile image
Troy David Cook

Any tips for a somewhat beginner, writing functions that tend to be way too long, re-using variables too often?

Collapse
 
cvuorinen profile image
Carl Vuorinen

Learn to use the extract method refactoring to split long methods. Look for clues when to use it, like if you feel like you should write a comment to explain some operation. Sometimes when writing a new public method/function I first list what the method should do as 2-4 lower level operations and write these as comments. I then start implementing each step as a separate function. This is more rare though, as I said in the article, clean code rarely happens on the first try, so learn to refactor.

Regarding the variables, if you are working with a language that allows you to specify variables as read-only then use that as a default (e.g. use const rather that let or var in javascript) and only allow mutability when needed (makes you more aware when this happens and why it's needed). Also, splitting long functions into smaller ones helps with this problem as well ;)

Collapse
 
agazaboklicka profile image
Aga Zaboklicka

Try to write functions so that it does one thing. If there are few steps that had to be done try splitting it into chunks and then extract those chunks into private functions to make it easier to read. When you extract your code to another function give it a meaningful name. Sometimes it is good to look at the function after 1-2 days to see if you still know what's going on. And refactor, refactor, refactor! Many programming IDEs has nice refactoring tools so take advantage of those.

When I write a function I start with each big step of the task it has and write it as a separate function call and then write the code of the function accordingly. It's a similar approach to Carl's comments. Sometimes it helps to start with paper, programming doesn't start with writing a code ;)