[ PROMPT_NODE_25998 ]
kaizen
[ SKILL_DOCUMENTATION ]
# Kaizen:持续改进
## 概述
持续进行小幅改进。通过设计实现防错。遵循有效的方法。只构建必要的内容。
**核心原则:** 许多小的改进胜过一次大的变革。在设计阶段预防错误,而不是事后修复。
## 何时使用
**始终适用于:**
- 代码实现和重构
- 架构和设计决策
- 流程和工作流改进
- 错误处理和验证
**理念:** 通过增量进步和预防实现质量,而不是通过巨大的努力追求完美。
## 四大支柱
### 1. 持续改进 (Kaizen)
频繁的小改进会累积成巨大的收益。
#### 原则
**增量优于革命:**
- 进行能提高质量的最小可行性变更
- 一次只做一个改进
- 在进行下一步之前验证每个变更
- 通过小胜利建立动力
**始终让代码变得更好:**
- 遇到小问题就修复它
- 在工作时进行重构(在范围内)
- 更新过时的注释
- 看到死代码就移除它
**迭代优化:**
- 第一版:使其工作
- 第二版:使其清晰
- 第三版:使其高效
- 不要试图一次完成所有三点
typescript
// 迭代 1:使其工作
const calculateTotal = (items: Item[]) => {
let total = 0;
for (let i = 0; i {
return items.reduce((total, item) => {
return total + (item.price * item.quantity);
}, 0);
};
// 迭代 3:使其健壮(添加验证)
const calculateTotal = (items: Item[]): number => {
if (!items?.length) return 0;
return items.reduce((total, item) => {
if (item.price < 0 || item.quantity < 0) {
throw new Error('Price and quantity must be non-negative');
}
return total + (item.price * item.quantity);
}, 0);
};
`
每一步都是完整、经过测试且可运行的
typescript
// 试图一次完成所有事情
const calculateTotal = (items: Item[]): number => {
// 同时验证、优化、添加功能、处理边界情况
if (!items?.length) return 0;
const validItems = items.filter(item => {
if (item.price < 0) throw new Error('Negative price');
if (item.quantity 0; // 同时过滤掉零数量
});
// 加上缓存、日志、货币处理...