摘自:《**大全》
類的質量核對表:
1. 抽象資料型別
1.1 是否把程式中的類都看做時抽象資料型別了?是否從這個交大評估它們的介面?
2. 抽象
2.1 類是否有乙個中心目的?
2.2 類的命名是否恰當?其名字是否表達了其中心目的?
2.3 類的介面是否展現了一致的抽象?
2.4 類的介面是否能讓人清楚明白地知道該如何使用它?
2.5 類的介面是否足夠完整,能讓其它類無須動用其內部資料?
2.6 是否已從類中除去無關資訊?
2.7 是否考慮國把類進一步分解為元件類?是否已盡可能將其分解?
2.8 在修改類時是否維持了其介面的完整性?
3. 封裝
3.1 是否把類的成員的可訪問性降到最小?
3.2 是否避免暴露類中的資料成員?
3.3 在程式語言所許可的範圍內,類是否已盡可能地對其它的類隱藏了自己的實現細節?
3.4 類是否避免對其他使用者,包括其它派生類會如何使用它做了假設?
3.5 類是否不依賴於其它類?它是鬆散耦合的嗎?
4. 繼承
4.1 繼承是否用來建立「是乙個/is a」的關係?也就是說,派生類是否遵循了lsp(liskov替換原則)?(lsp:派生類必須能通過基類的介面而被使用,且使用者無須了解兩者之間的差異。)
4.2 類的文件中是否記述了其繼承策略?
4.3 派生類是否避免了「覆蓋」不可覆蓋的方法?
4.4 是否把共用的介面、資料和行為都放到盡可能高的繼承層次中了?
4.5 繼承層次是否很淺?
4.6 基類中所有的資料成員是否都被定義為private而非protected的了?
5. 跟實現相關的其它問題
5.1 類中是否只有大約七個或更少的資料成員?
5.2 是否把類直接或間接呼叫其它類的子程式的數量減到最少了?
5.3 類是否只在絕對必要時才與其它的類相互協作?
5.4 是否在建構函式中初始化了所有的資料成員?
5.5 除非擁有經過測量的、建立淺層複本的理由,類是否都被設計為當作深層複本使用?
6. 與語言相關的問題
6.1 是否研究過所有程式語言裡和類相關的各種特有問題?
類質量的核對表
抽象資料型別 1 你是否把程式中的類都看做是抽象資料型別了?是否從這個角度評估它們的介面了?抽象1 類是否有乙個中心目的?2 類的命名是否恰當?其名字是否表達了其中心目的?3 類的介面是否展現了一致的抽象?4 類的介面是否讓人清楚明白的知道該如何使用它 5 類的介面是否足夠抽象,使你能不必顧慮它是如...
核對表 防禦式程式設計
1.子程式是否保護自己免遭有害輸入資料的破壞?2.你用斷言來說明程式設計假定嗎?其中包括了前條件和後條件嗎?3.斷言是否只是用來說明從不應該發生的情況?4.你是否在架構或高層設計中規定了一組特定的錯誤處理技術?5.你是否在架構或高層設計中規定了是讓錯誤處理更傾向於健壯性還是正確性?6.你是否建立了隔...
J2ME應用使用者體驗核對表 翻譯
j2me 應用使用者體驗核對表 翻譯 翻譯整理 陳躍峰 出自 http blog.csdn.mailbomb 使用者體驗,即使用者操作,是 j2me 1 快速核對表 下面的內容是一些在程式中需要做到的要求 l在 ui中,方向鍵風格和軟鍵一致 l錯誤和提示資訊不包含技術名詞 l應用具有幫助功能,幫助中...