The term “Clean Code” could be confusing for beginners. What does it mean? You clean the car, you clean your bedroom, how do you clean your code?
Lets start by thinking about almost the opposite of Clean, which is Messy. You can imagine a messy room, and I’m sure you can also imagine messy code. When I think about messy code, I think of lots of lines of code, poorly named variables, multiple classes in the same file and so on. In the same way it is difficult to cross a messy room, it is difficult to read and work with messy code.
What are the benefits of clean code?
There are multiple benefits for writing clean code, here are some of the main ones:
- It is easier to understand.
- You can tell what the code will do.
- You will be able to understand it, even when coming back to it after 6 months.
- Other people will be able to understand it.
- It will be easier to maintain.
- It will be easier to test.
What things can you do to write clean code?
Here are some of the main things you can do towards writing clean code:
Give your variables, methods and classes meaningful names.
If you have a method which gets a customer by id, then name it ‘GetCustomerById’ and name the parameter ‘customerId’. So GetCustomerByID(CustomerID) is cleaner than GetID(ID).
Don’t make your methods and classes do too much.
Apart from the main calling method, you should aim for your classes and methods to do just one thing each. That way it is easier to maintain, test and to understand.
Don’t write comments inside the method.
If you feel the need to write comments inside your method to explain what the code is going to do, you probably need to create a method for that code and give it a meaningful name, for example,
SendEmailToCustomer() instead of:
#this code sends email to the customer
... lines of code to send email here ...
Use white space effectively. If you want a particular part of your code to stand out, use leave an empty row above and below it.
When adding new methods to a class, add them to the bottom. This helps with code reviews as the only change in the file will be the addition of code at the bottom, rather than lines moving down to accommodate it and hunting for which part of your code changed.