红烧排骨¶
📐 度量标准:本菜谱所有模糊表述(块/勺/火候/油温/熟度)均以_spec.md(度量标准库) 为准,可点击各章节锚点查看。 厨房里的「长连接服务」——建立连接(炒糖色)→异步处理(小火慢炖)→优雅关闭(收汁),耗时 90 分钟但零运维。
常量定义(Constants)¶
| 常量名 | 值 | 来源 |
|---|---|---|
| FIRE_LOW | 小火(120-140℃,火焰不舔锅底) | _spec §3 |
| FIRE_MID | 中火(160-180℃,火焰舔锅底一半) | _spec §3 |
| FIRE_HIGH | 大火(200℃+,火焰包住锅底) | _spec §3 |
| OIL_30 | 三四成热(90-120℃,竹筷缓慢冒小泡) | _spec §4 |
| SOY_SAUCE | 2勺(30ml,汤勺) | _spec §2 |
| DARK_SOY | 1大勺(15ml,火锅勺) | _spec §2 |
| COOKING_WINE | 2勺(30ml) | _spec §2 |
| SALT | 1小勺(5ml,咖啡勺) | _spec §2 |
| SUGAR_CANDY | 30g(冰糖) | — |
| STARCH_WATER | 淀粉:水=1:3 | _spec §6 |
| STEW_TIME | 60min | — |
| WATER_BOWL | 2碗(500ml,标准饭碗) | _spec §2 |
食材清单(Input)¶
| 食材 | 用量 | 切配规格 | 备注 |
|---|---|---|---|
| 猪肋排 | 500g | 剁段(4-5cm,手指长) | _spec §1,选肉厚带脆骨的 |
| 冰糖 | 30g | 整粒 | 炒糖色专用 |
| 姜 | 1块 | 切片(2-3mm厚,1元硬币) | _spec §1 |
| 葱 | 2根 | 切段(4-5cm) | _spec §1 |
| 八角 | 2颗 | 整粒 | |
| 桂皮 | 1小段 | 约3cm | |
| 香叶 | 2片 | 整叶 | |
| 生抽 | 2勺(30ml) | — | _spec §2 |
| 老抽 | 1大勺(15ml) | — | _spec §2 |
| 料酒 | 2勺(30ml) | — | _spec §2 |
| 盐 | 1小勺(5ml) | — | _spec §2 |
预处理(Preprocess)¶
- 调用
[_spec §6](_spec.md#preprocess) 焯水():排骨冷水下锅,加姜片、料酒,煮开撇去血沫——这一步是「垃圾回收」,把血水和杂质这些无用对象清理掉,避免后续汤色浑浊。捞出后用温水冲洗沥干(禁用冷水,热胀冷缩会让肉纤维紧缩变柴)。 - 姜切片、葱切段、香料备好,所有 Input 就绪后再开火。
主流程(Main Logic)¶
-
炒糖色(状态机初始化):热锅倒少许油,油温升至 OIL_30(三四成热),下 SUGAR_CANDY(30g冰糖),调用
[_spec §6](_spec.md#preprocess) 炒糖色()——小火熬至冰糖融化、颜色从浅黄→琥珀→枣红、表面冒细密小泡。这是一个状态机:状态: 冰糖颗粒→融化→浅黄→琥珀→枣红冒小泡,终态是枣红冒小泡,不到终态不下肉,过了终态(发黑)就是 fatal error。 -
下排骨上色(对象实例化):糖色到达终态瞬间,倒入焯好的排骨,FIRE_MID(中火)快速翻炒,让每块排骨均匀裹上糖色——这就像
for循环遍历数组给每个元素赋值属性,上色不均就是未初始化的 bug。炒至排骨表面微焦(约 2min)。 -
调味加汤(依赖注入):加入姜片、葱段、八角、桂皮、香叶爆香,倒入 COOKING_WINE(2勺料酒)、SOY_SAUCE(2勺生抽)、DARK_SOY(1大勺老抽),翻炒均匀后加入 WATER_BOWL(2碗热水),水量没过排骨。调味层次遵循「面向对象继承」:底味(盐)→主味(生抽酱香)→顶味(糖色焦香),子类继承父类风味再叠加。
-
小火慢炖(后台异步任务):大火烧开后转 FIRE_LOW(小火),盖盖炖煮 STEW_TIME(60min)。这是一个后台异步任务——主线程(你)可以去做别的事,子线程(灶上的锅)持续运行,每 15min 检查一次任务状态(汤汁量、肉的软烂度)。
while 炖煮时间 < 60min: 保持小火; if 汤汁快干: 加少量热水。 -
大火收汁(GC 压缩):60min 后,排骨已软烂(筷子能轻松插透、无血水渗出,_spec §5),拣出葱姜香料,转 FIRE_HIGH(大火)收汁。
while 汤汁未浓稠挂糊: 翻动收汁——收汁是垃圾回收压缩阶段,把多余的汤汁(内存碎片)压缩成浓稠的酱汁(紧凑对象),直到汤汁浓稠可挂勺(_spec §5)。加入 SALT(1小勺盐)调味,翻匀。 -
出锅(返回值):装盘,排骨色泽红亮、酱汁裹满每块肉,盘底留浓稠酱汁。
翻车预警(Bug Report)¶
- ⚠️ Bug: 糖色炒糊发苦 → 根因:火太大 or 熬过头。修复:必须 FIRE_LOW(小火)慢熬,盯紧状态机,枣红冒小泡立即下肉;
if 颜色发黑: 丢弃重来,不要救。 - ⚠️ Bug: 排骨发柴咬不动 → 根因:焯水后用冷水冲洗 or 炖煮时间不够 or 中途加冷水。修复:焯水后用温水冲洗、炖煮至少 60min、中途只加热水。
- ⚠️ Bug: 汤汁收不浓、水汪汪 → 根因:收汁时火太小 or 淀粉水比例不对。修复:FIRE_HIGH(大火)收汁,需要时淋入 STARCH_WATER(淀粉:水=1:3)勾芡至挂糊。
完成标准(Test Cases)¶
| 测试项 | 预期结果 | 判定方法 |
|---|---|---|
| 视觉测试 | 排骨色泽红亮油润、糖色均匀、无焦黑 | 肉眼观察 |
| 口感测试 | 肉质软烂脱骨、酱香浓郁、咸甜适中 | 品尝 |
| 状态测试 | 酱汁浓稠挂勺、盘底无多余清汤 | 倾斜盘子观察 |
| 时间测试 | 从开火到出锅约 90min | 计时 |