闭卷解释接口、实现与目录结构的编译阶段、对象状态、规则和失败边界。
C++程序设计 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷解释单元测试与可测设计的编译阶段、对象状态、规则和失败边界。
闭卷解释编译警告与静态检查的编译阶段、对象状态、规则和失败边界。
闭卷解释调试器与sanitizer思维的编译阶段、对象状态、规则和失败边界。
闭卷解释性能测量与基准的编译阶段、对象状态、规则和失败边界。
闭卷解释CMake与可重复构建的编译阶段、对象状态、规则和失败边界。
闭卷解释综合项目答辩的编译阶段、对象状态、规则和失败边界。
规则:test one behavior with controlled inputs;任务:写一个能编译运行的最小程序展示“单元测试与可测设计”,记录输入、关键对象状态、输出和编译命令,并用规则 test one behavior with controlled inputs 解释结果;边界:不得把“单元测试与可测设计”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:interface is dependency boundary;任务:写一个能编译运行的最小程序展示“接口、实现与目录结构”,记录输入、关键对象状态、输出和编译命令,并用规则 interface is dependency boundary 解释结果;边界:不得把“接口、实现与目录结构”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:first invalid access matters;任务:写一个能编译运行的最小程序展示“调试器与sanitizer思维”,记录输入、关键对象状态、输出和编译命令,并用规则 first invalid access matters 解释结果;边界:不得把“调试器与sanitizer思维”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:warnings expose suspicious constructs;任务:写一个能编译运行的最小程序展示“编译警告与静态检查”,记录输入、关键对象状态、输出和编译命令,并用规则 warnings expose suspicious constructs 解释结果;边界:不得把“编译警告与静态检查”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:build graph makes artifacts reproducible;任务:写一个能编译运行的最小程序展示“CMake与可重复构建”,记录输入、关键对象状态、输出和编译命令,并用规则 build graph makes artifacts reproducible 解释结果;边界:不得把“CMake与可重复构建”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:benchmark fixes workload and metric;任务:写一个能编译运行的最小程序展示“性能测量与基准”,记录输入、关键对象状态、输出和编译命令,并用规则 benchmark fixes workload and metric 解释结果;边界:不得把“性能测量与基准”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:evidence=tests+sanitizers+benchmark;任务:写一个能编译运行的最小程序展示“综合项目答辩”,记录输入、关键对象状态、输出和编译命令,并用规则 evidence=tests+sanitizers+benchmark 解释结果;边界:不得把“综合项目答辩”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界