- 需求之內,關注
(1) 需求本身是否正確、完整、無二義性(雖然這一步主要在需求學習階段進行,但design review發現需求本身問題仍然不算太晚。而且一般此階段暴露的需求問題也比需求學習時更深入和細致。)(如果是CR,需要從代碼角度再次確認是否所有的影響都被分析到了。)
(2) 已經明確的需求是否被正確理解、完整覆蓋
(3) 需求上的等價類是否由于設計而不等價了
- 需求之外,關注
(4)設計時添加的控制字段、mock出來的對象等的具體含義和用法
(5) 是否考慮了非功能性需求,如性能、可用性、兼容性、可擴展性等
(6) 是否考慮了特定技術下的異常情況的處理,如多線程的調度先后順序、cache的同步等
(7) 設計是否具有良好的可測試性
(8) 設計是否符合通用的設計原則和應用了正確的設計模式