青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運轉,開心的工作
簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

C/C++代碼審查表

Posted on 2008-12-20 16:28 S.l.e!ep.¢% 閱讀(695) 評論(0)  編輯 收藏 引用 所屬分類: test
文件結構
重要性? ? ? ? 審查項

? ?? ?? ?? ?? ? 頭文件和定義文件的名稱是否合理?
? ?? ?? ?? ?? ? 頭文件和定義文件的目錄結構是否合理?
? ?? ?? ?? ?? ? 版權和版本聲明是否完整?
重要? ? ? ?? ?頭文件是否使用了 ifndef/define/endif 預處理塊?
? ?? ?? ?? ?? ? 頭文件中是否只存放“聲明”而不存放“定義”

程序的版式
重要性? ? ? ? 審查項

? ?? ?? ?? ?? ? 空行是否得體?
? ?? ?? ?? ?? ? 代碼行內的空格是否得體?
? ?? ?? ?? ?? ? 長行拆分是否得體?
? ?? ?? ?? ?? ? “{” 和 “}” 是否各占一行并且對齊于同一列?
重要? ? ? ?? ?一行代碼是否只做一件事?如只定義一個變量,只寫一條語句。
重要? ? ? ?? ?If、for、while、do等語句自占一行,不論執行語句多少都要加 “{}”。
重要? ? ? ?? ?在定義變量(或參數)時,是否將修飾符 * 和 & 緊靠變量名?注釋是否清晰并且必要?
重要? ? ? ?? ?注釋是否有錯誤或者可能導致誤解?
重要? ? ? ?? ?類結構的public, protected, private順序是否在所有的程序中保持一致?

命名規則
重要性? ? ? ? 審查項

重要? ? ? ?? ?命名規則是否與所采用的操作系統或開發工具的風格保持一致?
? ?? ?? ?? ?? ? 標識符是否直觀且可以拼讀?
? ?? ?? ?? ?? ? 標識符的長度應當符合“min-length && max-information”原則?
重要? ? ? ?? ?程序中是否出現相同的局部變量和全部變量?
? ?? ?? ?? ?? ? 類名、函數名、變量和參數、常量的書寫格式是否遵循一定的規則?
? ?? ?? ?? ?? ? 靜態變量、全局變量、類的成員變量是否加前綴?

表達式與基本語句
重要性? ? ? ? 審查項

重要? ? ? ?? ?如果代碼行中的運算符比較多,是否已經用括號清楚地確定表達式的操作順序?
? ?? ?? ?? ?? ? 是否編寫太復雜或者多用途的復合表達式?
重要? ? ? ?? ?是否將復合表達式與“真正的數學表達式”混淆?
重要? ? ? ?? ?是否用隱含錯誤的方式寫if語句? 例如
? ?? ?? ?? ?? ?(1)將布爾變量直接與TRUE、FALSE或者1、0進行比較。
? ?? ?? ?? ?? ?(2)將浮點變量用“==”或“!=”與任何數字比較。
? ?? ?? ?? ?? ?(3)將指針變量用“==”或“!=”與NULL比較。
? ?? ?? ?? ?? ?如果循環體內存在邏輯判斷,并且循環次數很大,是否已經將邏輯判
? ?? ?? ?? ?? ?斷移到循環體的外面?
重要? ? ? ?? ?Case語句的結尾是否忘了加break?
重要? ? ? ?? ?是否忘記寫switch的default分支?
重要? ? ? ?? ?使用goto 語句時是否留下隱患? 例如跳過了某些對象的構造、變量的初始化、重要的計算等。

常量
重要性? ? ? ? 審查項

? ?? ?? ?? ?? ? 是否使用含義直觀的常量來表示那些將在程序中多次出現的數字或字符串?
? ?? ?? ?? ?? ? 在C++ 程序中,是否用const常量取代宏常量?
重要? ? ? ?? ?如果某一常量與其它常量密切相關,是否在定義中包含了這種關系?
? ?? ?? ?? ?? ? 是否誤解了類中的const數據成員?因為const數據成員只在某個對象
? ?? ?? ?? ?? ? 生存期內是常量,而對于整個類而言卻是可變的。

函數設計
重要性? ? ? ? 審查項

