<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何提高代碼質量,推薦 7 個頂級靜態(tài)代碼分析工具

          共 3095字,需瀏覽 7分鐘

           ·

          2021-03-03 12:23


          作者 | Saif Sadiq
          翻譯 | 王者

          靜態(tài)代碼分析或源代碼分析是指使用靜態(tài)代碼分析工具對軟件的“靜態(tài)”(不運行的) 代碼進行分析的一種方法,找出代碼中潛在的漏洞。靜態(tài)代碼分析器檢查源代碼,找出特定的漏洞,并檢查代碼是否符合各種編碼標準。

          為什么要進行靜態(tài)代碼分析?

          • 在執(zhí)行代碼之前獲取代碼洞見;

          • 與動態(tài)分析相比,執(zhí)行速度更快;

          • 可以對代碼質量維護進行自動化;

          • 在早期階段 (盡管不是所有階段) 可以自動檢索 bug;

          • 在早期階段可以自動發(fā)現安全問題;

          • 如果你在使用帶有靜態(tài)分析器的 IDE(例如遵循 PEP8 的 Pycharm),那你已經在“船”上了。

          在知道了什么是靜態(tài)代碼分析之后,接下來就有必要了解一下市場上有哪些好用的靜態(tài)代碼分析工具。廢話不多說,讓我們來看看現在比較流行的靜態(tài)代碼分析工具。

          DeepSource


          DeepSource 可以幫你在代碼評審期間自動發(fā)現并修復代碼中的問題。它可以與 Bitbucket、GitHub 或 GitLab 帳戶集成。這個工具可以找出反模式、bug 風險、性能問題。DeepSource 還會生成并跟蹤各種指標(例如依賴項計數、文檔覆蓋率等)。分析器先發(fā)現文件級別的問題 (如在特定位置發(fā)現反模式),并進一步發(fā)現代碼庫級別的問題 (如發(fā)現有些依賴項沒有安裝)。DeepSource Autofix 會為檢測到的問題提出修復建議,并創(chuàng)建一個修復的拉取請求。


          https://deepsource.io


          關鍵特性


          • 單個文件配置;

          • 對拉取請求進行質量檢查;問題頻譜;

          • 維護活躍度分析器;

          • 可以詳細了解每一個問題;

          • 跟蹤代碼指標;

          • 定制分析,可以忽略掉一些問題;

          • 分析器可以為經常發(fā)生的問題提出修復建議,如果允許的話,它們還可以創(chuàng)建修復過的拉取請求;

          • 對每個代碼提交和拉取請求進行 Black、YAPF、Go fmt 等代碼格式化。不需要進行 CI 設置。

          缺點


          • 不支持 PHP。


          支持的語言


          Python、JavaScript、Go、Ruby、Java、Docker、SQL、Terraform、Shell,以及 TestIdentify 和修復 bug 風險、提交代碼中的反模式、性能問題和安全缺陷。


          定價


          開源項目、學生和非營利組織可以免費使用。付費用戶從 12 美元 / 月起算。

          SonarQube


          SonarQube 是一種很流行的靜態(tài)分析工具,用于持續(xù)檢查代碼庫的代碼質量和安全性,并在代碼評審期間指導開發(fā)團隊。SonarQube 可與 CI/CD 集成,進行自動化代碼檢查。它還提供了質量管理工具幫你主動糾正錯誤:IDE 集成、Jenkins 集成和代碼評審工具。


          https://www.sonarqube.org


          關鍵特性

          • 多語言支持;

          • 安全性分析;

          • 發(fā)布質量代碼;

          • 可維護性;

          • 可以識別蹊蹺的問題。

          缺點

          • 并不是每個 IDE 都支持 SonarQube;

          • 不能選擇忽略團隊不需要去修復的問題。

          支持的語言


          25 種以上的編程語言,包括 Java、C#、JavaScript、TypeScript、C/C++、COBOL 及其他。


          定價


          社區(qū)版是免費和開源的。商業(yè)版起步價為 120 歐元。

          Codacy


          Codacy()是一個靜態(tài)分析工具,可以幫助開發(fā)人員處理技術債務并提高代碼質量。Codacy 監(jiān)控每一次代碼提交和 PR 的代碼質量。你可以用它來加強代碼質量標準,加強安全實踐,并節(jié)省代碼評審時間。


          https://www.codacy.com


          關鍵特性

          • 代碼評審自動化;

          • 代碼質量分析;

          • 安全代碼分析;

          • 集群安裝 / 多個實例。

          缺點

          • 缺乏與其他 SaaS 服務集成 (Sonatype、Blackduck、AWS API 網關的 API QOS 指標或 UI/E2E SaaS 測試服務) 的能力;

          • 無法加密項目信息或限制對源代碼的訪問;

          • 社區(qū)相對較小。

          支持的語言


          30 多種語言,包括 Elixir、Go、Java、JavaScript、JSON、Kotlin、Python、Ruby、Scala、Swift、TypeScript 等等。


          定價


          對開源免費,付費用戶起步價為 15 美元 / 月。

          DeepScan


          DeepScan 是一個支持 JavaScript、TypeScript、React 和 Vue.js 的靜態(tài)分析工具。你可以使用 DeepScan 來查找部分運行時錯誤和質量問題,而不只是編碼風格問題。將 DeepScan 與你的 GitHub 代碼庫集成起來,以此來發(fā)現項目的質量問題。


          https://deepscan.io


          關鍵特性

          • 缺陷跟蹤;

          • 自動化構建;

          • 代碼評審;

          • 協作;

          • 持續(xù)集成。

          缺點


          • 有限的語言支持。


          支持的語言


          JavaScript、TypeScript、React 和 Vue.js。


          定價


          對開源免費,付費用戶起步價為 9 美元 / 月。

          Embold


          Embold 是一個通用的靜態(tài)分析器,可以幫助開發(fā)人員在關鍵代碼問題成為障礙之前把它們找出來。它是一個有效診斷、轉換和維護應用程序的得力工具。它集成了人工智能和機器學習技術,可以找出一級問題,提供最佳解決方案,并在必要時重構應用程序。你可以在已有的 DevOps 技術棧中使用它,可以在內部使用,也可以在私有云和公共云中使用它。


          https://embold.io


          關鍵特性

          • 直觀的 UI;

          • 更深入和更快的代碼檢查;

          • 智能地提高性能;

          • 無縫集成。

          缺點


          • 價格相對較高。


          支持的語言


          Java、C、C++、C#、Objective-C、TypeScript、JavaScript、Python、PHP、Go、Kotlin、Solidity、SQL。


          定價


          對開源免費,付費用戶每月 10 歐元。

          Veracode


          Veracode 是一種流行的靜態(tài)代碼分析工具。它只針對安全問題,跨管道執(zhí)行代碼檢查,以便發(fā)現安全漏洞,并將 IDE 掃描、管道掃描和策略掃描作為其服務的一部分。它會創(chuàng)建用于審計的代碼評估,作為程序的一部分。


          https://www.veracode.com/products/binary-static-analysis-sast


          關鍵特性

          • 編碼時的安全性問題反饋;

          • 在管道中快速獲得結果;

          • 令人滿意的審計能力;

          • 不需要調整就可以獲得高精確度;

          • 專注于修復問題。

          缺點

          • 不支持自定義掃描規(guī)則;

          • 用戶體驗不是很好。

          支持的語言


          Java、.Net、JavaScript、Scala、Python、PHP、Ruby on Rails、ColdFusion、Swift、C/C++、COBOL、Visual Basic 6、RPG,等等。


          定價


          基于項目的規(guī)模定價,你可以在官網上提交表單來獲取報價。

          Reshift


          Reshift 是一個基于 SaaS 的軟件平臺,它無縫地集成到軟件開發(fā)工作流中,讓企業(yè)可以持續(xù)地部署安全的軟件產品,而不會減慢它們的速度。Reshift 減少了查找和修復漏洞、識別數據泄露的潛在風險以及幫助軟件公司實現合規(guī)性和法規(guī)要求的成本和時間。


          https://www.reshiftsecurity.com


          關鍵特性

          • 快速配置;

          • 安全性掃描;

          • 安全性職責。

          缺點


          • 不支持 Java 以外的語言。


          支持的語言


          Java


          定價


          對開源免費,付費用戶起步價是每月 99 美元。


          后臺回復 學習資料 領取學習視頻


          如有收獲,點個在看,誠摯感謝



          瀏覽 59
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚欧州精品视频免费观看 | 竹菊国产精品成人竹菊影视 | 人人在日批 | 围产精品久久久久久久黄无码 | 91AV综合网 |