Chuyển đến nội dung
tinAI
Quay lại

Slopo: phát hiện code trùng lặp không y hệt bằng embedding

Bản dịch tiếng Việt của tinAI · Từ Embedding-based code duplication detector (github.com) · Ngày gốc: · Dịch ngày:

Bài gốc: Embedding-based code duplication detector (github.com)

Tác giả: rafal-qa

Ngày đăng: Dịch ngày:

TL;DR

Slopo là CLI dùng embedding để tìm các đoạn code gần giống nhau nhưng không phải copy-paste chính xác. Nó tạo cluster để con người hoặc AI coding agent review tiếp, phù hợp cho repo lớn có duplication rải rác qua nhiều module.

Ước tính đọc: 2 phút

Giới thiệu

Slopo là CLI phát hiện code duplication không y hệt bằng embedding models. Nó không chỉ tìm copy-paste chính xác, mà tập trung vào các đoạn code có cấu trúc hoặc ý định gần giống nhau nhưng nằm xa nhau trong codebase.

Cách tiếp cận này hợp với những repo đã sống lâu, nơi logic bị lặp lại qua nhiều module, nhiều ngôn ngữ hoặc nhiều lần refactor nửa chừng.

Tính năng chính

Slopo không khẳng định mọi cluster đều là duplication cần refactor. Nó đưa ra danh sách nghi vấn để con người hoặc AI coding agent kiểm tra tiếp.

Cách sử dụng

Cài bằng uv:

uv tool install slopo

Khởi tạo config:

slopo init

Sau đó chạy pipeline phân tích:

slopo index
slopo embed
slopo analyze

Report tạo ra có thể được đưa cho AI coding agent để lọc false positive, thêm hash vào slopo.ignore.txt, rồi đề xuất refactor cho các cluster thật sự trùng lặp.

Ý nghĩa với Dev

Dev nên quan tâm vì duplication “gần giống nhưng không giống hệt” là thứ review thủ công rất dễ bỏ sót. Với agentic coding, Slopo còn đóng vai trò như một bước chuẩn bị context: thay vì bảo agent “dọn duplication trong repo”, bạn đưa cho nó cluster cụ thể, có ranking và có lịch sử ignore.

Điểm cần cân nhắc là chi phí embedding. Với repo lớn, hãy bắt đầu bằng thư mục hẹp, threshold chặt và model embedding chuyên cho code trước khi quét toàn bộ monorepo.


Đường dẫn nguồn

tinAI dịch bài này sang tiếng Việt từ Embedding-based code duplication detector (github.com) · Loại nguồn: GitHub và giữ bối cảnh từ bản tin tinAI đã giới thiệu bài này .

Bản tin này có 3 bài dịch liên quan từ cùng bản tin.