Ruby Coding Convention (Phần 5)
January 23, 2014
Trong phần cuối cùng tôi sẽ đề cập tới String và Regular Expressions
Collections
- Khởi tạo mảng và bảng băm
# bad arr = Array.new hash = Hash.new # good arr = [] hash = {} - Sử dụng
%w()cho mảng các chữ,%i()cho các ký tự# good STATES = %w(draft open closed) STATES = %i(draft open closed)
- Sử dụng
firstvàlastthay vì[0]và[-1] - Sử dụng
Setthay choArraynếu bạn cần một mảng gồm những phần tử không lặp lại - Sử dụng symbols thay cho các strings khi khai báo hash keys
# bad hash = { 'one' => 1, 'two' => 2, 'three' => 3 } hash = { :one => 1, :two => 2, :three => 3 } # good hash = { one: 1, two: 2, three: 3 } - Sử dụng
Hash#key?thay choHash#has_key?vàHash#value?thay choHash#has_value?# bad hash.has_key?(:test) hash.has_value?(value) # good hash.key?(:test) hash.value?(value)
- Sử dụng
Hash#fetchbatman = { name: 'Bruce Wayne' } #bad heroes[:supermann] # =>; nil #good heroes.fetch(:supermann) #bad batman[:is_evil] || true #good batman.fetch(:is_evil, true)
String
- Nên sử dụng kiểu gọi string trong
" "thay vì dùng kiểu nối string# bad email_with_name = user.name + '<' + user.email + '>' # good email_with_name = "#{user.name} <#{user.email}>" - Sử dụng
' 'thay vì sử dụng" "nếu bạn không cần gọi string thông qua biến, hay có những kí tự đặc biệt như/t /n ' - Sử dụng
String#<<thay choString#+.String#<<nhanh hơn, nhất là khi bạn phải xử lí nhiều string objects# good and also fast html = '' html << 'Page title'
paragraphs.each do |paragraph|
html << “#{paragraph}”
end




