[發明專利]一種統計C語言編碼缺陷率的實現方法,設備及存儲介質在審
| 申請號: | 201811292929.0 | 申請日: | 2018-11-01 |
| 公開(公告)號: | CN109086217A | 公開(公告)日: | 2018-12-25 |
| 發明(設計)人: | 閆俊 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 濟南舜源專利事務所有限公司 37205 | 代理人: | 張亮 |
| 地址: | 450000 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 缺陷行 缺陷率 編碼缺陷 存儲介質 代碼項目 使用環境 查驗 編碼規范 腳本格式 缺陷原因 使用功能 自動計算 腳本 預設 統計 檢測 配置 創建 部署 | ||
本發明提供一種統計C語言編碼缺陷率的實現方法,設備及存儲介質,方法中可以基于linux下C語言的使用環境,以及所要待走查的代碼項目的使用環境及使用功能部署代碼走查的環境。配置代碼走查腳本格式;執行代碼走查腳本對預設目錄下的待走查的代碼項目進行走查,查驗所有行得到總行數,再查驗得到缺陷行,通過缺陷行/總行數得到缺陷率。可以讓程序員可以創建自己的檢測規則。根據公司的要求能夠隨時進行編碼規范的修改。通過缺陷行/總行數得到缺陷率。本發明是通過使用自己編寫的shell腳本和命令自動計算出缺陷行,總行數,缺陷率,非常容易定位每一條缺陷的位置和缺陷原因,方便進行代碼的修改。
技術領域
本發明涉及服務器領域,尤其涉及一種統計C語言編碼缺陷率的實現方法及系統。
背景技術
代碼走查(code walkthrough)是一個開發人員與架構師集中討論代碼的過程。代碼走查的目的是交換有關代碼是如何書寫的思路,并建立一個對代碼的標準集體闡述。有了這個標準,開發人員以后寫代碼就有的放矢。代碼走查的最主要的目的是為了發現程序中的邏輯錯誤,編程風格方面的錯誤可以通過風格檢查的工具去檢查。
在Shell腳本中使用正則表達式寫入具體的規范,這樣每條規范是獨立的,也方便進行代碼走查規范的更新和修改。
現在C語言規范不同的公司,不同的項目組是不一樣的。這樣給代碼走查帶來極大不便,通常為了適應不同規范的編輯的程序,或不同要求的程序,需要配置多種與程序相同的代碼走查腳本來實現代碼走查,這樣就給開發人員帶來基于代碼走查過程的不便,影響開發效率。如果在代碼走查過程中缺陷行或總行數未能走查準確,將會導致得到的缺陷率失準,影響程序的后期使用。
發明內容
為了克服上述現有技術中的不足,本發明提供一種統計C語言編碼缺陷率的實現方法,方法包括:
步驟一:部署代碼走查的環境,配置代碼走查腳本;
步驟二:將待走查的代碼項目存儲至預設目錄下;
步驟三:配置代碼走查腳本格式;
步驟四:執行代碼走查腳本對預設目錄下的待走查的代碼項目進行走查,查驗所有行得到總行數,再查驗得到缺陷行,通過缺陷行/總行數得到缺陷率。
優選地,步驟一還包括:配置并解壓安裝enca包。
優選地,步驟二還包括:在home目錄下創建test目錄,tmp目錄以及code目錄;
將待走查的代碼項目存儲至home目錄下的test目錄。
優選地,步驟三還包括:使用dos2unix把代碼走查腳本從dos格式轉換成unix格式。
優選地,步驟四還包括:執行代碼走查腳本對預設目錄下的待走查的代碼項目進行走查,將代碼走查結果儲存到test.log中。
優選地,步驟四還包括:執行代碼走查腳本對預設目錄下的待走查的代碼項目進行走查,調用命令$(find project dir -name*.c|xargs cat|wc -l)得到C語言所有行,再調用shell腳本命令$(wc –l test.log)得到缺陷行,缺陷行/總行數得到缺陷率。
優選地,方法還包括:
配置代碼走查規范:
走查規范包括:設置項目中代碼項目的每一行代碼字符數不超過預設數量;
不使用非ASCII字符,使用時使用UTF-8格式;
使用空格,每次縮進4個空格;
使用空格進行縮進,在代碼中不使用tabs,設定編輯器將tab轉為空格。
優選地,方法還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811292929.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:自動化測試系統
- 下一篇:一種基于蟻群算法的自動化測試方法,系統及測試終端





