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

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

Trong quá trình triển khai và phát triển phần mềm, code review là một phần quan trọng không thể thiếu bởi chức năng của họ chính là đọc code khi làm việc nhóm. Tuy nhiên, không phải code review nào cũng có đủ kiên nhẫn và thời gian để kiểm tra từng dòng code hay từng ký tự nhỏ trong dòng code. Lúc này, sự xuất hiện của Sonarqube chính là vị cứu tinh của các nhóm dự án bởi nó có thể thực hiện những điều mà một code review không thể thực hiện. 

Vậy bạn đã hiểu rõ Sonarqube là gì chưa? Nếu bạn thắc mắc và muốn tìm lời giải đáp cho câu hỏi trên thì bài viết mà Bizfly Cloud chia sẻ dưới đây chính xác là dành cho bạn.

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 với mục đích kiểm tra liên tục chất lượng code, review 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 lỗi hay những lỗ hổng bảo mật. Ngoài ra:

  • Sonarqube được viết bằng ngôn ngữ Java nhưng nó có thể hỗ trợ vô số các 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à hỗ trợ các database giúp các kết quả MySQL, Postgresql được lưu trữ.
  • Sonarqube thông qua plugin SonarLint được tích hợp vào các công cụ phát triển 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

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

Lợi ích của Sonarqube 

Nói về lợi ích của Sonarqube, nó có khả năng quét tất cả các dòng code có trong dự án của bạn và dựa trên các coding standard tương ứng để đánh giá code của mọi ngôn ngữ trong dự án.

  • Công cụ mã nguồn mở Sonarqube giúp bạn có thể kiểm tra chất lượng mã một cách liên tục với các báo cáo chi tiết về các bài kiểm tra đơn vị, tiêu chuẩn mã hoá, lỗ hổng bảo mật, độ phủ mã.
  • Không chỉ có vậy, đây là công cụ giúp các lập trình viên có thể dễ dàng kiểm tra mức độ hiệu quả của mã code để nhanh chóng cảnh báo và đưa ra gợi ý chỉnh sửa ngay khi phát hiện lỗi vi phạm hay nguy cơ vi phạm những nguyên tắc chuẩn chung.
  • Sonarqube giúp hình thành thói quen cho các lập trình viên và hạn chế tối đa các lỗi có thể xảy ra trong quá trình code.
  • Sonarqube giúp giải quyết các vấn đề về quản lý chất lượng code, dirty code, code smell, technical debt hay những lỗ hổng bảo mật cho các dự án nhất là khi dự án đó có sự tham gia của đông đảo các thành viên với các trình độ, kinh nghiệm khác nhau.
  • Sonarqube hỗ trợ báo cáo duplicated code, unit tests, comments, code coverage,...
  • Nền tảng SonarSource có khả năng phân tích mã tĩnh và xác minh một cách chính xác chất lượng kỹ thuật của một mã nguồn.

Ngoài ra, so với code convention, Sonarqube có thể mang lại nhiều lợi ích cho bạn như:

  • Khả năng phát hiện bug.
  • Khả năng phát hiện code smell và duplicate.
  • Tính toán chính xác mức độ bao phủ của Unit test và technical debt.
  • So sánh chất lượng của các dòng code với những lần kiểm tra code trước.
Sonarqube giúp báo cáo chi tiết về các bài kiểm tra đơn vị

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 

Khi sử dụng Sonarqube, bạn sẽ nhận được những tính năng nổi bật như sau:

  • Sonarqube hỗ trợ các nhà phát triển trong việc đảm bảo chất lượng mã của họ bằng cách dựa trên những quy tắc mặc định để phân tích mã nguồn.
  • Các quy tắc được đưa ra 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, trùng lặp mã,.. Mức độ chất lượng của mã code sẽ phụ thuộc vào các quy tắc có sẵn.
  • Cổng chất lượng được sử dụng để thiết lập các giá trị tối đa và tối thiểu cho các số liệu chính. Chẳng hạn, 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 chỉ định tuỳ biến cho từng dự án khác nhau.
  • Kết quả phân tích mã code sẽ được lưu trữ trên cơ sở dữ liệu. Người dùng có thể thông qua giao diện web để truy cập vào kết quả đó. Sonarqube được tích hợp vào đường ống CD/CI sẽ giúp hỗ trợ quá trình phát triển một cách tự động.
  • Sonarqube hỗ trợ hơn 27 ngôn ngữ lập trình trong việc phân tích mã. Với cấu trúc mô đun, công cụ phân tích dễ dàng được mở rộng bằng cách sử dụng plugin.

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

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

  • Bạn có thể chọn đăng nhập với nơi lưu trữ project cần kiểm tra của bạn bằng cách truy cập vào sonarcloud.io/about/sq. Tại trang này, bạn có thể lưu trữ project bằng cách sử dụng github.
  • Tiếp theo, bạn cần đăng nhập với github để được chuyển đến trang "Welcome to SonarCloud" ngay khi hoàn tất.
  • Chọn All repository, xác nhận việc đăng nhập với github và lựa chọn free plan. Ngay sau đó, bạn sẽ được chuyển tiếp sang trang quản lý project.
  • Chọn Analyze new project để lựa chọn repository của project mà bạn muốn kiểm tra và thực hiện set up. Tại đây, bạn cần tạo trước một project java spring với maven và thực hiện các bước theo đúng hướng dẫn của trang. Bạn chỉ cần mở terminal trong thư mục của project và chạy các lệnh hiển thị trong phần màu đen.
  • Khi chạy xong terminal bạn sẽ nhận được một thông báo kết quả. Ngay sau đó, trang hướng dẫn sẽ refresh tự động và chuyển bạn đến trang thống kê.
  • Bằng cách click vào những phần mong muốn, bạn có thể xem xét được các file lỗi hay các dòng code lỗi.

Trong nhiều trường hợp, bạn có thể thấy được con số bug hay code smell rất lớn nhưng bạn không cần quá lo lắng bởi Sonarqube sẽ đánh giá các dòng code dựa trên tất cả mọi ngôn ngữ và quy tắc mặc định có trong dự án và bạn có thể tuỳ chỉnh các ngôn ngữ cũng như các quy tắc mặc định này.

Tìm hiểu Sonarqube là gì cũng như những thông tin liên quan khác trong bài viết mà Bizfly Cloud chia sẻ chắc chắn đã giúp bạn giải quyết được vấn đề mà bạn thắc mắc ngay từ đầu bài viết. Với những tiện ích nói trên, hy vọng, bạn sẽ tiết kiệm được tối đa thời gian kiểm tra dòng code và đạt được những kết quả mong muốn. Nếu bạn muốn góp ý thêm cho bài viết hay có câu hỏi nào khác thì bạn có thể liên hệ với Bizfly Cloud hoặc để lại ý kiến của mình trong phần bình luận nhé!

BizFly Cloud là nhà cung cấp dịch vụ điện toán đám mây với chi phí thấp, được vận hành bởi VCCorp.

BizFly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch thúc đẩy chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT; đáp ứng đầy đủ toàn bộ tiêu chí, chỉ tiêu kỹ thuật của nền tảng điện toán đám mây phục vụ Chính phủ điện tử/chính quyền điện tử.

Độc giả quan tâm đến các giải pháp của BizFly Cloud có thể truy cập tại đây.

DÙNG THỬ MIỄN PHÍ và NHẬN ƯU ĐÃI 3 THÁNG tại: Manage.bizflycloud

TAGS: Sonarqube
SHARE