diff --git a/AGENTS.md b/AGENTS.md index c04b79a..59f351f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -212,8 +212,7 @@ git push origin develop - `tools/prompts-library/main.py` - 提示词转换工具入口 - `docs/getting-started/README.md` - 从零开始完整入门,包含学习地图、Vibe Coding 经验、网络配置、CLI 配置与开发环境搭建 - `docs/concepts/问题求解能力.md` - 问题定义与求解路径底层模型 -- `docs/references/底层程序逻辑设计与工程优化项.md` - 底层程序逻辑与工程优化检查项 -- `docs/references/工程实践.md` - 项目架构、代码组织、开发经验、AI 编程质量门禁与常见坑的统一入口 +- `docs/references/工程实践.md` - 项目架构、代码组织、开发经验、底层程序逻辑、AI 编程质量门禁与常见坑的统一入口 - `docs/references/技术栈.md` - 常见软件系统技术栈、选型维度、组合案例与初学者学习路径 - `skills/auto-skill/` - Skills 生成、重构与校验的元技能 diff --git a/docs/concepts/软件开发范式演进.md b/docs/concepts/软件开发范式演进.md deleted file mode 100644 index b512361..0000000 --- a/docs/concepts/软件开发范式演进.md +++ /dev/null @@ -1,22 +0,0 @@ -# 软件开发范式演进 - -软件开发范式的演进可以概括为一组随工程复杂度提升而逐步形成的设计思想与组织方式,而非严格的历史线性阶段或全球统一的标准分期。 - -## 主要演进方向 - -1. 面向过程编程 -以执行流程为核心,将代码按照步骤、函数和过程进行组织,强调程序逻辑的顺序性与可执行性。 - -2. 面向对象编程 -将数据与行为封装为对象,通过类、对象、继承、多态等机制组织系统结构,提高代码的封装性、复用性和可维护性。 - -3. 面向接口与抽象编程 -强调模块应依赖接口或抽象,而非直接依赖具体实现类,以降低模块间耦合度,提升系统的扩展性与可替换性。 - -4. 组件化、分层架构与依赖注入 -将系统拆分为职责明确、边界清晰、可组合和可替换的模块或组件,并通过分层设计和依赖注入机制管理模块间关系,增强系统的结构化程度和可维护性。 - -5. 服务化、微服务与云原生架构 -在模块化基础上,将系统进一步拆分为可独立开发、部署、扩展和运维的服务单元,并结合云原生理念提升系统的弹性、可扩展性和工程协作效率。 - -上述内容并不表示软件开发存在固定、统一或严格递进的阶段划分。不同范式和架构思想往往并存,并会根据项目规模、业务复杂度、团队协作方式和技术环境被组合使用。 diff --git a/docs/getting-started/README.md b/docs/getting-started/README.md index 38aeab9..57e3eb8 100644 --- a/docs/getting-started/README.md +++ b/docs/getting-started/README.md @@ -68,9 +68,7 @@ 2. [拼好码](../concepts/拼好码.md) 优先复用成熟能力,把自研代码限制在连接、编排、适配和业务逻辑。 3. [工程实践](../references/工程实践.md) - 在任务开始前写清楚目标、边界、禁止项、验收标准和门禁,并识别上下文漂移、过度实现、幻觉和不可验证输出。 -4. [底层程序逻辑设计与工程优化项](../references/底层程序逻辑设计与工程优化项.md) - 用更稳定的代码结构和检查项约束实现质量。 + 在任务开始前写清楚目标、边界、禁止项、验收标准和门禁,并用底层程序逻辑检查项约束实现质量。 完成标准: diff --git a/docs/references/README.md b/docs/references/README.md index 73e96b4..60e0cbb 100644 --- a/docs/references/README.md +++ b/docs/references/README.md @@ -15,11 +15,9 @@ ### 软件工程基础 - [问题求解能力](../concepts/问题求解能力.md) - 目标、现状、差距、标准与反馈迭代的底层能力 - [问题分析与系统构建方法](../concepts/问题分析与系统构建方法.md) - 自顶向下、自底向上与分而治之的组合使用 -- [软件开发范式演进](../concepts/软件开发范式演进.md) - 从面向过程到云原生的工程组织方式演进 -- [底层程序逻辑设计与工程优化项](底层程序逻辑设计与工程优化项.md) - CPU、内存、并发、IO、网络、数据结构与交付优化检查项 ### 工程实践 -- [工程实践](工程实践.md) - 项目架构、代码组织、开发经验、AI 编程质量门禁与常见坑的统一入口 +- [工程实践](工程实践.md) - 项目架构、代码组织、开发经验、底层程序逻辑、AI 编程质量门禁与常见坑的统一入口 - [技术栈](技术栈.md) - 软件系统常见技术栈、选型维度、组合案例与初学者学习路径 ## 🔗 相关资源 diff --git a/docs/references/工程实践.md b/docs/references/工程实践.md index fa86614..f4334ee 100644 --- a/docs/references/工程实践.md +++ b/docs/references/工程实践.md @@ -1,11 +1,12 @@ # 工程实践 -> 本文档合并原 `项目架构模板.md`、`代码组织.md`、`开发经验.md` 与 `AI编程质量门禁与常见坑.md`,作为项目架构、代码组织、开发经验、AI 编程质量门禁与常见坑的统一入口。 +> 本文档合并原 `项目架构模板.md`、`代码组织.md`、`开发经验.md`、`底层程序逻辑设计与工程优化项.md` 与 `AI编程质量门禁与常见坑.md`,作为项目架构、代码组织、开发经验、底层程序逻辑、AI 编程质量门禁与常见坑的统一入口。 ## 使用方式 - 新项目从「项目架构模板」开始,先确定目录、边界、门禁和检查清单。 - 写代码前看「代码组织」与「开发经验」,统一命名、结构、职责和迭代方式。 +- 做实现、重构或性能排查前看「底层程序逻辑设计与工程优化项」,用运行模型、并发模型、数据模型和性能模型约束方案。 - 使用 AI 编程时看「AI 编程质量门禁与常见坑」,把自然语言验收标准落到测试、CI、脚本、类型、schema 或检查清单。 - 遇到问题时优先按本文档中的门禁和常见坑排查,不要直接进入盲目重写。 @@ -15,6 +16,7 @@ - [2. 代码组织](#2-代码组织) - [3. 开发经验](#3-开发经验) - [4. AI 编程质量门禁与常见坑](#4-ai-编程质量门禁与常见坑) +- [5. 底层程序逻辑设计与工程优化项](#5-底层程序逻辑设计与工程优化项) ## 1. 项目架构模板 @@ -2721,3 +2723,583 @@ git stash pop #### 📝 贡献 遇到新坑?欢迎 PR 补充! + +## 5. 底层程序逻辑设计与工程优化项 + +> 来源:`底层程序逻辑设计与工程优化项.md` + +这一节是底层程序逻辑、运行模型、性能模型、并发模型、数据模型和工程交付优化的检查清单。用于代码实现、重构、性能排查和 AI 编程验收前的系统性自检。 + +```text +CPU +事务 +缓存 +并发 +内存 +IO +网络 +数据结构 +算法 +抽象 +接口 +函数 +递归 +循环 +条件分支 +顺序性 +副作用 +状态 +数据流 +控制流 +进程模型 +线程模型 +协程模型 +用户态线程 vs 内核线程 +同步模型 +异步模型 +事件驱动模型 +批处理模型 +流式处理模型 +计算模型 +调度模型 +内存模型 +并发模型 +数据模型 +状态模型 +错误模型 +性能模型 +成本模型 +容量模型 +CPU cache 友好设计 +CPU 使用优化 +CPU 亲和性 +上下文切换成本 +分支预测意识 +分支预测友好设计 +流水线友好设计 +指令级并行意识 +SIMD 思维 +向量化计算 +GPU 计算设计 +GPU 内存访问优化 +算子融合 +计算图优化 +数值稳定性设计 +浮点误差控制 +近似计算 +增量计算 +重复计算消除 +预计算与查表 +延迟计算 +懒加载 +即时计算 vs 预计算 +本地计算 vs 远程调用 +计算复杂度优化 +时间复杂度优化 +空间复杂度优化 +空间换时间设计 +数据局部性优化 +内存访问优化 +内存分配优化 +栈/堆使用判断 +逃逸分析意识 +GC 友好设计 +JIT/解释执行理解 +内联优化意识 +对象生命周期设计 +内存生命周期管理 +内存泄漏控制 +内存碎片控制 +堆外内存管理 +引用计数 +弱引用 +内存对齐 +结构体 padding +TLB 命中率意识 +页缓存理解 +缺页中断意识 +内存分页 +NUMA 感知设计 +内存屏障理解 +happens-before 关系 +可见性 +有序性 +原子性 +false sharing 避免 +原子操作与 CAS +ABA 问题 +锁粒度设计 +锁竞争优化 +读写锁适用性 +可重入锁风险 +锁顺序约束 +无锁数据结构 +锁自由设计 +等待自由设计 +死锁 +活锁 +饥饿 +优先级反转 +条件变量 +信号量 +屏障同步 +并发安全设计 +并发正确性设计 +并发测试 +竞态检测 +任务拆分策略 +工作队列设计 +优先级调度 +调度公平性 +线程池设计 +线程池饱和处理 +队列积压处理 +背压机制 +超时传播 +取消传播 +异步上下文传播 +异步异常处理 +同步/异步边界设计 +阻塞式等待识别 +阻塞 IO +非阻塞 IO +IO 多路复用 +select / poll / epoll / kqueue +io_uring 理解 +Reactor 模型 +Proactor 模型 +事件循环设计 +事件队列设计 +事件优先级 +事件饥饿 +系统调用成本意识 +文件描述符管理 +句柄泄漏控制 +资源释放 +资源隔离 +资源配额 +资源池化 +对象池设计 +连接池设计 +缓冲区设计 +零拷贝思路 +DMA 理解 +mmap 使用判断 +sendfile 使用判断 +IO 合并 +批处理与合并请求 +网络调用优化 +DNS 解析成本 +DNS 缓存策略 +TCP 连接建立成本 +TCP 慢启动 +TCP 拥塞控制 +Nagle 算法影响 +KeepAlive 策略 +连接复用 +连接泄漏控制 +Socket buffer 调优 +HTTP/1.1 vs HTTP/2 vs HTTP/3 +TLS 握手成本 +证书校验成本 +长连接管理 +半开连接处理 +请求队头阻塞 +网络超时设计 +网络抖动处理 +网络分区处理 +MTU / 分片意识 +带宽与延迟权衡 +序列化优化 +反序列化成本控制 +压缩策略选择 +压缩率 vs CPU 成本权衡 +数据编码选择 +数据格式选择 +Schema 设计 +Schema 演进 +字段兼容性 +枚举扩展风险 +默认值策略 +数据结构选择 +缓存结构选择 +队列与堆选择 +索引结构选择 +概率数据结构 +布隆过滤器 +HyperLogLog +Count-Min Sketch +LRU / LFU / FIFO 选择 +树结构选择 +哈希结构选择 +跳表选择 +B+Tree 理解 +LSM Tree 理解 +图结构建模 +排序策略选择 +查找策略选择 +贪心策略判断 +动态规划建模 +图算法选择 +分治策略选择 +回溯策略选择 +启发式算法选择 +算法策略选择 +算法稳定性 +算法可解释性 +循环结构优化 +递归深度控制 +尾递归优化判断 +无边界递归避免 +数据预聚合 +数据分片与分区 +数据倾斜处理 +MapReduce 思维 +并行计算设计 +批处理设计 +流式处理设计 +冷热路径拆分 +冷路径隔离 +热路径优化 +性能瓶颈识别 +性能指标定义 +Profiling 能力 +火焰图分析 +慢查询分析 +Trace 分析 +日志埋点设计 +结构化日志 +日志等级设计 +Trace ID 传播 +Span 设计 +Metrics 设计 +高基数指标控制 +Dashboard 设计 +告警规则设计 +告警降噪 +SLO / SLA / SLI +错误预算 +黑盒监控 +白盒监控 +用户体验监控 +业务指标监控 +容量水位监控 +Benchmark 设计 +压测设计 +容量评估 +峰值流量模型 +流量预测 +性能回归测试 +优化验证 +优化收益评估 +优化 ROI 评估 +过早优化识别 +伪优化识别 +缓存层级设计 +分层缓存 +本地缓存 +分布式缓存 +页面缓存 +对象缓存 +查询缓存 +结果复用 +缓存对象选择 +缓存 key 设计 +缓存一致性 +缓存失效策略 +缓存淘汰策略 +缓存预热机制 +缓存穿透处理 +缓存击穿处理 +缓存雪崩处理 +热点缓存处理 +缓存污染控制 +缓存容量控制 +缓存命中率评估 +数据访问优化 +数据访问方式选择 +数据访问路径设计 +查询路径设计 +写入路径优化 +索引设计 +覆盖索引 +索引下推 +回表成本控制 +分页优化 +游标分页 +N+1 查询消除 +查询计划理解 +执行计划稳定性 +统计信息维护 +慢查询治理 +锁等待分析 +死锁分析 +事务范围控制 +事务边界 +事务隔离级别 +MVCC 理解 +WAL 理解 +Redo / Undo 日志 +Checkpoint +Buffer Pool +页分裂控制 +Compaction +分区裁剪 +分库分表 +读写分离 +冷热数据分层 +数据归档 +TTL 策略 +CDC 变更捕获 +数据回放 +数据修复 +数据血缘 +数据质量校验 +范式化 vs 反范式化 +数据冗余与同步 +热点数据处理 +数据生命周期设计 +数据流路径设计 +数据转换链路设计与优化 +数据校验位置 +数据一致性设计 +顺序性与版本控制 +版本冲突解决 +逻辑时钟 +向量时钟 +时钟偏移处理 +读己之写 +单调读 +强一致性 +最终一致性 +CAP 理解 +PACELC 理解 +分布式事务 +Saga 模式 +TCC 模式 +Outbox 模式 +Inbox 模式 +幂等性设计 +幂等键设计 +去重设计 +请求唯一 ID +消息可靠投递 +至少一次语义 +至多一次语义 +恰好一次语义 +消息重复处理 +消息乱序处理 +消息积压处理 +消费位点管理 +分布式锁 +租约机制 +Fencing Token +Leader 选举 +Raft / Paxos 理解 +脑裂处理 +服务发现 +负载均衡 +一致性哈希 +分片迁移 +数据再均衡 +纯逻辑与 IO 分离 +数据流与控制流分离 +副作用控制 +状态管理方式选择 +状态一致性 +状态机设计 +状态机 vs 条件分支 +状态流转设计 +中间状态设计 +数据不变量 +前置条件与后置条件 +顺序依赖设计 +短路逻辑设计 +分支条件设计 +早返回设计 +控制流扁平化 +执行路径设计 +主流程与分支流程设计 +代码路径可读性 +复杂度控制 +依赖方向设计 +模块边界设计 +包依赖治理 +循环依赖检测 +接口语义设计 +API 契约设计 +接口版本管理 +向前兼容 +向后兼容 +错误码规范 +错误语义稳定性 +部分响应设计 +批量接口设计 +限流响应协议 +请求签名 +契约测试 +函数职责设计 +逻辑拆分粒度 +抽象层次选择 +组合方式选择 +处理模式选择 +策略模式 vs switch-case +管道模式 vs 单体函数 +事件驱动 vs 直接调用 +同步处理 vs 异步处理 +批处理 vs 实时处理 +配置化 vs 硬编码 +配置化 vs 代码化 +通用化 vs 专用化 +规则引擎 vs 硬编码 +通用框架 vs 专用实现 +可替换性 +规则隔离 +扩展点设计 +变更影响范围 +技术债识别 +技术债偿还策略 +迁移策略 +废弃策略 +兼容窗口 +文档化 +ADR 决策记录 +设计评审 +接口评审 +性能评审 +安全评审 +输入合法性校验 +边界条件覆盖 +异常分类 +错误传播 +错误封装 +错误恢复 +部分成功处理 +流程中断与恢复 +中断、回滚、重试流程 +重试策略 +指数退避 +重试抖动 jitter +重试风暴防护 +失败降级策略 +限流设计 +熔断器设计 +舱壁隔离 +过载保护 +请求排队策略 +丢弃策略 +快速失败 +故障隔离 +故障注入 +混沌工程 +降级开关 +灰度降级 +超时预算 +Deadline 传播 +服务健康检查 +自愈机制 +优雅降级 +优雅关闭 +启动预热 +冷启动控制 +灾难恢复 +备份与恢复 +RPO / RTO +认证设计 +授权设计 +权限模型 +最小权限原则 +权限边界 +身份冒用防护 +输入注入防护 +SQL 注入 +命令注入 +XSS +CSRF +SSRF +反序列化风险 +路径穿越 +敏感信息脱敏 +日志脱敏 +密钥管理 +Token 生命周期 +加密存储 +传输加密 +签名校验 +重放攻击防护 +多租户隔离 +安全审计 +依赖漏洞治理 +供应链安全 +单元测试设计 +集成测试设计 +端到端测试 +回归测试 +稳定性测试 +兼容性测试 +模糊测试 Fuzzing +属性测试 Property-based Testing +测试数据构造 +Mock 边界 +测试隔离 +可测性设计 +确定性测试 +时间依赖测试 +随机性控制 +灰度发布 +蓝绿发布 +金丝雀发布 +滚动发布 +回滚策略 +配置发布 +特性开关 +Feature Flag +数据库变更发布 +兼容性发布 +双写切换 +流量切换 +影子流量 +压测环境隔离 +生产变更风险评估 +变更审计 +发布前检查 +发布后验证 +Runbook +应急预案 +值班机制 +资源成本评估 +CPU 成本 +内存成本 +存储成本 +网络成本 +第三方 API 成本 +云资源成本 +成本预算 +弹性伸缩 +扩容策略 +缩容策略 +成本收益权衡 +反模式识别 +大锁 +大事务 +全局状态污染 +重复 IO +重复计算 +过深嵌套 +隐式控制流 +过度通用化 +过早抽象 +过早优化 +伪优化 +缺少退路 +缺少幂等 +缺少超时 +缺少取消 +缺少隔离 +缺少限流 +缺少监控 +缺少回滚 +缺少兼容 +缺少验证 +缺少容量评估 +``` diff --git a/docs/references/底层程序逻辑设计与工程优化项.md b/docs/references/底层程序逻辑设计与工程优化项.md deleted file mode 100644 index f217acf..0000000 --- a/docs/references/底层程序逻辑设计与工程优化项.md +++ /dev/null @@ -1,573 +0,0 @@ -# 底层程序逻辑设计与工程优化项 - -CPU -事务 -缓存 -并发 -内存 -IO -网络 -数据结构 -算法 -抽象 -接口 -函数 -递归 -循环 -条件分支 -顺序性 -副作用 -状态 -数据流 -控制流 -进程模型 -线程模型 -协程模型 -用户态线程 vs 内核线程 -同步模型 -异步模型 -事件驱动模型 -批处理模型 -流式处理模型 -计算模型 -调度模型 -内存模型 -并发模型 -数据模型 -状态模型 -错误模型 -性能模型 -成本模型 -容量模型 -CPU cache 友好设计 -CPU 使用优化 -CPU 亲和性 -上下文切换成本 -分支预测意识 -分支预测友好设计 -流水线友好设计 -指令级并行意识 -SIMD 思维 -向量化计算 -GPU 计算设计 -GPU 内存访问优化 -算子融合 -计算图优化 -数值稳定性设计 -浮点误差控制 -近似计算 -增量计算 -重复计算消除 -预计算与查表 -延迟计算 -懒加载 -即时计算 vs 预计算 -本地计算 vs 远程调用 -计算复杂度优化 -时间复杂度优化 -空间复杂度优化 -空间换时间设计 -数据局部性优化 -内存访问优化 -内存分配优化 -栈/堆使用判断 -逃逸分析意识 -GC 友好设计 -JIT/解释执行理解 -内联优化意识 -对象生命周期设计 -内存生命周期管理 -内存泄漏控制 -内存碎片控制 -堆外内存管理 -引用计数 -弱引用 -内存对齐 -结构体 padding -TLB 命中率意识 -页缓存理解 -缺页中断意识 -内存分页 -NUMA 感知设计 -内存屏障理解 -happens-before 关系 -可见性 -有序性 -原子性 -false sharing 避免 -原子操作与 CAS -ABA 问题 -锁粒度设计 -锁竞争优化 -读写锁适用性 -可重入锁风险 -锁顺序约束 -无锁数据结构 -锁自由设计 -等待自由设计 -死锁 -活锁 -饥饿 -优先级反转 -条件变量 -信号量 -屏障同步 -并发安全设计 -并发正确性设计 -并发测试 -竞态检测 -任务拆分策略 -工作队列设计 -优先级调度 -调度公平性 -线程池设计 -线程池饱和处理 -队列积压处理 -背压机制 -超时传播 -取消传播 -异步上下文传播 -异步异常处理 -同步/异步边界设计 -阻塞式等待识别 -阻塞 IO -非阻塞 IO -IO 多路复用 -select / poll / epoll / kqueue -io_uring 理解 -Reactor 模型 -Proactor 模型 -事件循环设计 -事件队列设计 -事件优先级 -事件饥饿 -系统调用成本意识 -文件描述符管理 -句柄泄漏控制 -资源释放 -资源隔离 -资源配额 -资源池化 -对象池设计 -连接池设计 -缓冲区设计 -零拷贝思路 -DMA 理解 -mmap 使用判断 -sendfile 使用判断 -IO 合并 -批处理与合并请求 -网络调用优化 -DNS 解析成本 -DNS 缓存策略 -TCP 连接建立成本 -TCP 慢启动 -TCP 拥塞控制 -Nagle 算法影响 -KeepAlive 策略 -连接复用 -连接泄漏控制 -Socket buffer 调优 -HTTP/1.1 vs HTTP/2 vs HTTP/3 -TLS 握手成本 -证书校验成本 -长连接管理 -半开连接处理 -请求队头阻塞 -网络超时设计 -网络抖动处理 -网络分区处理 -MTU / 分片意识 -带宽与延迟权衡 -序列化优化 -反序列化成本控制 -压缩策略选择 -压缩率 vs CPU 成本权衡 -数据编码选择 -数据格式选择 -Schema 设计 -Schema 演进 -字段兼容性 -枚举扩展风险 -默认值策略 -数据结构选择 -缓存结构选择 -队列与堆选择 -索引结构选择 -概率数据结构 -布隆过滤器 -HyperLogLog -Count-Min Sketch -LRU / LFU / FIFO 选择 -树结构选择 -哈希结构选择 -跳表选择 -B+Tree 理解 -LSM Tree 理解 -图结构建模 -排序策略选择 -查找策略选择 -贪心策略判断 -动态规划建模 -图算法选择 -分治策略选择 -回溯策略选择 -启发式算法选择 -算法策略选择 -算法稳定性 -算法可解释性 -循环结构优化 -递归深度控制 -尾递归优化判断 -无边界递归避免 -数据预聚合 -数据分片与分区 -数据倾斜处理 -MapReduce 思维 -并行计算设计 -批处理设计 -流式处理设计 -冷热路径拆分 -冷路径隔离 -热路径优化 -性能瓶颈识别 -性能指标定义 -Profiling 能力 -火焰图分析 -慢查询分析 -Trace 分析 -日志埋点设计 -结构化日志 -日志等级设计 -Trace ID 传播 -Span 设计 -Metrics 设计 -高基数指标控制 -Dashboard 设计 -告警规则设计 -告警降噪 -SLO / SLA / SLI -错误预算 -黑盒监控 -白盒监控 -用户体验监控 -业务指标监控 -容量水位监控 -Benchmark 设计 -压测设计 -容量评估 -峰值流量模型 -流量预测 -性能回归测试 -优化验证 -优化收益评估 -优化 ROI 评估 -过早优化识别 -伪优化识别 -缓存层级设计 -分层缓存 -本地缓存 -分布式缓存 -页面缓存 -对象缓存 -查询缓存 -结果复用 -缓存对象选择 -缓存 key 设计 -缓存一致性 -缓存失效策略 -缓存淘汰策略 -缓存预热机制 -缓存穿透处理 -缓存击穿处理 -缓存雪崩处理 -热点缓存处理 -缓存污染控制 -缓存容量控制 -缓存命中率评估 -数据访问优化 -数据访问方式选择 -数据访问路径设计 -查询路径设计 -写入路径优化 -索引设计 -覆盖索引 -索引下推 -回表成本控制 -分页优化 -游标分页 -N+1 查询消除 -查询计划理解 -执行计划稳定性 -统计信息维护 -慢查询治理 -锁等待分析 -死锁分析 -事务范围控制 -事务边界 -事务隔离级别 -MVCC 理解 -WAL 理解 -Redo / Undo 日志 -Checkpoint -Buffer Pool -页分裂控制 -Compaction -分区裁剪 -分库分表 -读写分离 -冷热数据分层 -数据归档 -TTL 策略 -CDC 变更捕获 -数据回放 -数据修复 -数据血缘 -数据质量校验 -范式化 vs 反范式化 -数据冗余与同步 -热点数据处理 -数据生命周期设计 -数据流路径设计 -数据转换链路设计与优化 -数据校验位置 -数据一致性设计 -顺序性与版本控制 -版本冲突解决 -逻辑时钟 -向量时钟 -时钟偏移处理 -读己之写 -单调读 -强一致性 -最终一致性 -CAP 理解 -PACELC 理解 -分布式事务 -Saga 模式 -TCC 模式 -Outbox 模式 -Inbox 模式 -幂等性设计 -幂等键设计 -去重设计 -请求唯一 ID -消息可靠投递 -至少一次语义 -至多一次语义 -恰好一次语义 -消息重复处理 -消息乱序处理 -消息积压处理 -消费位点管理 -分布式锁 -租约机制 -Fencing Token -Leader 选举 -Raft / Paxos 理解 -脑裂处理 -服务发现 -负载均衡 -一致性哈希 -分片迁移 -数据再均衡 -纯逻辑与 IO 分离 -数据流与控制流分离 -副作用控制 -状态管理方式选择 -状态一致性 -状态机设计 -状态机 vs 条件分支 -状态流转设计 -中间状态设计 -数据不变量 -前置条件与后置条件 -顺序依赖设计 -短路逻辑设计 -分支条件设计 -早返回设计 -控制流扁平化 -执行路径设计 -主流程与分支流程设计 -代码路径可读性 -复杂度控制 -依赖方向设计 -模块边界设计 -包依赖治理 -循环依赖检测 -接口语义设计 -API 契约设计 -接口版本管理 -向前兼容 -向后兼容 -错误码规范 -错误语义稳定性 -部分响应设计 -批量接口设计 -限流响应协议 -请求签名 -契约测试 -函数职责设计 -逻辑拆分粒度 -抽象层次选择 -组合方式选择 -处理模式选择 -策略模式 vs switch-case -管道模式 vs 单体函数 -事件驱动 vs 直接调用 -同步处理 vs 异步处理 -批处理 vs 实时处理 -配置化 vs 硬编码 -配置化 vs 代码化 -通用化 vs 专用化 -规则引擎 vs 硬编码 -通用框架 vs 专用实现 -可替换性 -规则隔离 -扩展点设计 -变更影响范围 -技术债识别 -技术债偿还策略 -迁移策略 -废弃策略 -兼容窗口 -文档化 -ADR 决策记录 -设计评审 -接口评审 -性能评审 -安全评审 -输入合法性校验 -边界条件覆盖 -异常分类 -错误传播 -错误封装 -错误恢复 -部分成功处理 -流程中断与恢复 -中断、回滚、重试流程 -重试策略 -指数退避 -重试抖动 jitter -重试风暴防护 -失败降级策略 -限流设计 -熔断器设计 -舱壁隔离 -过载保护 -请求排队策略 -丢弃策略 -快速失败 -故障隔离 -故障注入 -混沌工程 -降级开关 -灰度降级 -超时预算 -Deadline 传播 -服务健康检查 -自愈机制 -优雅降级 -优雅关闭 -启动预热 -冷启动控制 -灾难恢复 -备份与恢复 -RPO / RTO -认证设计 -授权设计 -权限模型 -最小权限原则 -权限边界 -身份冒用防护 -输入注入防护 -SQL 注入 -命令注入 -XSS -CSRF -SSRF -反序列化风险 -路径穿越 -敏感信息脱敏 -日志脱敏 -密钥管理 -Token 生命周期 -加密存储 -传输加密 -签名校验 -重放攻击防护 -多租户隔离 -安全审计 -依赖漏洞治理 -供应链安全 -单元测试设计 -集成测试设计 -端到端测试 -回归测试 -稳定性测试 -兼容性测试 -模糊测试 Fuzzing -属性测试 Property-based Testing -测试数据构造 -Mock 边界 -测试隔离 -可测性设计 -确定性测试 -时间依赖测试 -随机性控制 -灰度发布 -蓝绿发布 -金丝雀发布 -滚动发布 -回滚策略 -配置发布 -特性开关 -Feature Flag -数据库变更发布 -兼容性发布 -双写切换 -流量切换 -影子流量 -压测环境隔离 -生产变更风险评估 -变更审计 -发布前检查 -发布后验证 -Runbook -应急预案 -值班机制 -资源成本评估 -CPU 成本 -内存成本 -存储成本 -网络成本 -第三方 API 成本 -云资源成本 -成本预算 -弹性伸缩 -扩容策略 -缩容策略 -成本收益权衡 -反模式识别 -大锁 -大事务 -全局状态污染 -重复 IO -重复计算 -过深嵌套 -隐式控制流 -过度通用化 -过早抽象 -过早优化 -伪优化 -缺少退路 -缺少幂等 -缺少超时 -缺少取消 -缺少隔离 -缺少限流 -缺少监控 -缺少回滚 -缺少兼容 -缺少验证 -缺少容量评估 \ No newline at end of file diff --git a/metadata/redirects.yml b/metadata/redirects.yml index f5695dc..37c4122 100644 --- a/metadata/redirects.yml +++ b/metadata/redirects.yml @@ -11,6 +11,8 @@ redirects: to: docs/philosophy/思维模型.md - from: docs/concepts/编程之道.md to: docs/philosophy/编程之道.md + - from: docs/concepts/软件开发范式演进.md + to: docs/philosophy/编程之道.md - from: docs/philosophy/现象学还原.md to: docs/philosophy/README.md - from: docs/philosophy/辩证法.md @@ -61,6 +63,8 @@ redirects: to: docs/references/工程实践.md - from: docs/references/开发经验.md to: docs/references/工程实践.md + - from: docs/references/底层程序逻辑设计与工程优化项.md + to: docs/references/工程实践.md - from: skills/ to: skills/ - from: prompts/