2015-04-14 12 views
6

Trong dự án của chúng tôi, chúng tôi đã có một số lớp học "quên" nằm xung quanh khá lâu.Có thể khám phá những lớp nào không được sử dụng trong ứng dụng Ruby on Rails không?

Các lớp đó được thay thế bởi các lớp khác nhưng chúng tôi đã quên xóa chúng. Có một số cách/công cụ tự động để khám phá lớp nào không được sử dụng trong ứng dụng Ruby {on Rails,}?

Cảm ơn!

+9

Điều này khó thực hiện thông qua tự động hóa vì Ruby rất năng động; các lớp có thể được tải dựa trên tên lớp, vị trí, biểu tượng, giai đoạn của mặt trăng (theo nghĩa đen), v.v. Ngay cả việc thiết kế chúng để xem liệu chúng đã từng được sử dụng hoặc khởi tạo có thể có vấn đề không. trong các bài kiểm tra của bạn. –

+0

Nếu ứng dụng nhận được nhiều lưu lượng truy cập, bạn có thể đặt các lớp nghi ngờ để ghi vào "bản ghi ngừng sử dụng" (hoặc bao gồm thẻ không dùng nữa) và theo dõi tệp nhật ký theo thời gian. Việc đăng ký không có hoạt động nào trong một thời gian dài có nghĩa là, ngay cả khi mã lớp có thể truy cập được bằng cách nào đó, nhưng không có người dùng thông thường nào của bạn bỏ qua chúng. –

+0

Vấn đề là chúng ta quên xóa cả lớp và các bài kiểm tra của nó. Cùng với đó, chúng tôi có mức độ phù hợp khá tốt, nhưng không có gợi ý rằng lớp học là vô ích. –

Trả lời

2

Câu hỏi này đã được thực hiện rất nhiều lần, nhưng câu trả lời tốt nhất được biên soạn ở đây:

Find unused code in a Rails app

I, cá nhân, thích phân tích log:

https://stackoverflow.com/a/14161807

Nhưng trong mọi trường hợp, bạn có thể tạo trình ghi log của riêng bạn mở rộng ActiveRecord :: Base để tạo một người quan sát lưu trữ trong cơ sở dữ liệu các mô-đun được sử dụng nhiều nhất. Sau một thời gian thận trọng, bạn sẽ có thể đảo ngược các mô hình tìm thấy không được gọi ngay cả một lần.

Có các công cụ chuyên nghiệp khác (trả tiền) để đo lường hành vi ứng dụng của bạn:

http://newrelic.com/

Tôi đã sử dụng này trong một dự án và đã làm một công việc vĩ đại đo lường việc sử dụng bộ điều khiển. Bạn có thể thấy nó hữu ích.

Các vấn đề liên quan