Hey Juniors, Here are simple things you should do to show your professional styles
You have just graduated from university and started your professional career as software developer? Here are some tips which will help you become more professional in the eyes of your manager and co-workers. These tips are based on my experience when working with many young developers. And they are the mistakes that you should pay great attention to, although they are so simple that you often do not treat them seriously.
Indentation
Always keep your indentation consistent, never confuse you and your co-workers with strange lines of code, like this:
if (active)
a = 5
else
b = 6
And use only 1 style of indentation in your code. It means that you have to decide whether to use Tab or Space for indentation, how many spaces you should use (2 or 4 is very common). I am using Sublime Text and it allows me to use my own styles consistent among different source files in a project or different projects. Here is my current Sublime setting that you can take as reference:
tab_size: 2
translate_tabs_to_spaces: true
trim_trailing_white_space_on_save: true
Separate methods with blank line
Yeah, this is so simple and basic, but many developers forget about it somehow when I review their code. This of course does not affect the logic of you application, but it is very uncomfortable for others to look at your code. Here is one example of bad code in this style:
def new
#something here
end
def edit
#another thing here
end
You see that, right? It is hard for even you to quickly know that there are two methods in this code. And this is even worse because this developer put redundant blank line above the end
of the first method. Don't do that, always put blank line above your method definition to separate it with other methods, like this:
def new
#something here
end
def edit
#another thing here
end
Separate code blocks with blank line
To make it easier for you to debug your code, make sure to separate a complex logic into different part so that it could be easily understood. And example of difficult-to-understand code is:
def update_order
@order = Order.find(params[:id])
@order.update_total
if @order.state == "delivery"
@order.state = "payment"
end
if @order.ignore_payment?
@order.state = "completed"
end
end
I should rewrite the above code like this
def update_order
@order = Order.find(params[:id])
@order.update_total
if @order.state == "delivery"
@order.state = "payment"
end
if @order.ignore_payment?
@order.state = "completed"
end
end
You now can see that it becomes much easier to understand the logic in this method
Pay attention to spaces
Remember to put spaces around operators, don't do the followings:
@order= Order.find(params[:id])
@order =Order.find(params[:id])
@order=Order.find(params[:id])
@order = Order.find(params[:id])
@order = Order.find( params[:id] )
It is better to write them like this:
@order = Order.find(params[:id])
However, this should be reversed in HTML code, I don't like the following code:
<div class = "col-md-6"></div>
I would rather get rid of the spaces around the '=' characters in HTML code, to make it like this:
<div class="col-md-6"></div>
And another thing, do not put space in front of separators such as commas or colon, and do put a space after them. Example of bad code:
var a , b,c;
a = 5;b = 6 ;
Good code would be
var a, b, c;
a = 5; b = 6; //actually, you should separate them into two lines, I put them in one line for illustration
Use plural for list of items, singular for a single item
If you have an array of students, please remember to use plural form of your variable, like the following:
students = Student.all
Do not confuse other people by doing something like this in your code:
#controller
student = Student.all
#views
student.each do |s|
student.print_name
end
Others will think: What the heck this guy is doing, should student be a single item?
Or even worse, use a variable with completely different meaning with its context. For example:
today = Time.now
should be
today = Date.today #or Date.current
Pay attention to spelling
The final thing I want to mention in this list is if you are uncertain about a word or phrase, please look it up in a dictionary to make sure it is correctly spelled. Never use a misspelled word in the code, especially for something that could be used by many other people in your team. An example:
class Chalenge
end
It should be
class Challenge
end
It is said that simplicity is the ultimate sophistication. Following these simple rules and you will become a better developer. Of course, there are many more things to pay attention to and I will introduce them later in another post.
Happy coding!