Chính xác thì sonarQube khác với SonarLint như thế nào? SonarQube có một máy chủ được liên kết với nó và Sonar lint hoạt động giống như một plugin hơn. Nhưng sự khác biệt cụ thể của chúng là gì?
Chính xác thì sonarQube khác với SonarLint như thế nào? SonarQube có một máy chủ được liên kết với nó và Sonar lint hoạt động giống như một plugin hơn. Nhưng sự khác biệt cụ thể của chúng là gì?
Câu trả lời:
SonarLint chỉ tồn tại trong IDE (IntelliJ, Eclipse và Visual Studio). Mục đích của nó là cung cấp phản hồi tức thời khi bạn nhập mã của mình. Đối với điều này, nó tập trung vào mã bạn đang thêm hoặc cập nhật.
SonarQube là một máy chủ trung tâm xử lý các phân tích đầy đủ (được kích hoạt bởi các Máy quét SonarQube khác nhau). Mục đích của nó là cung cấp tầm nhìn 360 ° về chất lượng của cơ sở mã của bạn. Đối với điều này, nó phân tích tất cả các dòng nguồn của dự án của bạn một cách thường xuyên.
Cả SonarLint và SonarQube đều dựa trên cùng một bộ phân tích mã nguồn tĩnh - hầu hết chúng được viết bằng công nghệ SonarSource.
Cần phải nói thêm rằng SonarQube cũng thực hiện quét với các bộ phân tích của bên thứ 3 (findBugs, checkstyle, PMD) trong khi SonarLint không bao gồm những công cụ đó. Tôi nghĩ lý do là ưu tiên hiệu suất và findBugs dựa trên mã byte java.
Do đó, phát hiện của bạn trong SonarQube và SonarLint có thể khác nhau, nếu cấu hình chất lượng cơ bản sử dụng máy quét của bên thứ ba.
SonarQube là một máy chủ nơi bạn có thể lưu trữ các dự án của mình và thực hiện phân tích, trong khi SonarLint là một tác nhân cho phép chúng tôi kết nối với SonarQube này và thực hiện phân tích từ xa. SonarLint có thể được sử dụng với IDE hoặc cũng có thể được thực thi thông qua các lệnh CLI.
SonarLint chứa bộ quy tắc mặc định của riêng nó nhưng khi kết nối với SonarQube, người dùng có thể nhập các quy tắc từ SonarQube, thực tế không chỉ là một bộ quy tắc tiêu chuẩn. Chúng tôi có thể tích hợp PDM, CodeStyle và nhiều trình kiểm tra khác trên SonarQube và tạo các quy tắc tùy chỉnh.
Hai sự thật tôi muốn đề cập mà tôi rút ra được từ kinh nghiệm của mình, SonarLint sẽ không kế thừa các quy tắc tùy chỉnh đó từ SonarQube, thứ hai là Sonar không hoạt động trên các lớp Thử nghiệm.
Sonarqube chạy các dũng cảm quy tắc trên máy chủ Chúng tôi đã tích hợp nó vào các bản dựng TFS của chúng tôi. SonarLint chạy trong IDE nên trước khi cam kết mã của mình, tôi biết dòng nào đang vi phạm quy tắc nào bên trong IDE.