- vừa được xem lúc

Tìm hiểu về Sonarqube

0 0 30

Người đăng: Phan Dang Hai Vu

Theo Viblo Asia

Tìm hiểu về Sonarqube

Sonarqube là gì?

Được phát triển bởi 10 năm trước bởi SonarSource, sonarqube là một platform mã nguồn mở giúp chúng ta có thể kiểm tra chất lượng code của dự án, được viết bằng java nhưng nó hổ trợ nhiều ngôn ngữ khác nhau: PHP, Ruby, Java (bao gồm cả Android), C#, JavaScript, TypeScript, C/C++, Kotlin, Go, COBOL, PL/SQL, PL/I, ABAP, VB.NET, VB6, Python, RPG, Flex, Objective-C, Swift, CSS, HTML, và XML và hỗ trợ các database để lưu trữ kết quả: MySql, Postgresql.

Tại sao nên sử dụng Sonarqube?

Như các bạn đã biết, code review là một phần không thể thiếu trong quá trình phát triển phần mềm khi làm viêc với nhóm. Tuy nhiên, không phải lúc nào người review của bạn cũng rảnh hoặc kiên nhẫn đễ đọc từng dòng code, từng ký tự trong code của bạn, nhưng Sonarqube thì có thể làm điều này, Sonarqube sẽ quét tất cả code có trong dự án của bạn và đánh giá code dựa theo các coding standard tương ứng của tất cả ngôn ngữ có trong dự án. Ngoài ra Sonarqube có thể làm nhiều hơn là code convention:

  • Phát hiện bug
  • Phát hiện code smell, duplicate
  • Tính toán độ bao phủ của Unit test (Unit-test coverage)
  • Tính toán technical debt
  • So sánh chất lượng code so với các lần kiểm tra trước
  • Vân vân và mây mây...

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

Bài viết này mục đích là để tìm hiểu sơ qua về Sonarqube nên mình sẽ dùng bản online của Sonarqube , Mình sẽ viết một bài khác để hướng dẫn sâu hơn cài đặt cấu hình các kiểu con đà điểu trên máy...

  • Truy cập vào sonarcloud.io/about/sq , bạn có thể chọn đăng nhập với nơi lưu trữ project cần test cảu bạn (git hay bitbucket), ở đây mình sử dụng github là nơi lưu trữ project để test.

-Sau đó đăng nhập với github, khi hoàn tất chúng ta sẽ được chuyển đến trang này

-Chọn all repository, xác nhận đăng nhập với github và chọn free plan, sau đó bạn sẽ được chuyển tiếp đến trang quảng lý project

-Click Analyze new project, chọn repository của project mà bạn muốn test và set up, ở đây mình đã tạo trước một project java spring với maven và làm theo các bước của trang hướng dẫn, các bạn mở terminal trong thư mục của project và chạy các lệnh trong phần màu đen nhé

  • Khi chạy xong terminal sẽ thông báo kết quả như sau

  • Sau đó trang hướng dẫn sẽ tự động refresh và chuyển bạn đến trang thống kê như hình dưới

  • Các bạn có thể xem các lỗi của mình ở file nào và dòng code nào bằng cách click vào phần muốn xem

Đôi khi các bạn sẽ thấy con số bug hay code smell rất "Khủng khiếp" ví dụ như hình dưới, nhưng đừng lo vì Sonarqube đánh giá dựa trên tất cả ngôn ngữ có trong dự án và các quy tắt mặc định, bạn có thể tùy chỉnh các ngôn ngữ cũng như các quy tắc này

Lời kết

Ngoài ra Sonarqube còn có thể tích hợp với các platform khác như Jenkins để kiểm tra liên tục (Continuous Inspection), mình sẽ hướng dẫn tiếp vào các phần sau. Đây là lần đầu mình viết bài nên có nhiều thiếu xót, mong các bạn cứ góp ý dưới phần comment giúp mình nhé. Cám ơn các bạn đã quan tâm và hẹn gặp lại các bạn trong các bài viết tiếp theo nhé ^_^

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

0 0 500

- vừa được xem lúc

Cài đặt WSL / WSL2 trên Windows 10 để code như trên Ubuntu

Sau vài ba năm mình chuyển qua code trên Ubuntu thì thật không thể phủ nhận rằng mình đã yêu em nó. Cá nhân mình sử dụng Ubuntu để code web thì thật là tuyệt vời.

0 0 374

- vừa được xem lúc

Đặt tên commit message sao cho "tình nghĩa anh em chắc chắn bền lâu"????

. Lời mở đầu. .

1 1 701

- vừa được xem lúc

Tìm hiểu về Resource Controller trong Laravel

Giới thiệu. Trong laravel, việc sử dụng các route post, get, group để gọi đến 1 action của Controller đã là quá quen đối với các bạn sử dụng framework này.

0 0 335

- vừa được xem lúc

Phân quyền đơn giản với package Laravel permission

Như các bạn đã biết, phân quyền trong một ứng dụng là một phần không thể thiếu trong việc phát triển phần mềm, dù đó là ứng dụng web hay là mobile. Vậy nên, hôm nay mình sẽ giới thiệu một package có thể giúp các bạn phân quyền nhanh và đơn giản trong một website được viết bằng PHP với framework là L

0 0 421

- vừa được xem lúc

Bạn đã biết các tips này khi làm việc với chuỗi trong JavaScript chưa ?

Hi xin chào các bạn, tiếp tục chuỗi chủ đề về cái thằng JavaScript này, hôm nay mình sẽ giới thiệu cho các bạn một số thủ thuật hay ho khi làm việc với chuỗi trong JavaScript có thể bạn đã hoặc chưa từng dùng. Cụ thể như nào thì hãy cùng mình tìm hiểu trong bài viết này nhé (go).

0 0 414