需求评审
需求是真实的客户需求吗?
要解决的问题真实存在吗?
需求具有普遍的意义吗?
这个需求到底有多重要?
需求能不能分解、简化?
需求的最小要求是什么?
这个需求能不能在下一个版本再实现?
设计评审
能使用现存的接口吗?
设计是不是简单、直观?
一个接口是不是只表示一件事情?
加微信 ixuexi66 获取一手更新 仅供个人学习 请勿传播
个接 是不是只表
接口之间的依赖关系是不是明确?
接口的调用方式是不是方便、皮实?
接口的实现可以做到不可变吗?
接口是多线程安全的吗?
可以使用异步编程吗?
接口需不需要频繁地拷贝数据?
无状态数据和有状态数据需不需要分离?
有状态数据的处理是否支持规模水平扩张?
代码评审
有没有可以重用的代码?
新的代码是不是可以重用?
有没有使用不必要的实例?
原始数据类的使用是否恰当?
集合的操作是不是多线程安全?
集合是不是可以禁止修改?
实例的尺寸还有改进的空间吗?
需要使用延迟分配方案吗?
线程同步是不是必须的?
线程同步的阻塞时间可以更短吗?
多状态同步会不会引起死锁?
是不是可以避免频繁的对象创建、销毁?
是不是可以减少内存的分配、拷贝和释放频率?
静态的集合是否会造成内存泄漏?
长时间的缓存能不能及时清理?
系统的资源能不能安全地释放?
依赖哈希值的集合,储存的对象有没有实现 hashCode() 和 equals() 方法?
hashCode() 的实现,会不会产生撞车的哈希值?
代码的清理,有没有变更代码的逻辑?