SonarQube – Công cụ hữu ích cho lập trình viên

Lập trình là một công việc đòi hòi bạn không những phải biết về ngôn ngữ lập trình, giải thuật mà còn phải hết sức cẩn thận để tránh các lỗi lập trình đặc biệt về lỗ hổng bảo mật. Nhằm giúp các lập trình viên khắc phục lỗi (nếu có) và giúp bạn cải thiện kỹ năng lập trình.

Sau đây VniTeach sẽ giới thiệu về công cụ SonarQube rất hữu ích cho lập trình viên.

SonarQube là gì?

SonarQube là một nền tảng mã nguồn mở được phát triển bởi SonarSource nhằm kiểm tra liên tục chất lượng mã để thực hiện đánh giá tự động với phân tích tĩnh mã để phát hiện lỗi và hỗ trợ trên 29 ngôn ngữ lập trình.

Lợi ích của Sonarqube 

Sonarqube 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.

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

  • 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 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 https://www.sonarsource.com/products/sonarcloud/signup. 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.

Chúc bạn thành công nhé!

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *