Trong 1 dự án không ít thì nhiều cũng tiềm ẩn các đoạn code vô dụng hoặc duplicate. Hôm nay mình sẽ giới thiệu cho mọi người 2 công cụ để loại bỏ chúng, làm cho project sạch đẹp hơn nhé.
Trước mắt cùng tìm hiểu xem khái niệm của 2 loại code trên là gì
Dead code: Các đoạn mã không thể được thực thi trong project. Copy code: Các đoạn mã (gần như) giống hệt nhau được sao chép trong các file.
A/ Periphery

Periphery là một công cụ để xác định dead code. Nó khá thông minh và có thể phát hiện không chỉ các hàm không được sử dụng mà còn cả các cấu trúc, enum và thậm chí là các parameter được khai báo trong các function.
1/ Cấu hình
Chạy 2 command dưới đây
brew tap peripheryapp/periphery
brew install periphery
Sau khi cài đặt, chúng ta cần phải cấu hình nó. Periphery đi kèm với một quy trình tương tác cho phép bạn tạo cấu hình thích hợp cho dự án của mình. Chúng ta chỉ cần chạy lệnh sau để khởi tạo quá trình:
periphery scan --verbose --setup
--verbose : Periphery sẽ tạo 1 file yaml. Khi các cấu hình đó được log ra trong console, chúng ta có thể sao chép vào file periphery.yaml: và tuỳ biến thêm nếu muốn.
--setup: Chỉ cần thêm cờ này cho lần chạy đầu tiên. Vì cờ này được sử dụng để bắt đầu thực thi configuration.
2/ Sử dụng
Sau lần chạy cấu hình đầu tiên, chúng ta chỉ có thể sử dụng công cụ bằng cách chạy:
periphery scan
Nhìn chung, việc có một công cụ như vậy là cực kỳ quan trọng để giảm code dư thừa và đảm bảo rằng không tồn tại một số code không được sử dụng.
B/ Copy-Paste-Detector (CPD)

Copy-Paste Detector (CPD) là một công cụ có thể sử dụng để phát hiện code đã được sao chép trong project.
1/ Cấu hình
Công cụ này được viết bằng Java. Do đó, nó yêu cầu một chút công cụ bổ sung
- Tải xuống và cài đặt Java 8 cho Mac. (https://www.java.com/en/download/)
- Tải xuống tool từ GitHub(https://github.com/pmd/pmd/releases)
- Giải nén và chạy lệnh trong Terminal: open /usr/local
- Sao chép thư mục lib từ folder đã giải nén vào thư mục lib của đường dẫn / usr / local /.
- Sao chép thư mục bin từ folder đã giải nén vào thư mục bin của đường dẫn / usr / local /. Lưu ý: Bạn nên thay đổi tên của tệp run.sh thành một cái gì đó có ý nghĩa hơn.
-
Sau các bước này, chúng ta có thể gõ run.sh (hoặc tên bạn đã chọn ở bước trên) để chạy tool.
2/ Sử dụng
Để sử dụng công cụ này, chúng ta cần điều hướng vào thư mục của dự án Swift của chúng ta.
Sau đó, chúng ta chạy lệnh sau:
run.sh cpd --minimum-tokens <N> --files . --language swift
--minimum-tokens và --files là bắt buộc. Về các parameter, các bạn có thể tìm hiểu thêm ở link sau https://pmd.github.io/latest/pmd_userdocs_cpd.html#cli-options-reference
C/ Tổng kết
Những công cụ này có thể được chạy 1-2 tháng một lần. Team có thể lên kế hoạch để dọn dẹp lại code, cải thiện khả năng tư duy, duy trì sự "sạch sẽ" trong code và cải thiện chất lượng của dự án.