Home » Ruby Tutorial Box » Ruby Coding Convention (Phần 1)

Ruby Coding Convention (Phần 1)

ruby_convention

Coding convention là việc mà tôi luôn tìm hiểu khi bắt đầu và trong suốt quá trình học và code bất kì ngôn ngữ nào. Có thể mỗi programmer đều có riêng một style trong quá trình làm việc, nhưng việc code và viết document như thế nào để tương tác giữa các thành viên của team được tốt lại cần tới một coding convention chung mà mọi người đồng ý. Việc đó không chỉ làm cho source code của chúng ta đẹp hơn, thống nhất và dễ đọc, mà còn có thể cải thiện chất lượng code, tăng tính duy trì, dễ thay đổi của sản phẩm. Source Code khi đó cũng dễ dàng maintain với các team khác, ở các quốc gia khác.

Đối với Ruby, tôi có tìm được style guidelines tại ruby-style-guide với gần 5000 stars. Nay tôi dựa trên phần lớn bài viết của tác giả Bbatsov để viết lại một bài về coding convention trong Ruby bằng Tiếng Việt.

Dựa trên những style guidelines này, có một công cụ để check source code của bạn, RubyCop

Source Code Layout

Mọi người đều nghĩ rằng tất cả style trừ của họ đều thật là khó đọc. Bỏ đi ba chữ ‘trừ  của họ’ và họ có lẽ đúng …

— Jerrry Coffinoffin


  • Encode các file của project bằng

  • Sử dụng 2 dấu cách (soft tabs) cho mỗi thụt đầu dòng thay vì dùng tab thông thường (hard tabs – 4 spaces)

  • Sử dụng Unix-style

  • Không sử dụng ; để phân cách các câu lệnh. Mỗi câu lệnh viết thành một dòng không có dấu ;
  • Không viết các function một dòng

  • Có dấu cách trước va sau các phép toán, sau dấu , trước và sau { và truớc }. Ngoại trừ toán tử lũy thừa **

  • Không có dấu cách sau ([ hay trước ], )

  • Không có dấu cách sau !

  • Trong lệnh when ... casewhen cần được thụt dòng ngang với case. Có thể một số người không đồng tình với quan điểm này, nhưng đó cũng là style trong 2 cuốn sách ‘The Ruby Programming Language’ và ‘Programming Ruby’

  • Khi gán biến theo một câu lệnh if ... else ... end hay case ... when ... else ... end, hãy chú ý để các nhánh được thẳng

  • Tránh sử dụng kí tự xuống dòng trong Ruby \ nếu không cần thiết, ngoại trừ nối các string
  • Khi các hàm được gọi nối tiếp, hãy đặt dấu . ở dòng thứ 2

  • Đối với những hàm mà tham biến của nó quá nhiều, chúng ta nên xuống dòng từng tham biến theo một trong hai cách sau

  • Dóng thẳng các phần tử khi khai báo mảng nếu mảng quá nhiều. Ví dụ như sau:

  • Thêm gạch dưới đối với những số lớn để dễ đọc

  • Mỗi dòng chỉ nên tối đa 80 kí tự
  • Không sử dụng dấu cách ở cuối dòng lệnh
  • Không sử dụng kiểu comment cả một block. Kiểu comment này không đặt được dấu cách trước nó và khó nhận ra đó là những comment như bình thường