Sonarqube là gì? Tính năng nổi bật của Sonarqube mang lại

0
58
Rate this post

Trong quá trình triển khai và phát triển phần mềm, việc kiểm tra code đóng vai trò quan trọng. Tuy nhiên, không phải lúc nào chúng ta cũng có đủ thời gian và kiên nhẫn để kiểm tra từng dòng code hay từng ký tự nhỏ trong code. Đây là lúc Sonarqube trở thành một cứu tinh cho nhóm phát triển bởi nó có thể thực hiện những điều mà code review không thể làm được.

Sonarqube là gì?

Sonarqube là một nền tảng mã nguồn mở được phát triển từ mười năm trước bởi SonarSource. Chức năng chính của nó là kiểm tra và review chất lượng code của dự án bằng cách phân tích code để phát hiện các đoạn code không tốt, code có lỗi hoặc lỗ hổng bảo mật.

Sonarqube được viết bằng ngôn ngữ Java, nhưng nó có thể hỗ trợ nhiều ngôn ngữ lập trình khác nhau như Ruby, PHP, Java, Javascript, C#, C/C++, Go, Kotlin, ABAP, VB6, Python, Swift, HTML, CSS, XML, PL/SQL, VB.NET, RPG, Flex, COBOL, Objective-C,… và cung cấp hỗ trợ database để lưu trữ các kết quả MySQL, Postgresql.

Ngoài ra, Sonarqube thông qua plugin SonarLint được tích hợp vào các công cụ phát triển như Visual Studio, Eclipse, IntelliJ IDEA và nhiều công cụ khác như Active Directory, LDAP, GitHup.

Sonarqube với mục đích kiểm tra liên tục chất lượng code

Lợi ích của Sonarqube

Sonarqube mang lại nhiều lợi ích cho quá trình phát triển phần mềm, bao gồm:

  • Kiểm tra chất lượng mã liên tục với các báo cáo chi tiết về kiểm tra đơn vị, tiêu chuẩn mã hóa, lỗ hổng bảo mật và độ phủ mã.
  • Dễ dàng kiểm tra hiệu quả của mã code và đưa ra gợi ý chỉnh sửa ngay khi phát hiện lỗi hoặc vi phạm các nguyên tắc chuẩn chung.
  • Hình thành thói quen cho lập trình viên và hạn chế lỗi trong quá trình code.
  • Giải quyết các vấn đề về quản lý chất lượng code, dirty code, code smell, technical debt hay lỗ hổng bảo mật trong dự án.
  • Hỗ trợ báo cáo duplicated code, unit tests, comments, code coverage,..
  • Phân tích mã tĩnh và xác minh chất lượng kỹ thuật của mã nguồn.

Ngoài các tính năng trên, Sonarqube còn có khả năng phát hiện bug, code smell và duplicate, tính toán chính xác mức độ bao phủ của Unit test và technical debt, cũng như so sánh chất lượng các dòng code với các lần kiểm tra trước.

Sonarqube giúp báo cáo chi tiết về các bài kiểm tra đơn vị

Tính năng nổi bật của Sonarqube

Sử dụng Sonarqube, bạn sẽ có những tính năng nổi bật sau:

  • Hỗ trợ nhà phát triển đảm bảo chất lượng mã nguồn dựa trên các quy tắc mặc định để phân tích mã.
  • Cung cấp quy tắc dựa trên các lỗi tiềm ẩn, mức độ phức tạp của mã, phạm vi kiểm tra và trùng lặp mã. Mức độ chất lượng của mã code phụ thuộc vào các quy tắc có sẵn.
  • Cung cấp cổng chất lượng để thiết lập giá trị tối đa và tối thiểu cho các số liệu chính. Ví dụ, xếp hạng bảo mật của dữ liệu không được kém hơn A hay mức độ phủ mã code phải trên 80%. Mức độ chất lượng và cổng chất lượng có thể được tuỳ chỉnh cho từng dự án.
  • Lưu trữ kết quả phân tích mã code trên cơ sở dữ liệu và cho phép người dùng truy cập vào kết quả đó qua giao diện web. Sonarqube có thể tích hợp vào đường ống CD/CI để hỗ trợ tự động hóa quy trình phát triển.
  • Hỗ trợ phân tích mã cho hơn 27 ngôn ngữ lập trình và có thể mở rộng dễ dàng thông qua việc sử dụng plugin.

Hướng dẫn sử dụng Sonarqube

Để cài đặt, cấu hình và sử dụng Sonarqube, bạn có thể làm theo hướng dẫn dưới đây:

  1. Đăng nhập vào địa chỉ sonarcloud.io/about/sq và lựa chọn nơi lưu trữ project cần kiểm tra, sử dụng github.
  2. Đăng nhập với tài khoản github để truy cập vào trang “Welcome to SonarCloud”.
  3. Chọn “All repository”, xác nhận đăng nhập với github và chọn gói free.
  4. Tiến hành setup bằng cách chọn “Analyze new project” và lựa chọn repository của project muốn kiểm tra. Bạn cần tạo trước một project java spring với maven và thực hiện theo hướng dẫn trên trang. Các lệnh hiển thị trong màu đen sẽ được chạy trong terminal của thư mục project.
  5. Sau khi terminal chạy xong, trang hướng dẫn sẽ refresh tự động và chuyển bạn đến trang thống kê.
  6. Bằng cách click vào từng phần, bạn có thể xem file lỗi và các dòng code có lỗi.

Trong một số trường hợp, bạn có thể thấy số bug hoặc code smell rất lớn. Đừng lo lắng, Sonarqube đánh giá các dòng code dựa trên tất cả ngôn ngữ và quy tắc mặc định có trong dự án. Bạn cũng có thể tuỳ chỉnh ngôn ngữ và các quy tắc này theo ý muốn.

Hi vọng rằng bài viết đã giúp bạn hiểu rõ hơn về Sonarqube và những tính năng, lợi ích của nền tảng này. Sử dụng Sonarqube, bạn sẽ tiết kiệm được thời gian kiểm tra code và đạt được những kết quả mong muốn. Nếu bạn có bất kỳ góp ý hoặc câu hỏi nào, hãy liên hệ với chúng tôi tại dnulib.edu.vn hoặc để lại ý kiến của bạn trong phần bình luận.