闭卷重建从文件分割到职责边界的对象、状态、事件、不变量与一个失败反例。
程序设计 II:抽象、内存与并发 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷重建接口、实现与不变量的对象、状态、事件、不变量与一个失败反例。
闭卷重建命名空间与导入图的对象、状态、事件、不变量与一个失败反例。
闭卷重建依赖倒置与替换点的对象、状态、事件、不变量与一个失败反例。
闭卷重建实验:模块依赖环检测的对象、状态、事件、不变量与一个失败反例。
闭卷重建实验:接口兼容性检查的对象、状态、事件、不变量与一个失败反例。
闭卷重建模块契约与评审的对象、状态、事件、不变量与一个失败反例。
核心机制:接口、实现与不变量必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕接口、实现与不变量先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:接口、实现与不变量不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:从文件分割到职责边界必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕从文件分割到职责边界先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:从文件分割到职责边界不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:依赖倒置与替换点必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕依赖倒置与替换点先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:依赖倒置与替换点不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:命名空间与导入图必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕命名空间与导入图先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:命名空间与导入图不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:实验:接口兼容性检查必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕实验:接口兼容性检查先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:实验:接口兼容性检查不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:实验:模块依赖环检测必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕实验:模块依赖环检测先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:实验:模块依赖环检测不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:模块契约与评审必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕模块契约与评审先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:模块契约与评审不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。