? ?? ?? ?? ?? ? 參數的書寫是否完整?不要貪圖省事只寫參數的類型而省略參數名字。
? ?? ?? ?? ?? ? 參數命名、順序是否合理?
? ?? ?? ?? ?? ? 參數的個數是否太多?
? ?? ?? ?? ?? ? 是否使用類型和數目不確定的參數?
? ?? ?? ?? ?? ? 是否省略了函數返回值的類型?
? ?? ?? ?? ?? ? 函數名字與返回值類型在語義上是否沖突?
重要? ? ? ?? ?是否將正常值和錯誤標志混在一起返回?正常值應當用輸出參數獲得,而錯誤標志用return語句返回。
重要? ? ? ?? ?在函數體的“入口處”,是否用assert對參數的有效性進行檢查?
重要? ? ? ?? ?使用濫用了assert? 例如混淆非法情況與錯誤情況,后者是必然存在的并且是一定要作出處理的。
重要? ? ? ?? ?return語句是否返回指向“棧內存”的“指針”或者“引用”?
? ?? ?? ?? ?? ? 是否使用const提高函數的健壯性?const可以強制保護函數的參數、返回值,甚至函數的定義體。“Use const whenever you
? ?? ?? ?? ?? ? need”

內存管理
重要性? ? ? ? 審查項

重要? ? ? ?? ?用malloc或new申請內存之后,是否立即檢查指針值是否為NULL?(防止使用指針值為NULL的內存)
重要? ? ? ?? ?是否忘記為數組和動態內存賦初值?(防止將未被初始化的內存作為右值使用)
重要? ? ? ?? ?數組或指針的下標是否越界?
重要? ? ? ?? ?動態內存的申請與釋放是否配對?(防止內存泄漏)
重要? ? ? ?? ?是否有效地處理了“內存耗盡”問題?
重要? ? ? ?? ?是否修改“指向常量的指針”的內容?
重要? ? ? ?? ?是否出現野指針?例如
? ?? ?? ?? ?? ???(1)指針變量沒有被初始化。
? ?? ?? ?? ?? ???(2)用free或delete釋放了內存之后,忘記將指針設置為NULL。
重要? ? ? ?? ?是否將malloc/free 和 new/delete 混淆使用?
重要? ? ? ?? ?malloc語句是否正確無誤?例如字節數是否正確?類型轉換是否正 確?
重要? ? ? ?? ?在創建與釋放動態對象數組時,new/delete的語句是否正確無誤?

C++ 函數的高級特性
重要性? ? ? ? 審查項

? ?? ?? ?? ?? ? 重載函數是否有二義性?
重要? ? ? ?? ?是否混淆了成員函數的重載、覆蓋與隱藏?
? ?? ?? ?? ?? ? 運算符的重載是否符合制定的編程規范?
? ?? ?? ?? ?? ? 是否濫用內聯函數?例如函數體內的代碼比較長,函數體內出現循環。
重要? ? ? ?? ?是否用內聯函數取代了宏代碼?

類的構造函數、析構函數和賦值函數
重要性? ? ? ? 審查項

重要? ? ? ?? ?是否違背編程規范而讓C++ 編譯器自動為類產生四個缺省的函數:
? ?? ?? ?? ?? ? (1)缺省的無參數構造函數;
? ?? ?? ?? ?? ? (2)缺省的拷貝構造函數;
? ?? ?? ?? ?? ? (3)缺省的析構函數;
? ?? ?? ?? ?? ? (4)缺省的賦值函數。
重要? ? ? ?? ?構造函數中是否遺漏了某些初始化工作?
重要? ? ? ?? ?是否正確地使用構造函數的初始化表?
重要? ? ? ?? ?析構函數中是否遺漏了某些清除工作?
? ?? ?? ?? ?? ? 是否錯寫、錯用了拷貝構造函數和賦值函數?
重要? ? ? ?? ?賦值函數一般分四個步驟:
? ?? ?? ?? ?? ? (1)檢查自賦值;
? ?? ?? ?? ?? ? (2)釋放原有內存資源;
? ?? ?? ?? ?? ? (3)分配新的內存資源,并復制內容;
? ?? ?? ?? ?? ? (4)返回 *this。是否遺漏了重要步驟?? ? ? ?
重要? ? ? ?? ?是否正確地編寫了派生類的構造函數、析構函數、賦值函數?
? ?? ?? ?? ?? ? 注意事項:
? ?? ?? ?? ?? ? (1)派生類不可能繼承基類的構造函數、析構函數、賦值函數。
? ?? ?? ?? ?? ? (2)派生類的構造函數應在其初始化表里調用基類的構造函數。
? ?? ?? ?? ?? ? (3)基類與派生類的析構函數應該為虛(即加virtual關鍵字)。
? ?? ?? ?? ?? ? (4)在編寫派生類的賦值函數時,注意不要忘記對基類的數據成員重新賦值。

類的高級特性
重要性? ? ? ? 審查項

