This is the first post of Ruby Notes series. This series and the later, Rails Notes, is a collection of my personal learning notes prepared while learning Ruby and Rails. These notes are the extract of the several books I referred while learning Ruby. These notes were lying on my shelf from quite some time when one bright sunny day I realised to publish them in the hope to help large number of beginners and enthusiasts needing quick reference to relevant topics only.
In this post:
- The Ruby style of Coding.
- Proper use of Comments.
- When to use Parentheses and when to ignore?
- How much code in one line? Single-line or multi-line.
THE RUBY STYLE OF CODING
The Ruby style of coding is built on few simple ideas like:
- The code should be clear and itself tell the reader what exactly it is trying to do.
- The code should be concise.
To adapt these simple ideas into practice, Ruby stresses on Convention over Configuration from the very start. In Ruby, you indent your code with two spaces per level. The rule is not to use Tabs for indentation.
The Ruby naming convention in short says: Camels for Classes, Snakes everywhere.
This means the Class names should use Camel casing while the rest of the things like methods, arguments and variables should use lower case. For example:
class Customer
attr_accessor :name, :address, :place
def initialize(name, address, place)
@name = name
@address = address
@place = place
end
def name_length
puts name.size
end
end
For constants there is a mixed belief. However, the Ruby community recommends all uppercase with words separated by underscore. For example:
ANNUAL_DISCOUNT = 20
PROPER USE OF COMMENTS
Ruby's philosophy says: "Good code speaks for itself". Therefore, use comments only when necessary not just everywhere.
(1) Keep background information separate from instructions:
# Author:
# Copyright 2012:
#
# An example of Ruby class
(2) Not every line requires comment:
number += 1 # Add one to number
(3) An example of proper use of comment:
return 0 if divisor == 0 # Avoid division by zero
WHEN TO USE PARENTHESES AND WHEN TO IGNORE?
There is no rigid rule but this is what the Ruby community prefers:
(1) Use Parentheses with the arguments. For example:
def increment_number (number)
number += 1
puts number
end
(2) Ignore Parentheses in this type of situation:
def name_length()
puts name.size
end
Use instead
def name_length
puts name.size
end
HOW MUCH CODE IN ONE LINE? SINGLE-LINE OR MULTI-LINE?
Preferably one code statement per line is recommended for good readability. However, in certain situations you can fold cold block into one if it doesn't compromise readability. Note how this code can be written with folded block of code without compromising readability:
Style 1:
5.times do |num|
puts "The number is #{num}"
end
Style 2:
5.times { |num| puts "The number is #{num}" }
Technorati : Ruby, Ruby on Rails
Del.icio.us : Ruby, Ruby on Rails