那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

代碼檢查的方式有三種

jf_21561199 ? 來源:jf_21561199 ? 作者:jf_21561199 ? 2024-02-25 10:08 ? 次閱讀

【摘要】代碼檢查中,提到的編程規(guī)范,規(guī)則集,規(guī)則,規(guī)則用例(場景、誤報、檢出)分別代表什么意思呢?

SAST 靜態(tài)檢查領(lǐng)域,代碼檢查服務(wù)可以幫助開發(fā)者發(fā)現(xiàn)和修復(fù)代碼中的風(fēng)格、質(zhì)量和安全等方面的問題。那么在代碼檢查服務(wù)中,提到的編程規(guī)范,規(guī)則集,規(guī)則,規(guī)則用例(場景、誤報、檢出)分別代表什么意思呢?

編程規(guī)范

在 SAST 靜態(tài)代碼檢查領(lǐng)域,編程規(guī)范是一套在組織層面關(guān)于代碼編寫的標(biāo)準(zhǔn)或準(zhǔn)則。它可以幫助開發(fā)者遵循一致的風(fēng)格和習(xí)慣,提高代碼的可讀性、可維護性、可移植性、安全性與可靠性,目的在于指導(dǎo)公司、部門、項目組編寫出 CleanCode 及高質(zhì)量的軟件。

編程規(guī)范通常會參考業(yè)界標(biāo)準(zhǔn)及實踐,并包含命名、縮進、注釋、格式等方面的內(nèi)容,業(yè)界內(nèi)比較有名的有華為編程規(guī)范。

編程規(guī)范內(nèi)的規(guī)則通常被用于在特定場景下使用,檢測出代碼中的漏洞和缺陷。但是這些規(guī)則并非就是萬能完美的,在一些場景下,可能會導(dǎo)致誤報率、漏報率高的情況發(fā)生。如果在日常使用中發(fā)現(xiàn)某些規(guī)則不適合或者無法遵循,經(jīng)過團隊共同研討決策,是可以對規(guī)范中的規(guī)則進行改進甚至下線處理的。

注意,團隊內(nèi)在使用編程規(guī)范的時候,是希望團隊成員都具有相應(yīng)語言的基礎(chǔ)編程能力,而不是說希望通過編程規(guī)范來學(xué)習(xí)某個具體的語言。

規(guī)則集

規(guī)則集則是一組用于做代碼檢查的規(guī)則組成的集合。

一般根據(jù)不同的檢查目標(biāo)和需求,規(guī)則集也有相應(yīng)的分類,比如對安全類、安卓應(yīng)用、編程風(fēng)格這些類別進行檢查的時候,規(guī)則集內(nèi)的規(guī)則也會有不同的選擇。

規(guī)則集可以應(yīng)用在不同的范圍上,比如:公司最小規(guī)則集可以在全公司范圍內(nèi)使用,產(chǎn)品線規(guī)則集則可以在最小規(guī)則集的基礎(chǔ)上再額外加些產(chǎn)品線特有的規(guī)則進去,構(gòu)建一個范圍更大的產(chǎn)品線級規(guī)則集。

規(guī)則集也可以在不同的階段使用。比如針對本地 IDE 編碼階段,可以構(gòu)建一個 IDE 插件檢查規(guī)則集在本地實時進行檢查。在提交增量代碼階段,使用一個更大范圍的規(guī)則集對增量代碼進行自動化檢查。在要進行版本級掃描階段,與流水線協(xié)同提供全面、深度的全量檢查。

wKgaomXYo62AeaT3AADeyFO_lyA012.png

華為云 CodeArtsCheck 的系統(tǒng)推薦規(guī)則集

規(guī)則

規(guī)則是一種用來指導(dǎo)和約束代碼檢查的標(biāo)準(zhǔn)和準(zhǔn)則。它可以根據(jù)不同的編程語言、編碼規(guī)范、質(zhì)量要求等因素來制定。每個規(guī)則可以說都定義了一個缺陷模式,當(dāng)該模式在目標(biāo)代碼中匹配成功后會生成一個檢查問題。

每個規(guī)則都會包含一個 ID 和一個操作。ID 可以說是規(guī)則唯一的標(biāo)識符,用于區(qū)分不同的規(guī)則;操作則用于指定改規(guī)則在代碼檢查期間應(yīng)該執(zhí)行的動作,比如告警等。

規(guī)則一般會包含描述信息(包含編寫這條規(guī)則的背景等)、正確的代碼示例、錯誤的代碼示例、修復(fù)建議、參考的規(guī)范等信息。

wKgZomXYo62AYL81AADj2n83XMM218.png

華為云 CodeArtsCheck 的規(guī)則信息

規(guī)則用例

規(guī)則用例是一種用于驗證代碼檢查規(guī)則是否按照預(yù)期正確工作的測試用例。一般它會包括一個或多個測試輸入(代碼片段),執(zhí)行條件以及預(yù)期的檢查結(jié)果(包括是否有問題,問題的類型,問題的位置等)。

