RepositoryJavaUSHoa Kỳ
GO

google/error-prone

Catch common Java mistakes as compile-time errors

7.3ksao
826fork
442issue
1lượt xem

Thành tựu nổi bật

Những danh hiệu mới nhất của dự án

10
TINIX TRENDING·Chủ đề: static-analysis

#10 Repository Của Tuần

🛡️ Error Prone - Bắt lỗi Java ngay khi biên dịch, trước khi chạy

Error Prone chuyển các lỗi lập trình thường gặp thành lỗi biên dịch thực sự, giúp phát hiện sớm như thế nào s.remove(i - 1) gây lỗi với tập hợp Set<Short>.

Error Prone là một công cụ phân tích tĩnh (static analysis) cho ngôn ngữ Java, do Google phát triển. Thay vì chờ đến thời gian chạy, Error Prone sẽ báo lỗi ngay trong quá trình biên dịch, giúp lập trình viên tránh được những sai lầm phổ biến như trùng khớp kiểu dữ liệu, gọi hàm sai tham số, hoặc các lỗi logic tiềm ẩn.

Ví dụ minh họa trong README cho thấy cách Error Prone phát hiện lỗi CollectionIncompatibleType khi truyền giá trị int vào phương thức remove của Set<Short> — một lỗi dễ gây lỗi thời gian chạy nếu không được kiểm tra.

✨ Điểm nổi bật

  • Phân tích tĩnh tích hợp trình biên dịch: Error Prone hoạt động như một plugin cho trình biên dịch Java (javac), phân tích mã nguồn trong quá trình biên dịch.
  • Bắt lỗi thời gian biên dịch: Các lỗi thường chỉ phát hiện khi chạy chương trình được chuyển thành lỗi biên dịch, tránh lỗi thời gian chạy.
  • Hỗ trợ nhiều công cụ build: Tích hợp dễ dàng với Bazel, Maven, Ant và Gradle.
  • Cơ chế plugin mở rộng: Hỗ trợ thêm các quy tắc kiểm tra tùy chỉnh thông qua hệ thống plugin.
  • Cơ sở dữ liệu lỗi lớn: Cung cấp hàng trăm kịch bản kiểm tra đã được xây dựng sẵn (bug patterns).
  • Tài liệu chi tiết: Trang web errorprone.info cung cấp tài liệu cài đặt và sử dụng đầy đủ.

💡 Vì sao đáng chú ý

Error Prone khác biệt từ các công cụ phân tích tĩnh khác ở chỗ nó ngắn mằng hai với trình biên dịch Java, đưa việc kiểm tra mã nguồn trở thành một phần không thể tách rời của quá trình biên dịch. Thay vì chạy như một bước độc lập sau này, Error Prone can thiệp ngay khi mã được biên dịch, giúp giảm thiểu thời gian phát hiện lỗi và tăng độ tin cậy của code.

Đây là công cụ rất hữu ích cho các dự án Java lớn, nơi việc duy trì chất lượng code và tránh các lỗi ngẫu nhiên trong quá trình phát triển là yếu tố then chốt.


#Java #StaticAnalysis #ErrorProne #GoogleOpenSource #TiniX

Dự án tương tự

Khám phá các dự án và mô hình AI khác có sự tương đồng.

RepositoryTypeScript
morluto/rea

Reverse engineer anything with agents, from app behavior down to native binaries.

390.1k
Oct 26, 2026
Repository
CyC2018/CS-Notes

:books: 技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计

186.3k
Aug 21, 2024
RepositoryJavaScript
Snailclimb/JavaGuide

Java 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发

159.2k
Oct 16, 2026
RepositoryMarkdown
DigitalPlatDev/FreeDomain

Free domain registration and practical DNS learning resources for everyone.

205.9k
Aug 12, 2026
RepositoryPython
yt-dlp/yt-dlp

A feature-rich command-line audio/video downloader

202.5k
Oct 23, 2026
Repository
getify/You-Dont-Know-JS

A book series (2 published editions) on the JS language.

184.8k
Feb 15, 2026
RepositoryPython
521xueweihan/HelloGitHub

:octocat: 分享 GitHub 上有趣、入门级的开源项目。Share interesting, entry-level open source projects on GitHub.

184.7k
Sep 28, 2026
RepositoryJava
iluwatar/java-design-patterns

Design patterns implemented in Java

94.8k
Oct 8, 2026
RepositoryJava
spring-projects/spring-boot

Spring Boot helps you to create Spring-powered, production-grade applications and services with absolute minimum fuss.

81.8k
Oct 23, 2026