跳转至

红烧牛肉

📐 度量标准:本菜谱所有模糊表述(块/勺/火候/油温/熟度)均以_spec.md(度量标准库) 为准,可点击各章节锚点查看。 厨房里的「分布式批处理任务」——分批预处理(焯水+炒糖色)→长耗时计算(慢炖90min)→结果聚合(收汁),最终输出一碗软烂入味的牛肉。

常量定义(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 3勺(45ml) _spec §2
SALT 1小勺(5ml,咖啡勺) _spec §2
SUGAR_CANDY 25g(冰糖)
STEW_TIME 90min
WATER_BOWL 3碗(750ml,标准饭碗) _spec §2
STARCH_WATER 淀粉:水=1:3 _spec §6

食材清单(Input)

食材 用量 切配规格 备注
牛腱子/牛腩 600g 切块(3cm见方,麻将牌) _spec §1,牛腱子更有嚼劲
冰糖 25g 整粒 炒糖色专用
1块 切片(2-3mm厚,1元硬币) _spec §1
2根 切段(4-5cm) _spec §1
4瓣 整粒 去腥增香
八角 2颗 整粒
桂皮 1小段 约3cm
香叶 3片 整叶
干辣椒 3个 整只 可选,微辣
生抽 2勺(30ml) _spec §2
老抽 1大勺(15ml) _spec §2
料酒 3勺(45ml) _spec §2
1小勺(5ml) _spec §2

预处理(Preprocess)

  • 牛肉切块(3cm见方,麻将牌),逆纹切(切断肌肉纤维,炖后更嫩)。
  • 调用 [_spec §6](_spec.md#preprocess) 焯水():牛肉冷水下锅,加姜片、COOKING_WINE(2勺料酒),大火煮开后撇去浮沫——这是「垃圾回收」的第一阶段,把血水中的杂质对象清理掉。捞出后用温水冲洗干净,沥干备用。
  • 姜切片、葱切段、香料备好。

主流程(Main Logic)

  1. 炒糖色(状态机初始化):热锅倒少许油,油温 OIL_30(三四成热),下 SUGAR_CANDY(25g冰糖),调用 [_spec §6](_spec.md#preprocess) 炒糖色()——FIRE_LOW(小火)熬至冰糖融化,颜色经历 浅黄→琥珀→枣红→冒细密小泡 的状态流转。终态判定:枣红色+表面冒细密小泡,此时立即进入下一步。这是整道菜的初始化阶段,糖色决定了最终色泽的基类。

  2. 下牛肉翻炒(对象属性赋值):糖色到达终态,倒入焯好的牛肉块,FIRE_MID(中火)快速翻炒,让每块牛肉均匀裹上糖色——类似 for 循环遍历集合给每个对象设置 color 属性,未裹上糖色的块就是未初始化对象。炒至牛肉表面微焦、边缘收缩(约 3min)。

  3. 调味加汤(配置注入):加入姜片、葱段、蒜瓣、八角、桂皮、香叶、干辣椒爆香,倒入 COOKING_WINE(1勺料酒)、SOY_SAUCE(2勺生抽)、DARK_SOY(1大勺老抽),翻炒均匀后加入 WATER_BOWL(3碗热水),水量没过牛肉约 2cm。调味是「依赖注入」:香料(配置项)→酱汁(运行时环境)→牛肉(核心对象),层层注入风味。

  4. 小火慢炖(后台异步任务):大火烧开后转 FIRE_LOW(小火),盖盖炖煮 STEW_TIME(90min)。这是一个长耗时后台异步任务——while 炖煮时间 < 90min: 保持小火微沸; 每 20min 检查一次: if 汤汁低于牛肉: 加热水补充。牛肉的软烂是渐进式的,就像异步任务的进度条从 0% 走到 100%,中途不要频繁开盖(相当于频繁查询任务状态会拖慢执行)。

  5. 大火收汁(GC 压缩+终态判断):90min 后,牛肉已软烂(筷子能轻松插透、无血水渗出,_spec §5),拣出葱姜香料,转 FIRE_HIGH(大火)收汁。while 汤汁未浓稠挂糊: 翻动收汁——这是垃圾回收的压缩阶段,把多余汤汁(内存碎片)压缩成浓稠酱汁。加入 SALT(1小勺盐)最后调味(盐放早了会让蛋白质紧缩,肉不易烂,这是「延迟初始化」原则)。需要时淋入 STARCH_WATER(淀粉:水=1:3)勾芡至挂糊(_spec §5)。

  6. 出锅(返回值):装盘,牛肉色泽红亮、酱汁浓郁,可撒葱花点缀。

翻车预警(Bug Report)

  • ⚠️ Bug: 牛肉炖不烂、发柴 → 根因:顺纹切肉 or 盐放太早 or 炖煮时间不够 or 中途加冷水。修复:逆纹切块(_spec §1)、最后放盐、炖煮至少 90min、中途只加热水。
  • ⚠️ Bug: 糖色炒糊发苦 → 根因:火大 or 熬过头。修复:FIRE_LOW(小火)慢熬,盯紧状态机终态(枣红冒小泡),发黑立即丢弃重来。
  • ⚠️ Bug: 汤汁越炖越少、牛肉粘锅 → 根因:火太大(不是微沸而是翻滚) or 水加少了。修复:保持 FIRE_LOW(小火)微沸状态,水量没过牛肉 2cm,中途及时加热水。

完成标准(Test Cases)

测试项 预期结果 判定方法
视觉测试 牛肉色泽红亮均匀、酱汁浓稠、无焦黑 肉眼观察
口感测试 牛肉软烂不柴、酱香浓郁、咸甜适中、微辣可选 品尝
状态测试 筷子轻松插透、无血水渗出、酱汁挂勺 筷子测试+倾斜盘观察
时间测试 从开火到出锅约 120min 计时