重要? ? ? ?? ?是否違背了繼承和組合的規則?
? ?? ?? ?? ?? ? (1)若在邏輯上B是A的“一種”,并且A的所有功能和屬性對B而言都有意義,則允許B繼承A的功能和屬性。
? ?? ?? ?? ?? ? (2)若在邏輯上A是B的“一部分”(a part of),則不允許B從A派生,而是要用A和其它東西組合出B。

其它常見問題
重要性? ? ? ? 審查項

重要? ? ? ?? ?數據類型問題:
? ?? ?? ?? ?? ? (1)變量的數據類型有錯誤嗎?
? ?? ?? ?? ?? ? (2)存在不同數據類型的賦值嗎?
? ?? ?? ?? ?? ? (3)存在不同數據類型的比較嗎?
重要? ? ? ?? ?變量值問題:
? ?? ?? ?? ?? ? (1)變量的初始化或缺省值有錯誤嗎?
? ?? ?? ?? ?? ? (2)變量發生上溢或下溢嗎?
? ?? ?? ?? ?? ? (3)變量的精度夠嗎?? ? ? ?
重要? ? ? ?? ?邏輯判斷問題:
? ?? ?? ?? ?? ? (1)由于精度原因導致比較無效嗎?
? ?? ?? ?? ?? ? (2)表達式中的優先級有誤嗎?
? ?? ?? ?? ?? ? (3)邏輯判斷結果顛倒嗎?? ? ? ?
重要? ? ? ?? ?循環問題:
? ?? ?? ?? ?? ? (1)循環終止條件不正確嗎?
? ?? ?? ?? ?? ? (2)無法正常終止(死循環)嗎?
? ?? ?? ?? ?? ? (3)錯誤地修改循環變量嗎?
? ?? ?? ?? ?? ? (4)存在誤差累積嗎?? ? ? ?
重要? ? ? ?? ?錯誤處理問題:
? ?? ?? ?? ?? ? (1)忘記進行錯誤處理嗎?
? ?? ?? ?? ?? ? (2)錯誤處理程序塊一直沒有機會被運行?
? ?? ?? ?? ?? ? (3)錯誤處理程序塊本身就有毛病嗎?如報告的錯誤與實際錯誤不
? ?? ?? ?? ?? ?? ?? ?? ? 一致,處理方式不正確等等。
? ?? ?? ?? ?? ? (4)錯誤處理程序塊是“馬后炮”嗎?如在被它被調用之前軟件已經
? ?? ?? ?? ?? ?? ?? ?? ? 出錯。
重要? ? ? ?? ?文件I/O問題:
? ?? ?? ?? ?? ? (1)對不存在的或者錯誤的文件進行操作嗎?
? ?? ?? ?? ?? ? (2)文件以不正確的方式打開嗎?
? ?? ?? ?? ?? ? (3)文件結束判斷不正確嗎?
? ?? ?? ?? ?? ? (4)沒有正確地關閉文件嗎?
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品99免费看| 美女免费视频一区| 国产精品美女久久久久aⅴ国产馆| 亚洲蜜桃精久久久久久久| 亚洲国产三级| 欧美精品v国产精品v日韩精品| 亚洲黄色成人| 一本色道久久综合亚洲精品按摩| 欧美午夜精品久久久久久久| 亚洲摸下面视频| 欧美在线视频网站| 亚洲第一伊人| 一本久道久久综合狠狠爱| 国产精品久久久久久久久搜平片| 久久成人国产精品| 老鸭窝亚洲一区二区三区| 在线视频日本亚洲性| 欧美亚洲在线观看| 亚洲日本欧美天堂| 亚洲欧美999| 亚洲日本欧美在线| 亚洲欧美国产日韩中文字幕| 伊大人香蕉综合8在线视| 亚洲片在线观看| 国产一区91精品张津瑜| 亚洲丰满在线| 国产精品网站在线| 亚洲第一天堂av| 国产精品一区二区你懂得 | 欧美四级电影网站| 久久久久久综合网天天| 欧美欧美在线| 久久亚洲电影| 欧美午夜免费影院| 欧美大片一区| 国产精品亚洲美女av网站| 欧美国产视频一区二区| 国产精品乱人伦中文| 亚洲国产精品久久| 国外成人在线视频| 亚洲专区免费| 一本色道久久综合亚洲精品按摩| 欧美一区二区黄| 亚洲私人影吧| 蘑菇福利视频一区播放| 久久久久久999| 欧美色欧美亚洲另类七区| 欧美成人免费全部| 黄色成人片子| 午夜精品美女自拍福到在线 | 中日韩高清电影网| 亚洲激情欧美激情| 久久久久久电影| 久久成人一区二区| 国产精品久久网站| 99精品视频免费在线观看| 亚洲国产日韩欧美| 美女精品在线观看| 美女主播一区| 黄色国产精品| 久久国产欧美日韩精品| 性欧美videos另类喷潮| 欧美婷婷六月丁香综合色| 亚洲精品一区二区在线| 亚洲肉体裸体xxxx137| 能在线观看的日韩av| 欧美成人一区二免费视频软件| 黄色精品一区| 久久乐国产精品| 美女国内精品自产拍在线播放| 韩国在线一区| 美腿丝袜亚洲色图| 亚洲第一主播视频| 99视频精品在线| 欧美三级网址| 亚洲在线中文字幕| 久久精品视频免费观看| 一区二区三区在线观看国产| 久久久国际精品| 亚洲国产99精品国自产| 99精品热视频只有精品10| 欧美—级在线免费片| 亚洲人成网站999久久久综合| 99热在这里有精品免费| 欧美涩涩视频| 欧美亚洲在线播放| 欧美激情无毛| 亚洲一区国产| 国产一区二区精品在线观看| 久久久人成影片一区二区三区 | 亚洲欧美日韩高清| 国产一区二区毛片| 久久综合网色—综合色88| 91久久线看在观草草青青| 亚洲午夜精品视频| 国产一区二区三区在线观看免费 | 欧美精品色一区二区三区| 在线视频精品一| 久久精品一区二区三区四区| 亚洲激情在线| 国产精品青草久久| 久久综合国产精品| 一区二区三区国产精品| 久久久噜噜噜| 在线一区视频| 伊人久久综合| 国产精品久久国产精麻豆99网站| 久久不射网站| 99在线精品免费视频九九视| 久久久福利视频| 日韩午夜电影av| 国产一区二区久久精品| 欧美日韩一区不卡| 久久久久久久综合日本| 亚洲午夜激情网站| 亚洲深爱激情| 亚洲国产免费看| 国产精品人人爽人人做我的可爱| 久久在线免费观看| 欧美一区二区视频在线观看2020| 99精品热视频| 欧美激情亚洲自拍| 老牛嫩草一区二区三区日本| 午夜伦理片一区| 一区二区三欧美| 亚洲三级免费| 尤物九九久久国产精品的分类| 国产精品永久免费视频| 欧美天天视频| 欧美日韩国产一区二区三区地区| 久久综合激情| 久久久99国产精品免费| 午夜精品一区二区三区电影天堂| 亚洲老板91色精品久久| 亚洲人成人77777线观看| 欧美电影打屁股sp| 欧美国产一区在线| 老色批av在线精品| 狼狼综合久久久久综合网| 久久久综合网站| 久久久亚洲欧洲日产国码αv| 欧美一级大片在线免费观看| 亚洲在线视频网站| 亚洲欧美激情一区| 亚洲性视频h| 亚洲影院色无极综合| 亚洲午夜国产一区99re久久| aa亚洲婷婷| 亚洲天堂av高清| 亚洲视频免费看| 亚洲欧美网站| 久久久久国产精品厨房| 乱人伦精品视频在线观看| 久久天堂av综合合色| 欧美成人免费观看| 亚洲日本理论电影| 亚洲美女毛片| 亚洲一区二区欧美| 欧美在线视频日韩| 看片网站欧美日韩| 欧美激情视频一区二区三区免费| 欧美剧在线观看| 欧美视频一区二| 国产精品美腿一区在线看| 国产日韩欧美在线观看| 黄色一区三区| 日韩午夜高潮| 欧美一区激情| 美女露胸一区二区三区| 91久久精品美女| 在线一区二区日韩| 欧美一级欧美一级在线播放| 蜜桃av一区二区在线观看| 欧美日韩精品欧美日韩精品 | 欧美成人激情在线| 欧美日韩在线大尺度| 国产日韩一区二区三区在线| 一区二区亚洲精品国产| 亚洲美女在线视频| 久久精品夜色噜噜亚洲a∨| 免费一级欧美片在线观看| 一本色道88久久加勒比精品| 欧美一区二区视频网站| 欧美另类69精品久久久久9999| 国产欧美日韩一区| 亚洲另类自拍| 久久se精品一区二区| 亚洲人成在线影院| 亚洲欧美精品在线观看| 欧美精品午夜| ●精品国产综合乱码久久久久| 中国女人久久久| 美女精品一区| 亚洲免费中文| 亚洲视频高清| 欧美激情免费在线| 国产一区二区三区在线免费观看| 亚洲视频在线一区观看| 欧美国产在线电影| 欧美影片第一页|