Giải pháp cho “người lười” check coding convention
- Tháng Ba 19, 2021
- Posted by: codestar
- Category: Uncategorized
Coding conventions là tập hợp những nguyên tắc chung (luật bất thành văn) khi lập trình nhằm làm cho code dễ đọc, dễ hiểu, do đó dễ quản lý, bảo trì hơn. Với mỗi một loại ngôn ngữ lập trình thì bộ quy tắc này có thể khác nhau đôi chút (VD: bên này sử dụng camelCase, bên kia lại thích snake_case, bà thì khoái thụt lề bằng TAB, ông thì chỉ chơi với 2 SPACE, v.v….) nhưng chúng đã được những cộng đồng lập trình viên trên thế giới công nhận và tuân theo.
Nhưng vấn đề ở đây là gì, OK có thể bạn đã biết về coding convention, bạn đã thuộc lòng kha khá những quy ước trong bộ nguyên tắc đó thì bạn có thể đảm bảo rằng 100% mình sẽ code chuẩn và đẹp như tranh vẽ ? Một ngày chúng ta phải coding tối thiểu 8 tiếng, không thể nào duy trì được trạng thái tỉnh táo và sự tập trung cao độ liên tục được, nên có sai số là đương nhiên. Nhưng thay vì phải ngồi rà lại mấy trăm mấy nghìn dòng code thì ơn giời, các tool, thư viện sinh ra để giúp chúng ta giải quyết bài toán này. Chính xác, chúng ta cần một cơ chế kiểm tra tự động toàn bộ code trong dự án đã theo đúng chuẩn coding convention hay chưa, đưa ra các dòng code chưa chuẩn và thông báo bị vi phạm quy tắc nào. Vậy thì nhẹ gánh, các bạn có thể yên tâm ngồi code cháy máy sau đó chạy một câu lệnh kiểm tra và sửa nốt coding covention là xong, ez :)))
Trong bài viết này mình sẽ giới thiệu cách cài đặt và sử dụng thư viện có tên là Rubocop
– 1 gem khá phổ biến trong lập Ruby
1. Cài đặt
Cách 1: Mở cửa sổ terminal và chạy lệnh
gem i rubocop
Cách 2: Thêm vào Gemfile
gem ‘rubocop’, require: false
Rồi chạy bundle i
để cài đặt.
2. Cấu hình
Rubocop
cung cấp cho chúng ta 1 file config: .rubocop.yml. Bạn có thể làm rất nhiều thứ với file này. Nó rất linh hoạt trong việc điều chỉnh các quy tắc để phù hợp với dự án của bạn. Làm cái VD nhé:
- Ở đây, mình thiết lập số dòng tối đa cho 1
block
là 35 dòng. - Sẽ có những
method
trongblock
mà mình không thể tách nhỏ hơn và có thể vượt quá số dòng quy định. Thay vì phải điều chỉnh tăng max line làm ảnh hưởng đến nhữngblock
khác mình sẽ khai báo nó vào trongExcludeMethods
. Rubocop sẽ bỏ qua các method này khi kiểm tra. Tương tự với file bạn không muốn rubocop phải bận tâm tới thì ném chúng vàoExclude
. Tiện lợi phải không 😀 - Để theo dõi và tìm hiểu các tùy chỉnh khác trong rubocop mình khuyên các bạn nên lên DOCS để tìm kiếm.
Rubocop
viết rất đầy đủ và dễ hiểu và sẽ đáp ứng được nhu cầu cho dự án của bạn.
3. Sử dụng
Nếu các bước trên bạn thấy quá đơn giản để thực hiện thì cách sử dụng Rubocop
thì càng mother of giản đơn :v Mở terminal và run:
rubocop
Mọi thứ đã xong xuôi rồi đấy. Đến đây rubocop
sẽ auto check coding convention trong dự án của bạn. Nếu có lỗi nào xảy ra, nó sẽ thông báo dòng nào đang lỗi và lỗi là gì
offenses là số lỗi coding mà bạn đang gặp phải và các lỗi được thông báo rất minh bạch và dễ hiểu. Giờ chỉ việc tìm đến đúng dòng và fìx lại là xong.
Đẹp trai rồi đấy !!
Một tip mình muốn gợi ý đến các bạn là chúng ta hoàn toàn có thể kết hợp với Shell script để tự động run rubocop
khi gõ git add
hay git push
. Thế là không bao giờ quên gõ rubocop
trước khi push lên repo nữa.
Tác giả: Nghĩa Monjtor