2009-05-19 13 views
14

Điều này sẽ giảm kích thước thực thi một chút trong một số dự án rất lớn của tôi. Tôi chắc chắn sẽ có những lợi ích khác nữa.Làm cách nào để xác định và loại bỏ các đơn vị không sử dụng trong "khoản sử dụng" trong Delphi 7?

EDIT: Có lẽ một tiện ích sẽ quét dự án và xóa các dự phòng tự động không? Tôi có 100 dự án và "tự động xóa" sẽ là giải thưởng đầu tiên mặc dù nếu tôi phải làm theo cách thủ công với sự trợ giúp của việc xác định các tiện ích.

Trả lời

12

Bạn có thể muốn xem qua số CnPack.

CnPack bao gồm một trình hướng dẫn sử dụng trình dọn dẹp đã không làm tôi thất vọng.

+0

Liệu nó có tự động xóa nếu muốn? –

+4

+1 cho CnPack - nó có một số tùy chọn thông minh để tránh những cạm bẫy phổ biến như các đơn vị có phần khởi tạo – mjn

+3

@ mm2010, nó có. Trên thực tế, nó không có tùy chọn "hiển thị cho tôi những gì bạn sắp xóa", chỉ báo cáo "sau" hành động của nội dung đã bị xóa. Mặc dù tôi chưa bao giờ gặp bất kỳ vấn đề nào với nó, tôi khuyên bạn nên sao lưu các tệp nguồn của mình trong hệ thống kiểm soát nguồn. –

1

Xem một số câu trả lời here.

9

Tôi đã từng sử dụng Icarus đã cho tôi báo cáo về các mục nhập sử dụng không sử dụng.

Từ trang web

ICARUS phân tích cú pháp Delphi hoặc Borland Pascal mã nguồn và tạo ra một Sử dụng Report. Báo cáo này sẽ giúp bạn xóa các đơn vị không cần thiết khỏi danh sách sử dụng của bạn. Bạn cũng sẽ biết những đơn vị nào có thể được di chuyển từ giao diện sử dụng danh sách vào danh sách sử dụng thực hiện.

Loại bỏ sử dụng tài liệu tham khảo không sử dụng có nhiều lợi ích: đang Cleaner để duy trì, không cần phải bận tâm về mã mà không được sử dụng Mã từ khởi và quyết toán phần trong đơn vị không sử dụng không được liên kết trong Compilation chạy mượt mà và nhanh hơn

ICARUS rất dễ sử dụng, chỉ cần chọn tệp nguồn, đặt một vài tùy chọn và bắt đầu phân tích. Hoặc để cho trình hướng dẫn tích hợp sẵn hướng dẫn bạn qua quá trình này.

ICARUS là PHẦN MỀM MIỄN PHÍ.

2

Công cụ như vậy không bao giờ có thể phân tích liệu các phần khởi tạo hoặc hoàn thành của đơn vị đã sử dụng có cần thực thi hay không. Việc loại bỏ các đơn vị khỏi việc sử dụng có thể dẫn đến việc không chạy các phần khởi tạo và hoàn thành và do đó dẫn đến lỗi.

+0

Có thể việc xóa có thể là câu hỏi tùy chọn trong tiện ích như vậy? –

+1

Các đơn vị chỉ có phần khởi tạo/hoàn thành là rất quan trọng. Nói chung, các phần này được sử dụng để khởi tạo mã cho chính đơn vị đó, không phải cho ứng dụng chung. Hơn nữa, một công cụ như ICARUS không kiểm tra các phần này hoặc có thể được thực hiện để phân tích các phần đó và kiểm tra xem chúng có quan trọng không. –

+1

CnPack có một tùy chọn để bỏ qua các đơn vị có khởi tạo – mjn

1

Peganza có các công cụ tương tự: http://www.peganza.com/

+2

Các báo cáo được tạo bởi Icarus quá đông với thông tin không cần thiết. Thực sự khó khăn để tìm ra những gì họ cố gắng để cho bạn thấy. – Ampere

2

Hãy nhớ rằng các mối liên kết sẽ lột bất cứ điều gì có thể' t được gọi. Nếu không sử dụng được thực hiện của một đơn vị và nó không có khởi tạo hoặc hoàn thành nó sẽ được hoàn toàn tước anyway. Bất cứ điều gì được tham chiếu trong quá trình khởi tạo hoặc quyết toán sẽ vẫn ở lại nhưng nói chung điều này không nên mang lại nhiều.

Có thể cho một đơn vị chỉ bao gồm việc khởi tạo để việc xóa hoàn toàn tự động bị giới hạn. Các đơn vị mà chỉ thay đổi hành vi hệ thống trong một số thời trang có thể rất tốt không có tài liệu tham khảo và được cần thiết. (Quản lý bộ nhớ thay thế với theo dõi rò rỉ tốt đến tâm trí.Trong khi nó có những thứ bạn có thể tham khảo không cần phải, chỉ cần sử dụng nó và nhận được báo cáo rò rỉ. Hãy kiểm tra kỹ mã của bạn.)

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