JavaShuo
欄目
標籤
代碼檢查
時間 2020-05-14
標籤
代碼
檢查
简体版
原文
原文鏈接
代碼檢查
代碼檢查是經過桌面檢查、走查方式和代碼審查進行的檢查:
包括:
★ 檢查代碼和設計是否一致;
★ 代碼是否對遵循標準、是否可讀;
★ 代碼邏輯表達是否正確;
★ 代碼結構是否合理;
★ 程序編寫與編寫標準是否符合;
★ 程序中是否有不安全、不明確和模糊的部分;
★ 編程風格是否符合要求。
★ 檢查變量的交叉引用表:是否有未說明的變量和違反了類型規定的變量。
★ 檢查標號的交叉引用表:驗證全部標號是否有正確。
★ 檢查子程序、宏、函數:驗證每次調用與所調用位置是否正確,調用的子程序、宏、函數是否存在,參數是否一致。
★ 檢查所有等價變量的類型的一致性。
★ 確認常量的取值和數制、數據類型。
★ 選擇、激活路徑:在設計控制流圖中選擇某條路徑,到實際的程序中激活這條路徑,若是不能激活,則程序可能有錯。
★ 對照程序的規格說明,詳細閱讀源代碼,比較實際的代碼,從差別中發現程序的問題和錯誤。
2. 代碼檢查方式
桌面檢查
對源程序代碼進行分析、檢驗,根據相關的文檔,檢驗程序中是否有錯誤的過程。
3. 靜態結構分析
★ 能夠檢查函數的調用關係是否正確;
★ 是否存在孤立的函數而沒有被調用;
★ 編碼的規範性;
★ 資源是否釋放;
★ 數據結構是否完整和正確;
★ 是否有死代碼和死循環;
★ 代碼自己是否存在明顯的效率和性能問題;
★ 代碼自己方法,類和函數的劃分是否清晰,易理解;
★ 代碼自己是否健壯,是否有完善的異常處理和錯誤處理。
4. 走讀
走讀可由開發人員和測試人員相互走讀代碼。走讀代碼主要有文檔和源程序代碼、檢查項目、檢查功能、檢查界面、檢查流程、檢查提示信息、函數檢查、數據類型與變量檢查、條件判斷檢查、循環檢查、輸入輸出檢查、註釋檢查、程序(模塊)檢查、數據庫檢查 14大點內容。
★ 要求有文檔和源程序代碼
● 一份最新的設計文檔;
● 程序結構圖;
● 全部的模塊源程序代碼;
● 代碼體系結構描述;
● 目錄文件;
● 代碼組織。
★ 檢查功能
● 重複的功能 ;
● 多餘的功能 ;
● 功能實現與設計要求不相符 ;
● 功能使用性、方便性、易用性。
★ 檢查界面
● 界面美觀 ;
● 控件排列、格式;
● 焦點控制合理或全面性。
★ 檢查流程
● 流程控制不符和要求 ;
● 流程實現不完整。
★ 檢查提示信息
● 提示信息重複或出現時機合理性;
● 提示信息格式和要求的合理性 ;
● 提示框返回後停留位置的合理性。
★ 函數檢查
● 函數頭清楚地描述函數和它的功能 ;
● 代碼中有相關注解;
● 函數名清晰的定義了它的目標以及函數的功能;
● 函數只作一件事情;
● 函數的參數都被使用;
● 函數的參數接口關係清晰;
● 函數出口都有返回值;
● 函數異常處理清楚。
★ 數據類型與變量檢查
● 數據有效性檢測不合理 ;
● 數據來源正確性;
● 數據處理過程正確性;
● 數據處理結果不正確性;
● 數據類型解釋;
● 變量分配了正確的長度、類型和存儲空間;
● 靜態變量明確區分;
● 變量初始化;
● 變量的命名不與標準庫中的命名相沖突;
● 全局變量描述;
● 類型轉換。
★ 條件判斷檢查
● If/
else
使用正確;
● 無嵌套的
if
鏈
● 數字,字符,指針和0/NULL/FLSE 判斷明確 ;
● 不要有臃腫的判斷邏輯;
● 全部的判斷條件邊界是否正確;
● 判斷體足夠短。
★ 循環檢查
● 循環體不爲空;
● 循環以前作好初始化代碼;
● 有明確的屢次循環操做,使用For循環 ;
● 不明確的屢次循環操做,使用
while
循環;
● 循環終止的條件清晰;
● 全部的循環邊界是否正確;
● 循環體內的循環變量起到指示做用。
★ 輸入輸出檢查
● 全部文件的屬性描述清楚;
● 輸入參數的異常是否處理了;
● 文件結束的條件進行檢查。
★ 註釋檢查
● 有一個簡單的說明,用於描述代碼的結構;
● 每一個文件和模塊均以給予解釋;
● 解釋說明代碼功能,準確描述代碼意義;
● 解釋不過於簡單 ;
● 註解清楚正確 ;
● 代碼的註釋與代碼是否一致?註釋是不是多餘的。
★ 程序(模塊)檢查
● 程序中全部的異常是否處理了?;
● 程序中是否存在重複的代碼?
● 程序結構是否清晰。
★ 數據庫檢查
● 數據庫命名使用小寫英語字母, 數字和下劃線,無其餘字符 ;
● 數據庫命名採用項目名或產品名稱命名 ,長度小於20位 ;
● 數據庫中的全部表字符集統一 ;
● 數據庫對象的命名不使用保留關鍵字;
● 數據庫設計考慮到未來可能存在的異種數據庫遷移 ;
● 字段與畫面項目可以一一對應(部分標識符字段和系統設定字段除外);
● 索引是多值字段 ;
● 索引是單一字段 ;
● 字段取值符合域定義 ;
● 字段的類型和長度可以知足字段的值的最大限量 ;
● 文本字段有充足的餘量對應可能的長度變動 ;
● 數字字段考慮了充足的餘量和精度對應可能的長度或精度變動 ;
● 針對客戶的特定應用採用了視圖機制 。
★ 表達式分析;
對錶達式進行分析以發現和糾正在表達式中出現的錯誤如:在表達式中不正確的使用了括號形成錯誤、數組下標越界錯誤、除數爲零、浮點數計算的偏差等。
★ 接口分析
接口分析主要是對接口一致性的分析如:各模塊之間接口一致性;模塊與外部數據庫的接口一致性;形參與實參在類型數量、順序、維數、使用上的一致性;全局變量和公共數據區在使用上的一致性。
★ 函數調用關係圖
函數調用關係圖:經過應用程序各函數之間的調用關係展現了系統的結構。列出全部函數,用連線表示調用關係,做用:能夠檢查函數的調用關係是否正確、是否存在孤立的函數而沒有被調用、明確函數被調用的頻繁度、對調用頻繁的函數能夠重點檢查。
★ 模塊控制流圖
模塊控制流圖由許多結點和鏈接結點的邊組成的圖形,其中每一個結點表明一條或多條語句,邊表示控制流向,能夠直觀地反映出一個函數的內部結構。
相關文章
1.
webstrom代碼檢查
2.
5.17 代碼檢查
3.
pmd 代碼檢查
4.
eclipse靜態代碼檢查重複代碼檢查工具
5.
DevOps - 代碼檢查 - SonarQube
6.
android studio的代碼檢查
7.
前端代碼檢查
8.
代碼檢查工具--findBugs
9.
代碼規範性檢查
10.
ESLint 代碼檢查規範
更多相關文章...
•
Markdown 代碼
-
Markdown 教程
•
Eclipse 代碼模板
-
Eclipse 教程
•
IntelliJ IDEA代碼格式化設置
•
IntelliJ IDEA安裝代碼格式化插件
相關標籤/搜索
檢查
代碼
安全檢查
進行檢查
大檢查
身體檢查
質量檢查
健康檢查
檢查表
檢查點
SQLite教程
MyBatis教程
MySQL教程
代碼格式化
亂碼
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
跳槽面試的幾個實用小技巧,不妨看看!
2.
Mac實用技巧 |如何使用Mac系統中自帶的預覽工具將圖片變成黑白色?
3.
Mac實用技巧 |如何使用Mac系統中自帶的預覽工具將圖片變成黑白色?
4.
如何使用Mac系統中自帶的預覽工具將圖片變成黑白色?
5.
Mac OS非兼容Windows軟件運行解決方案——「以VMware & Microsoft Access爲例「
6.
封裝 pyinstaller -F -i b.ico excel.py
7.
數據庫作業三ER圖待完善
8.
nvm安裝使用低版本node.js(非命令安裝)
9.
如何快速轉換圖片格式
10.
將表格內容分條轉換爲若干文檔
本站公眾號
歡迎關注本站公眾號,獲取更多信息
相關文章
1.
webstrom代碼檢查
2.
5.17 代碼檢查
3.
pmd 代碼檢查
4.
eclipse靜態代碼檢查重複代碼檢查工具
5.
DevOps - 代碼檢查 - SonarQube
6.
android studio的代碼檢查
7.
前端代碼檢查
8.
代碼檢查工具--findBugs
9.
代碼規範性檢查
10.
ESLint 代碼檢查規範
>>更多相關文章<<