Mặc dù tôi luôn là người ủng hộ nhiệt thành các ứng dụng nguồn mở và miễn phí, nhưng thật khó để xem lại mã của mọi ứng dụng theo cách thủ công và tôi thường mong chờ các công cụ đánh giá mã.
Các công cụ này giúp bạn nhanh chóng phát hiện các thói quen lập trình kém, các thay đổi chính trong tính năng của một thành phần, các thành phần có nguy cơ cao, lỗi bảo mật, v.v. Hơn nữa, các công cụ này thường là các chỉ báo dựa trên GUI giúp bạn dễ hiểu mà không cần chuyên môn về ngôn ngữ lập trình đã nói . Như đã nói, không phải tất cả các ứng dụng đánh giá mã đều được thực hiện như nhau. Vì vậy, đây là công cụ rà soát mã tốt nhất cho cả cá nhân và doanh nghiệp.
Công cụ đánh giá mã tốt nhất
1. Gerrit
Gerrit là một công cụ đánh giá mã dựa trên web do Google phát triển và yêu cầu máy chủ JDK để chạy. Nó hoạt động đồng bộ với GitHub. Vì vậy, trước khi bạn đưa mã vào sản xuất, nó sẽ chuyển qua Gerrit nơi các đồng nghiệp của bạn có thể xem lại mã. Gerrit hỗ trợ đẩy một dự án thông qua các lệnh git sử dụng SSH hoặc HTTPS. Ví dụ: bạn muốn tải dự án của mình lên Gerrit để xem xét. Bạn có thể ssh máy chủ Gerrit của mình và sử dụng “git push” để tải các kho của bạn lên Gerrit.
Gerrit cũng cung cấp một bộ plugin như CodeMirror, Phabriactor để liên kết với các công cụ đánh giá mã khác và nhận các chức năng bổ sung.
Tổng quat:
- Tích hợp tốt với GitHub
- Hoạt động với các máy chủ SSH và HTTP được kích hoạt git
- Hỗ trợ các ngôn ngữ hạn chế như C, C ++,
Tải xuống Gerrit
2. RhodeCode
RhodeCode là một công cụ đánh giá mã ngang hàng khác như Gerrit hoạt động đồng bộ với GitHub. Tuy nhiên, nó cũng tích hợp tốt với Mercurial & Subversion. So với Gerrit, nó cung cấp một giao diện phong phú và trực quan hơn nhiều. Bạn có thể nhận xét nội tuyến và thực hiện các thay đổi với mã thông qua chính giao diện web RhodeCode. Không giống như các tiện ích mở rộng của Gerrit, RhodeCode cung cấp API JSON-RPC để bạn xây dựng các công cụ của bên thứ ba bằng cách sử dụng nó. Tính năng yêu thích nhất của tôi là thay đổi hình ảnh cung cấp cái nhìn toàn cảnh về những thay đổi trong quá trình phát triển và giúp theo dõi.
Ngoài ra, bạn cũng có các tính năng bảo mật như thông báo quy tắc kho lưu trữ. Nó thông báo cho quản trị viên về các hoạt động đáng ngờ trong repo. Bạn cũng có thể giới hạn quyền truy cập của repo đối với các dải IP nhất định.
Tổng quat:
- Công cụ đánh giá mã ngang hàng
- Trình chỉnh sửa nội tuyến trong giao diện web RhodeCode
- Các tùy chọn bảo mật để kiểm tra, ACL, lọc IP, v.v.
Tải xuống RhodeCode
3. Tìm lỗi bảo mật
Find Security Bugs, trái với tên gọi, là một plugin để tìm tất cả các loại lỗi trong mã của bạn. Nó có thể phát hiện thực hành mã xấu, tính đúng đắn, tắc nghẽn hiệu suất, lỗi bảo mật, mã lỗi, độ chính xác đa luồng, v.v. Plugin hoạt động đồng bộ với kho lưu trữ Trung tâm Maven. Tuy nhiên, nếu bạn sử dụng IDE. Nó có thể được sử dụng cục bộ cùng với Netbeans, Eclipse, IntelliJ, Jenkins và Sonar Qube. Ví dụ, tôi đang sử dụng Eclipse. Trên thị trường Eclipse, nó có sẵn dưới tên “SpotBugs”. Vì vậy, quá trình cài đặt khá dễ dàng và đơn giản.
Cảnh báo duy nhất với Spotbugs là nó chỉ hoạt động với mã Java và các ứng dụng Java EE.
Ngôn ngữ được hỗ trợ: Java, Java EE
Tổng quat:
-
- Hoạt động đồng bộ với kho lưu trữ trung tâm Maven
- Plugin cho Eclipse, Jenkins, Netbeans, v.v.
Tải xuống Find SecurityBugs
4. SearchDiggity
SearchDiggity là một dự án kết hợp các công cụ hack phổ biến như GoogleDiggity, BingDiggity, SHODAN Diggity, FlashDiggity, v.v. Nó chủ yếu là một công cụ để kiểm tra bảo mật ứng dụng web hoặc máy chủ ứng dụng của bạn. Nó sử dụng công cụ tìm kiếm Google, Bing và SHODAN để tấn công và xâm nhập vào trang web hoặc máy chủ của bạn. Nó sử dụng kết hợp các biểu thức chính quy trong các truy vấn tìm kiếm để làm rò rỉ dữ liệu. Ví dụ: SearchDiggity có thể kiểm tra xem khóa AWS của bạn có được lưu trữ dưới dạng văn bản thuần túy hay không hoặc nếu trang web của bạn đăng nhập dễ bị SQL Injection.
Đó là điều bắt buộc phải có nếu máy chủ web của bạn xử lý một lượng lớn lưu lượng truy cập web và lưu trữ nhiều dữ liệu.
Trong trường hợp bạn gặp lỗi “Đã phát hiện Google Bot, tạm dừng quét trong 15 phút”, bạn có thể thay đổi SearchDiggity để sử dụng API trả phí chính thức do Google, Bing và SHODAN cung cấp trong Trợ giúp> Nội dung.
Tổng quat:
- Khả năng kiểm tra SQL Injection, các cổng dễ bị tấn công trên máy chủ web của bạn
- Hoạt động bằng cách sử dụng công cụ tìm kiếm Google, Bing và SHODAN
- Công cụ chỉ dành cho Windows
Tải xuống SearchDiggity
5. Người pha chế
Phasionator là một bộ công cụ đánh giá mã web miễn phí. Đây là một ứng dụng LAMP (Linux, Apache, MySQL, PHP) được viết bằng PHP và giống như một công cụ kiểm tra và cộng tác giống như GitHub.
Bạn có thể dùng thử Phasionator trước khi cài đặt nó trên máy chủ LAMP của mình. Nó có một phiên bản web được lưu trữ được gọi là Phacility. Bạn có thể đồng bộ hóa trong kho mã GitHub hoặc SVN của mình với phiên bản này trực tiếp. Công cụ quan trọng nhất trong Phapterator là Differential. Nó hoạt động tương tự như GitHub commit. Khi một thay đổi được đẩy, nó sẽ thông báo cho tất cả người dùng để xem xét thay đổi. Nó trình bày toàn bộ các thay đổi và mã. Sau khi được phê duyệt, thay đổi được chấp thuận và có thể được đưa vào sản xuất.
Ngôn ngữ được hỗ trợ: NA
Tổng quat:
- Máy chủ LAMP
- Cộng tác và xem xét các thay đổi trong mã với những người dùng khác
- Kiểm tra các hành động của người dùng trên máy chủ web
- Không hoạt động trên máy Windows
6. Trình kiểm tra ứng dụng MS
Microsoft gần đây đã tung ra công cụ rà soát mã của mình có tên là Application Inspector. Theo Microsoft, công cụ này được xây dựng để phân tích phần mềm mã nguồn mở và những gì mà mã, thư viện thực hiện. Để sử dụng Trình kiểm tra ứng dụng, bạn sẽ phải cài đặt gói “dotnet-sdk”. Nó xuất báo cáo dưới dạng tệp HTML. Tôi đã thử nó trên ứng dụng mail Nylas và bản tóm tắt báo cáo khá ngắn gọn.
Bản trình bày được chia nhỏ và phân loại các tính năng phần mềm, giao thức được sử dụng, API được gọi, v.v. Ví dụ: về mặt lưu trữ dữ liệu, thư Nylas sử dụng SQL và một chút NoSQL cho dịch vụ nhắn tin đám mây PubSub. Tôi chỉ cần nhấp vào Lưu trữ dữ liệu và nút “Xem” bên cạnh Chi tiết. Nó sẽ hiển thị cho bạn các quy tắc liên quan ở bên phải và khi nhấp vào nó, bạn sẽ nhận được đánh giá mã trong cửa sổ bật lên. Việc chuyển và xem lại mã khá dễ dàng và nhanh chóng.
Ngôn ngữ được hỗ trợ: C, C ++, C #, Java, JavaScript, HTML, Python, Objective-C, Go, Ruby, PowerShell, (API) AWS, Azure.
Tổng quat:
- Báo cáo ngắn gọn, dễ liên kết và đánh giá mã
- Hỗ trợ một số ngôn ngữ
Tải xuống Trình kiểm tra ứng dụng MS
Lời kết
Tôi sử dụng Trình kiểm tra ứng dụng của Microsoft do cách tiếp cận vừa chạy vừa bắn của ứng dụng. Nó được hỗ trợ rất nhiều ngôn ngữ và cung cấp một ý tưởng khá tốt về mã. Trong trường hợp bạn có máy chủ web chuyên dụng của riêng mình, Gerrit hoặc Phabricator là một lựa chọn thay thế tốt cho GitHub. Đối với các vấn đề hoặc thắc mắc khác, hãy cho tôi biết trong phần bình luận bên dưới.
Cũng đọc:7 Ban Phát triển Tốt nhất để Thực hiện Dự án Tự làm Đầu tiên của Bạn