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

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>
            另类亚洲自拍| 一区二区三区**美女毛片| 女人香蕉久久**毛片精品| 久久成人精品无人区| 欧美在线日韩精品| 久久久欧美一区二区| 久久免费高清| 欧美精品xxxxbbbb| 国产精品国产一区二区 | 亚洲美女中文字幕| 一二三区精品福利视频| 亚洲欧美日韩视频二区| 久久久久一区二区三区四区| 你懂的网址国产 欧美| 欧美乱大交xxxxx| 国产日韩精品一区二区三区| 狠色狠色综合久久| 日韩一区二区高清| 亚洲伊人观看| 可以看av的网站久久看| 亚洲人成毛片在线播放| 99精品国产99久久久久久福利| 这里只有精品丝袜| 久久久久久国产精品mv| 欧美日韩成人一区| 国产自产v一区二区三区c| 日韩视频在线观看一区二区| 欧美在线观看天堂一区二区三区| 欧美激情91| 亚洲欧美中日韩| 欧美日韩伦理在线| 在线观看亚洲专区| 欧美一区2区视频在线观看| 亚洲成人在线视频网站| 欧美一二三区在线观看| 欧美日韩一区二区国产| 亚洲国产一区二区在线| 欧美在线视频免费观看| 日韩网站在线看片你懂的| 久久久久久久网| 国产视频在线观看一区二区| 亚洲视频一区二区免费在线观看| 免费在线欧美黄色| 欧美在线观看视频| 国产欧美日韩亚洲| 亚洲欧美日本精品| av成人黄色| 欧美日韩视频在线第一区| 亚洲人体影院| 亚洲电影av| 麻豆成人在线| 亚洲国产成人tv| 欧美成va人片在线观看| 久久久夜夜夜| 亚洲国产精品久久91精品| 噜噜噜久久亚洲精品国产品小说| 亚洲欧美区自拍先锋| 国产欧美一区二区白浆黑人| 欧美在线播放| 久久久久久久精| 亚洲国产日韩欧美在线99| 欧美成人免费小视频| 蜜桃av久久久亚洲精品| 亚洲欧洲在线免费| 亚洲精品小视频| 欧美日韩在线一二三| 亚洲综合另类| 欧美怡红院视频| 亚洲电影在线免费观看| 亚洲国内高清视频| 欧美黑人在线播放| 亚洲自拍另类| 午夜国产精品视频| 一区精品在线| 亚洲激情视频在线播放| 欧美三级视频在线观看| 亚洲欧美一区二区三区极速播放| 亚洲一区二区在线免费观看| 亚洲一区观看| 午夜视频久久久| 伊人久久综合97精品| 亚洲国产精品久久人人爱蜜臀| 欧美国产日韩在线| 亚洲一区三区电影在线观看| 亚洲一二三区在线观看| 国产视频一区欧美| 亚洲第一毛片| 国产精品videosex极品| 久久精品成人欧美大片古装| 久久久免费av| 亚洲夜间福利| 久久久噜久噜久久综合| 一区二区三区视频在线看 | 久久精品综合一区| 亚洲欧洲一区二区三区在线观看| 亚洲精选视频免费看| 国产麻豆视频精品| 欧美激情a∨在线视频播放| 国产精品伦一区| 亚洲成色精品| 国产一区二区三区观看| 亚洲美女色禁图| 一区二区三区在线看| 一区二区欧美在线| 亚洲欧洲一区二区天堂久久| 亚洲免费视频成人| 99热精品在线观看| 老牛影视一区二区三区| 欧美与黑人午夜性猛交久久久| 欧美高清在线观看| 久久久久久有精品国产| 欧美性猛片xxxx免费看久爱| 亚洲国产另类久久精品| 一区免费视频| 欧美专区第一页| 欧美一级午夜免费电影| 欧美日本三区| 亚洲黄色成人久久久| 亚洲高清成人| 久久午夜电影网| 老色鬼精品视频在线观看播放| 国产精品欧美日韩一区| 99精品国产在热久久下载| 亚洲激情午夜| 免费欧美在线| 欧美国产第二页| 亚洲黄色免费电影| 久久亚洲综合色| 女人色偷偷aa久久天堂| 好吊妞这里只有精品| 羞羞视频在线观看欧美| 久久精品道一区二区三区| 国产噜噜噜噜噜久久久久久久久| 亚洲图片欧美午夜| 欧美亚洲综合网| 国内精品久久久久久影视8| 欧美亚洲一区在线| 久久久久国产精品午夜一区| 国产日韩精品久久久| 欧美一区二区三区另类| 久久免费视频在线观看| 精品99一区二区| 老司机午夜免费精品视频| 99伊人成综合| 亚洲国产一区二区视频| 欧美成人r级一区二区三区| 亚洲第一级黄色片| 亚洲激情网站免费观看| 免费成人网www| 亚洲黄色精品| 亚洲一区日韩在线| 国产一二三精品| 久热精品视频在线| 91久久黄色| 亚洲综合欧美日韩| 国内成人自拍视频| 欧美黄色aa电影| 亚洲综合99| 欧美不卡视频一区发布| 99国产精品99久久久久久| 国产精品久久久久7777婷婷| 欧美一区二区三区四区在线| 欧美成人一品| 亚洲色图综合久久| 国产视频在线一区二区| 欧美96在线丨欧| 亚洲小说欧美另类社区| 久久噜噜噜精品国产亚洲综合| 在线国产精品播放| 欧美色视频在线| 久久久www免费人成黑人精品| 亚洲高清视频在线观看| 久久丁香综合五月国产三级网站| 在线播放豆国产99亚洲| 欧美色欧美亚洲另类七区| 久久久国产精品一区二区三区| 亚洲国产影院| 久久伊人一区二区| 亚洲伊人网站| 亚洲麻豆av| 在线播放日韩专区| 国产精品久久久久久久久久免费看 | 一本一本久久| 免费欧美日韩| 欧美亚洲免费在线| 亚洲久久一区| 精品成人一区二区三区四区| 欧美午夜精品久久久| 久久综合久久综合久久| 午夜亚洲视频| 中国成人亚色综合网站| 亚洲国产成人精品久久| 久久久综合视频| 亚洲免费在线精品一区| 亚洲破处大片| 极品少妇一区二区| 国产日产精品一区二区三区四区的观看方式 | 一区二区在线观看视频| 国产女主播视频一区二区| 欧美日韩在线不卡|