12/08/2018, 16:49

Những công cụ giúp ứng dụng rails của bạn được tối ưu

Để giữ cho code của bạn được gọn gàng, có tổ chức khi phát triển một ứng dụng Rails lớn có thể khá là khó khăn, ngay thậm chí đối với những developer có kinh nghiệm. May mắn thay, các gem hiện nay đã giúp bạn làm việc đó một cách dễ dàng hơn. Đối với hầu hết mọi người, những dead code, hoặc những ...

Để giữ cho code của bạn được gọn gàng, có tổ chức khi phát triển một ứng dụng Rails lớn có thể khá là khó khăn, ngay thậm chí đối với những developer có kinh nghiệm. May mắn thay, các gem hiện nay đã giúp bạn làm việc đó một cách dễ dàng hơn. Đối với hầu hết mọi người, những dead code, hoặc những code kém hiệu quả sẽ được xây dựng dần theo thời gian. Một số khác sẽ tìm thấy chính mình trong những trình trạng khó khăn tương tự khi họ nhận dự án của người khác. Refactor lại codes của người khác, là một công việc khá tẻ nhạt và tốn nhiều thời gian, vì vậy việc sử dụng công cụ bên thứ 3 sẽ giúp ích cho các bạn rất nhiều. Nếu bạn muốn codes của mình dễ bảo trì hơn, an toàn và tối ưu hơn, hãy tham khảo qua một số gem sau đây nha:

Traceroute là một công cụ giúp làm gọn gàng các routes trong ứng dụng của bạn. Nó cung cấp các rake task đơn giản để kiểm tra các routes đang được ánh xạ tới những controller actions không tồn tại, và tìm ra những controller actions không thể truy cập tới.

Đây là một công cụ tốt được sử dụng cho việc tìm kiếm những điểm nghẽn trong các ứng dụng của bạn. Nó thực hiện một phân tích tốc độ trực tiếp, xem mất bao lâu để request được xử lý, mất bao nhiêu thời gian để truy vấn database, load DOM. Chỉ cần add nó vào Gemfile, bạn sẽ nhận được một cửa sổ nhỏ ở góc trên bên trái của trang của bạn, hiển thị tất cả những thông tin như đã nói ở trên.

Rubocop là một công cụ để phân tích và so sánh code Ruby với một số quy tắc đã được định nghĩa sẵn (Các quy tắc của RuboCop thường được gọi là “cops”). Rubocop được xây dựng để phục vụ cho các Ruby developer. Các quy tắc trong RuboCop có thể được enable hoặc disable tùy ý. Ta cũng có thể tùy chỉnh các quy tắc trong RuboCop để có thể thực thi những chuẩn riêng ứng với từng dự án Ruby. Sử dụng RuboCop sẽ giúp chúng ta tạo ra những dòng code Ruby tốt hơn: Đánh giá được code của bạn với các số liệu như độ dài của dòng, kích thước hàm. Giúp cho các thành viên trong cùng một dự án tạo ra được cấu trúc code tương tự nhau. Thiết lập được sự thống nhất trong source code.

Là một gem tương đối mới, bao quanh một số gem phân tích tĩnh như Reek (ruby code smells), Flay (phát hiện trùng lặp code) and Flog (ABC metrics) để cung cấp một bản báo cáo về chất lượng của code Ruby của bạn.

0