規(guī)則用例可以說是檢驗和驗證規(guī)則的一種手段,可以幫助開發(fā)人員和測試人員評估代碼檢查規(guī)則的有效性、準(zhǔn)確性和覆蓋性。

而和規(guī)則用例配套的術(shù)語則有:場景,誤報,檢出等。

場景

場景是一種描述代碼檢查規(guī)則應(yīng)用的具體情況或背景的方法,它可以說是規(guī)則用例的集合(包含 1 個或多個規(guī)則用例)以及一些相關(guān)的信息(項目類型、編程語言、編碼規(guī)范等)的結(jié)合。場景可以比規(guī)則用例更全面的模擬代碼檢查規(guī)則的使用場景。

誤報

誤報是指代碼檢查服務(wù)錯誤地報告了一個不存在的問題或一個錯誤的問題類型的狀況。誤報一般是由于代碼檢查規(guī)則的設(shè)計缺陷、實現(xiàn)錯誤、使用場景不匹配或配置不當(dāng)?shù)仍蛟斐傻模瑫?dǎo)致開發(fā)人員和測試人員對代碼檢查服務(wù)的信任度降低。

檢出

檢出則和誤報完全相反,是個好的現(xiàn)象,是指代碼檢查服務(wù)正確地報告了一個確實存在的問題及正確的問題類型的狀況。檢出高可以幫助開發(fā)人員預(yù)防和修復(fù)潛在的缺陷。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4825

    瀏覽量

    69043
  • 華為云
    +關(guān)注

    關(guān)注

    3

    文章

    2682

    瀏覽量

    17586
