什么是代碼檢查
代碼檢查能力特性
自研代碼檢查引擎
自研代碼檢查引擎,全面評(píng)估代碼質(zhì)量七特征
CodeArts Check代碼檢查服務(wù)的核心就是代碼檢查引擎,高效精準(zhǔn)的代碼檢查引擎能夠很好地幫助用戶在開發(fā)早期快速、準(zhǔn)確地發(fā)現(xiàn)代碼問題,兼顧開發(fā)效率與產(chǎn)品質(zhì)量。
1、代碼檢查引擎團(tuán)隊(duì)凝聚了國內(nèi)40+博士、海外研究所50+專家、國內(nèi)外10+老師合作成果,經(jīng)過華為內(nèi)部(15W+開發(fā)人員,日均500億行掃描)大規(guī)模持續(xù)使用和打磨而成。
2、代碼檢查覆蓋了業(yè)界主流開發(fā)語言,針對代碼的可讀、可維護(hù)、安全、可靠、可測試、高效、可移植等方面進(jìn)行全面的分析。
3、代碼檢查融合了華為30多年對代碼質(zhì)量及可信度提升方面持續(xù)思考與探索、實(shí)踐,積累了豐富的檢查規(guī)則。
支持五大業(yè)界主流標(biāo)準(zhǔn)和華為編程規(guī)范
代碼檢查支持五大業(yè)界主流標(biāo)準(zhǔn)和華為編程規(guī)范,提升產(chǎn)品代碼規(guī)范度
軟件產(chǎn)品的質(zhì)量問題往往導(dǎo)致產(chǎn)品產(chǎn)生不可接受的運(yùn)營風(fēng)險(xiǎn)或過度成本,因此在源代碼級(jí)別建立質(zhì)量檢測措施的標(biāo)準(zhǔn)是非常重要的,業(yè)界如ISO/IEC 5055標(biāo)準(zhǔn)、CERT編程規(guī)范等。
1、使用CodeArts Check服務(wù),可以對您的代碼進(jìn)行全面的質(zhì)量檢查。
2、代碼檢查支持快速篩選已識(shí)別的編程規(guī)范問題,支持規(guī)范、標(biāo)準(zhǔn)的知識(shí)聯(lián)動(dòng),便于用戶快速了解問題類別、嚴(yán)重性、詳情,從而根據(jù)自身項(xiàng)目需要,快速分析和制定修復(fù)計(jì)劃。
3、代碼檢查當(dāng)前支持的支持業(yè)界主流編程標(biāo)準(zhǔn)和優(yōu)秀實(shí)踐有:ISO 5055、CERT、CWE、OWASP TOP 10、CWE/SANS TOP 25等。
支持主流開發(fā)語言
代碼檢查支持主流開發(fā)語言,內(nèi)置7000+檢查規(guī)則,便于用戶開箱即用
CodeArts Check服務(wù)支持C/C++、Java、Python、GO、JavaScript、CSS、HTML、PHP、C#、Android等10+常見開發(fā)語言,滿足嵌入式、WEB應(yīng)用、移動(dòng)應(yīng)用等多種開發(fā)場景所需。
1、代碼檢查內(nèi)置多款的開源工具與自研引擎一起提供豐富的檢查規(guī)則(7000+)。
2、梳理各類場景需要,內(nèi)置全面檢查規(guī)則集、關(guān)鍵檢查規(guī)則集、移動(dòng)領(lǐng)域規(guī)則集、華為編程規(guī)范規(guī)則集等10+規(guī)則集,便于用戶開箱即用。更多規(guī)則集詳情請參見配置代碼檢查規(guī)則集。
3、用戶也可基于規(guī)則庫定制滿足場景專項(xiàng)需求的檢查規(guī)則集 。
日均百億級(jí)掃描能力
日均百億級(jí)掃描能力,支持大型企業(yè)超大規(guī)模代碼檢查
CodeArts Check具備強(qiáng)大的高并發(fā)處理能力,在華為內(nèi)部,日常15萬+軟件開發(fā)人員高頻代碼提交增量檢查,每日凌晨所有代碼倉定時(shí)檢查,服務(wù)日均掃描百億行級(jí)代碼。
1、服務(wù)通過AZ容災(zāi)、跨region級(jí)容災(zāi)多活、支持過載保護(hù)、服務(wù)依賴和隔離等一系列高可用特性,實(shí)現(xiàn)服務(wù)故障自探測、自隔離、自恢復(fù),為大型應(yīng)用和團(tuán)隊(duì)提供可靠支持。
2、針對檢查業(yè)務(wù)峰谷明顯的業(yè)務(wù)特征,通過強(qiáng)大的彈性調(diào)度能力,快速高效的調(diào)配資源滿足業(yè)務(wù)所需,確保業(yè)務(wù)高峰0等待。
一站式問題閉環(huán)修復(fù)
一站式問題閉環(huán)修復(fù),問題修復(fù)效率倍增
開發(fā)團(tuán)隊(duì)實(shí)施代碼檢查活動(dòng)時(shí)通常遇到問題分析和修復(fù)成本高(工具問題不易理解、問題分到具體開發(fā)人員費(fèi)時(shí)費(fèi)力、多版本情況下重復(fù)處理同一告警令開發(fā)人員厭倦工具)導(dǎo)致落地困難,這些原因很大程度影響了開發(fā)人員對檢查工具的使用積極性。
CodeArts Check服務(wù)提供問題分析處理三大能力,幫助開發(fā)團(tuán)隊(duì)高效、順暢使用代碼檢查工具:
1、問題精準(zhǔn)定位到行、提供修復(fù)指導(dǎo)(內(nèi)置編程規(guī)范說明、正確示例、錯(cuò)誤示例、修復(fù)建議),提高問題分析效率。無需對開發(fā)人員重復(fù)進(jìn)行規(guī)范和修復(fù)技能培訓(xùn)。
2、自動(dòng)根據(jù)代碼提交信息匹配問題責(zé)任人,提供問題分發(fā)效率,誰引入、誰修改,業(yè)務(wù)邏輯了然于胸,同時(shí)加強(qiáng)了開發(fā)人員的規(guī)范和質(zhì)量意識(shí)。
3、自動(dòng)同步已處理的忽略問題、同一倉庫同一誤報(bào)只需處理一次,提高問題處理效率。
通過上述能力在華為實(shí)踐過程中問題分析和修復(fù)效率倍增。
“代碼編寫、代碼合并、版本發(fā)布”三層缺陷防護(hù)
“代碼編寫、代碼合并、版本發(fā)布”三層缺陷防護(hù),兼顧效率與質(zhì)量
優(yōu)秀的代碼質(zhì)量保障實(shí)踐,往往將代碼檢查融入到開發(fā)作業(yè)流中,在用戶代碼編寫、代碼提交時(shí)進(jìn)行自動(dòng)化的審計(jì)檢查,并對團(tuán)隊(duì)每日產(chǎn)出的代碼進(jìn)行持續(xù)編程規(guī)范和質(zhì)量檢查。
1、這一活動(dòng)實(shí)踐要求已是安全開發(fā)過程SDL、DevSecOps等眾多優(yōu)秀開發(fā)模式推薦進(jìn)行的實(shí)踐要求。
2、代碼檢查CodeArts Check服務(wù)提供豐富的API接口、涵括任務(wù)新建、任務(wù)設(shè)置、任務(wù)掃描觸發(fā)、任務(wù)報(bào)告解析等檢查業(yè)務(wù)全流程,支持用戶使用接口方式無縫集成到自建CI/CD或者CodeArts,作業(yè)數(shù)據(jù)靈活對接到客戶看板,代碼質(zhì)量可視、可管理。
3、同時(shí)通過靈活的任務(wù)管理,支持排除目錄設(shè)置避免無效掃描,并支持混合語言檢查、簡化部署、一次獲取整個(gè)版本代碼質(zhì)量。
如何進(jìn)行軟件代碼檢查
操作步驟
1、新建代碼檢查任務(wù)
在軟件開發(fā)生產(chǎn)線首頁選擇“服務(wù) > 代碼檢查”,單擊“代碼檢查”首頁的“新建任務(wù)”創(chuàng)建代碼檢查任務(wù)。創(chuàng)建任務(wù)時(shí)通過關(guān)聯(lián)項(xiàng)目下代碼倉庫拉取代碼。
2、執(zhí)行代碼檢查任務(wù)
代碼檢查任務(wù)新建成功后,單擊任務(wù)的開始檢查按鈕進(jìn)行執(zhí)行。
3、查看代碼檢查報(bào)告
檢查完成后,單擊檢查任務(wù)名稱,進(jìn)入代碼檢查詳情頁面,可以查看“概覽”、“代碼問題”、“代碼度量”等。