Bắt lỗi gõ nhầm trong cấu hình
API_TIMEOUT=3000API_TIMEOUT=30000Thêm một số 0 biến timeout 3 giây thành 30 giây. Diff checker phát hiện điều này trong vài giây, còn nhìn bằng mắt hai tệp .env thì rất dễ bỏ sót.
So sánh hai khối văn bản hoặc code cạnh nhau, khác biệt theo dòng và theo từ.
Cập nhật lần cuối
Coddy dạy bạn bằng cách viết code thật ngay trên trình duyệt: bài học tương tác, phản hồi tức thì và AI hỗ trợ khi bạn bị kẹt.
Diff checker so sánh hai đoạn văn bản hoặc code và làm nổi bật những gì được thêm, xóa hay sửa. Lập trình viên dùng diff liên tục: review code, gỡ lỗi khi cấu hình thay đổi, so sánh response của API, kiểm tra migration và hiểu rõ các chỉnh sửa trước khi commit.
Đọc diff là kỹ năng cốt lõi của lập trình viên. Nó giúp tách *thay đổi hành vi thật sự* khỏi việc định dạng lại vô hại và giúp bạn phát hiện một ký tự bị sửa trong khối 200 dòng. Khi đã quen nhịp xanh / đỏ / vàng, việc review code sẽ nhanh hơn nhiều.
Hai kiểu diff quan trọng nhất là *diff theo dòng* (dòng nào thay đổi) và *diff theo từ* hay *diff theo ký tự* (cái gì thay đổi bên trong một dòng). Một công cụ diff tốt cho bạn chuyển qua lại giữa hai kiểu, tùy bạn đang so sánh mã nguồn hay các đoạn văn.
Đặt văn bản gốc ở bên trái và phiên bản mới ở bên phải. Code, JSON, văn xuôi, tệp cấu hình, gì cũng được.
Dùng diff theo dòng cho mã nguồn hoặc dữ liệu có cấu trúc. Chuyển sang diff theo từ khi so sánh các đoạn văn, nơi cách dùng từ mới là điều quan trọng.
Bật *bỏ qua khoảng trắng* nếu bạn chỉ quan tâm đến thay đổi có ý nghĩa; bật *bỏ qua hoa thường* khi so sánh log hoặc văn bản mà chữ hoa, chữ thường không quan trọng.
Nội dung bị xóa hiện màu đỏ ở bên trái; nội dung được thêm hiện màu xanh ở bên phải. Dòng bị sửa thường hiện thành một cặp, mỗi bên một dòng, đặt cạnh nhau.
Sửa bên nào cũng được và xem diff cập nhật trực tiếp. Cách này rất hợp để soạn một bản patch gọn gàng trước khi mở pull request.
Các quy ước mà diff checker của Coddy dùng, cũng giống git diff, GitHub và hầu hết các trình xem diff khác.
| Ký hiệu | Ý nghĩa | Hiển thị ở đâu |
|---|---|---|
Đỏ / - | Dòng bị xóa khỏi bản gốc | Khung bên trái |
Xanh / + | Dòng được thêm vào bản mới | Khung bên phải |
| Vàng / cả hai | Dòng bị sửa: thay đổi một phần bên trong dòng | Cả hai khung |
| Không màu | Dòng không đổi: giống nhau ở cả hai phiên bản | Cả hai khung |
@@ ... @@ | Tiêu đề hunk của git diff: số dòng | Kết quả git diff trong terminal |
| Diff theo từ | Thay đổi ở mức ký tự hoặc từ bên trong một dòng bị sửa | Được tô sáng trong dòng màu vàng |
API_TIMEOUT=3000API_TIMEOUT=30000Thêm một số 0 biến timeout 3 giây thành 30 giây. Diff checker phát hiện điều này trong vài giây, còn nhìn bằng mắt hai tệp .env thì rất dễ bỏ sót.
Vui lòng login để tiếp tục.
Vui lòng đăng nhập để tiếp tục.
Diff theo từ làm nổi bật "login" → "đăng nhập", giống như với câu tiếng Anh nó làm nổi bật login → log in. Diff theo dòng chỉ cho thấy cả dòng đã thay đổi; diff theo từ tách riêng đúng chỗ đã sửa.
{ "id": 42, "status": "draft", "published": false}{ "id": 42, "status": "published", "published": true}Diff cho thấy rõ hai trường liên quan đã thay đổi cùng nhau. Đây là cách nhanh nhất để xác nhận một lệnh gọi API thay đổi trạng thái đã làm đúng việc của nó.
function total(items) { let sum = 0; for (const i of items) sum += i.price; return sum;}function total(items) { return items.reduce((sum, i) => sum + i.price, 0);}So sánh code online như thế này là cách nhanh nhất để review một lần refactor: diff theo dòng cho thấy vòng lặp kiểu mệnh lệnh đã bị xóa và phiên bản dùng reduce được thêm vào, nên bạn có thể xác nhận hành vi tương đương trước khi commit.
@@ -1,4 +1,4 @@ function greet(name) {- return 'Hi ' + name;+ return `Hi ${name}`; }git diff cũng dùng logic màu như vậy: dòng bắt đầu bằng - (đỏ) bị xóa, + (xanh) được thêm, còn @@ ... @@ là tiêu đề hunk cho biết khoảng dòng. Dán nguyên kết quả git diff để đọc nó trong hai khung cạnh nhau có tô màu cú pháp.
Ctrl+F tìm trường bạn quan tâm.Không khác gì cả: đó là hai tên gọi của cùng một công cụ. Cả hai đều so sánh hai đoạn văn bản và làm nổi bật những gì được thêm, xóa hay sửa.
Có. Diff văn bản dùng được cho code, JSON, SQL, Markdown, YAML, tệp cấu hình và văn bản thường. Chế độ diff theo dòng đặc biệt hữu ích khi review mã nguồn.
git diff, màn hình pull request và khung so sánh trong IDE đều dựa trên cùng một ý tưởng.Chỉ khi khoảng trắng không quan trọng với loại tệp đó. Trong Python, YAML và Markdown, khoảng trắng có ý nghĩa và cần được so sánh. Với hầu hết code khác, bỏ qua khoảng trắng giúp diff gọn hơn.
Có. Việc so sánh chạy hoàn toàn trong trình duyệt. Văn bản của bạn không được tải lên hay lưu lại, nên bạn có thể yên tâm dùng với code nội bộ, cấu hình và dữ liệu mẫu của khách hàng.
Dán hai phiên bản code vào khung bên trái và bên phải, công cụ sẽ làm nổi bật khác biệt ngay lập tức: dòng bị xóa màu đỏ, dòng được thêm màu xanh, và thay đổi ở mức từ bên trong các dòng bị sửa. Công cụ dùng được cho mọi ngôn ngữ (JavaScript, Python, Java, SQL, JSON, YAML) vì nó so sánh trực tiếp văn bản. Không cần tải lên, không cần đăng ký: việc so sánh chạy trong trình duyệt.
git diff và GitHub, nhưng cho bất kỳ hai đoạn nào bạn dán vào, không cần repository.Được. Mở từng tệp, sao chép nội dung vào mỗi bên của phần so sánh, và diff sẽ làm nổi bật mọi dòng khác nhau. Dùng chế độ diff theo dòng cho code và dữ liệu có cấu trúc, và bật *bỏ qua khoảng trắng* nếu những thay đổi chỉ về định dạng gây nhiễu.