收藏 人收藏

    評論

    相關(guān)推薦

    示波器的三種觸發(fā)模式

    示波器的觸發(fā)方式不僅影響波形捕捉的時機,還決定了顯示的波形是否穩(wěn)定。 常見的觸發(fā)模式三種: 單次觸發(fā) (Single)、 正常觸發(fā) (Normal)和 自動觸發(fā) (Auto)。下面將對這三種
    的頭像 發(fā)表于 01-07 11:04 ?358次閱讀
    示波器的<b class='flag-5'>三種</b>觸發(fā)模式

    systemd journal收集日志的三種方式

    隨著 systemd 成了主流的 init 系統(tǒng),systemd 的功能也在不斷的增加,比如對系統(tǒng)日志的管理。Systemd 設(shè)計的日志系統(tǒng)好處多多,這里筆者就不再贅述了,本文筆者主要介紹 systemd journal 收集日志的三種方式
    的頭像 發(fā)表于 10-23 11:50 ?362次閱讀
    systemd journal收集日志的<b class='flag-5'>三種</b><b class='flag-5'>方式</b>

    I2S左對齊,右對齊跟標(biāo)準(zhǔn)的I2S三種格式,那么這三種格式各有什么優(yōu)點呢?

    大家好,關(guān)于I2S格式,兩個疑問請教一下 我們知道I2S左對齊,右對齊跟標(biāo)準(zhǔn)的I2S三種格式,那么這三種格式各有什么優(yōu)點呢? 而且對于標(biāo)準(zhǔn)的I2S格式,32FS傳輸16bit的數(shù)
    發(fā)表于 10-21 08:23

    基本放大電路三種

    基本放大電路是電子電路中至關(guān)重要的組成部分,它能夠?qū)⑤斎胄盘柗糯蟮剿璧碾娖剑员愫罄m(xù)電路進行處理。在電子工程中,基本放大電路主要有三種形式,分別是共發(fā)射極放大電路(簡稱共射放大電路)、共基極放大
    的頭像 發(fā)表于 10-15 11:07 ?2028次閱讀

    Windows管理內(nèi)存的三種主要方式

    Windows操作系統(tǒng)提供了多種方式來管理內(nèi)存,以確保系統(tǒng)資源的有效利用和性能的優(yōu)化。以下是關(guān)于Windows管理內(nèi)存的三種主要方式的詳細闡述,包括堆內(nèi)存管理、虛擬內(nèi)存管理以及共享內(nèi)存管理,每種
    的頭像 發(fā)表于 10-12 17:09 ?1336次閱讀

    shell腳本執(zhí)行的三種方式及區(qū)別

    在Linux系統(tǒng)中,Shell腳本是一非常實用的工具,用于自動化執(zhí)行一系列命令。Shell腳本可以大大提高工作效率,簡化復(fù)雜的任務(wù)。在這篇文章中,我們將介紹Shell腳本執(zhí)行的三種方式及其區(qū)別
    的頭像 發(fā)表于 08-30 15:24 ?1402次閱讀

    vim的三種工作模式哪些

    Vim是一個功能強大的文本編輯器,它具有三種工作模式:普通模式、插入模式和命令行模式。以下是對這三種模式的介紹: 普通模式(Normal Mode) 普通模式是Vim的默認模式,當(dāng)啟動Vim時,它會
    的頭像 發(fā)表于 08-30 14:52 ?890次閱讀

    在電路中電阻的連接形式三種

    在電路中,電阻的連接形式主要有三種:串聯(lián)、并聯(lián)和混聯(lián)。這三種連接方式在電路設(shè)計和應(yīng)用中具有重要的作用。本文將介紹這三種連接方式的特點、計算方
    的頭像 發(fā)表于 08-20 10:43 ?2772次閱讀

    簡述三種esp32的開發(fā)方式是什么

    ESP32是一款由樂鑫(Espressif)推出的低功耗、高性能的Wi-Fi和藍牙雙模無線通信芯片,廣泛應(yīng)用于物聯(lián)網(wǎng)、智能家居、智能硬件等領(lǐng)域。本文將詳細介紹三種ESP32的開發(fā)方式:Arduino
    的頭像 發(fā)表于 08-20 09:11 ?4020次閱讀

    常用的pwm跟蹤控制方式是哪三種

    PWM(脈寬調(diào)制)跟蹤控制是一廣泛應(yīng)用于電機控制、電源管理、通信等領(lǐng)域的技術(shù)。它通過調(diào)整脈沖的寬度來控制輸出信號的占空比,從而實現(xiàn)對系統(tǒng)的精確控制。常用的PWM跟蹤控制方式主要有三種:增量式PWM
    的頭像 發(fā)表于 08-14 10:34 ?1557次閱讀

    計算機網(wǎng)絡(luò)中的三種通信方式

    計算機網(wǎng)絡(luò)中的三種通信方式,即單工通信、半雙工通信和全雙工通信,是理解和設(shè)計高效網(wǎng)絡(luò)架構(gòu)的基礎(chǔ)。每種通信方式都有其獨特的特性、應(yīng)用場景及優(yōu)缺點。以下是對這三種通信
    的頭像 發(fā)表于 08-07 15:00 ?3180次閱讀

    逆變電路的三種調(diào)壓方式

    路的三種調(diào)壓方式:脈寬調(diào)制(PWM)調(diào)壓、相位控制調(diào)壓和頻率調(diào)制調(diào)壓。 1. 脈寬調(diào)制(PWM)調(diào)壓 脈寬調(diào)制是一通過改變脈沖寬度來調(diào)整輸出電壓的調(diào)壓方式。在PWM調(diào)壓中,逆變電路的
    的頭像 發(fā)表于 08-02 16:59 ?2612次閱讀

    電源模塊的散熱原理,電源模塊的散熱方式哪些

    電源模塊的散熱原理主要依賴于三種傳熱方式:導(dǎo)熱、對流和輻射。以下是針對這三種散熱方式的詳細解釋和歸納:
    的頭像 發(fā)表于 06-10 17:00 ?1114次閱讀

    在線視頻會議軟件哪些?三種實現(xiàn)方式

    分類來進行解說。 視頻會議技術(shù)基本上可分為兩大類:基于硬件的編解碼和基于軟件的編解碼。以下是基于兩編碼的三種在線視頻會議實現(xiàn)方式。 一、基于硬件的視頻會議系統(tǒng) 硬件視頻會議系統(tǒng)主要通過專用設(shè)備來實現(xiàn)音視頻通
    的頭像 發(fā)表于 05-21 17:43 ?681次閱讀
    在線視頻會議軟件<b class='flag-5'>有</b>哪些?<b class='flag-5'>三種</b>實現(xiàn)<b class='flag-5'>方式</b>

    簡述斬波電路的三種控制方式

    斬波電路是一常見的電力電子器件,廣泛應(yīng)用于直流電壓調(diào)節(jié)、電壓變換、電流變換等領(lǐng)域。它可以實現(xiàn)對電流和電壓的控制,以滿足不同的電氣設(shè)備的需求。斬波電路的控制方式主要有三種:脈寬調(diào)制控制、頻率調(diào)制控制
    的頭像 發(fā)表于 03-11 15:22 ?4582次閱讀
    澳门玩大小| 皇廷娱乐| 百家乐国际娱乐网| 金钱豹百家乐官网的玩法技巧和规则| 在线百家乐官网大家赢| 丹东棋牌网| 建湖县| 棋牌游戏网| 网络百家乐大转轮| 足球百家乐官网投注网出租 | 大发888游戏平台dafa888 gw| 百家乐龙虎扑克| 百家乐隐者博客| 模拟百家乐官网的玩法技巧和规则 | 百家乐出牌规| 阳宅24山吉凶方位| 百家乐官网技巧公司| 川宜百家乐官网软件| 澳门金盛国际娱乐| 大发888存款| 新锦江百家乐娱乐场开户注册 | 百家乐官网娱乐平台会员注册| 网上百家乐官网投注技巧| 合乐娱乐| 天健棋牌大厅下载| 新全讯网321| 网上百家乐注册彩金| 新百家乐官网的玩法技巧和规则| 博彩百家乐官网网址| 百家乐官网有哪些注| 横山县| 六合彩资料| 大发888 ber娱乐场下载| 威尼斯人娱乐场 赌场网址| 如何胜百家乐的玩法技巧和规则| 百家乐视频聊天软件| 百家乐如何取胜| 百家乐官网社区| 百家乐官网平游戏| 女神百家乐官网的玩法技巧和规则 | 百家乐官网百胜注码法|