📄 一句话概括
command 的本质是一段每次都要打、而且每次都打一样的指令;判据只有一条——你是不是每次都要打同一串。
📝 本节和前面几节的关系
这一节讲最小也最实用的一种扩展:一段固定指令的快捷入口。
一、它是什么
是一段你每次都要打、而且每次都打一样的指令,存成一个名字。 比如开工前三步那个串,存成【开工检查】;以后敲那一个名字,串自动跑完。 它比 skill 更轻——不需要三层结构,一个名字加一串指令就够。
二、它省的是什么,不省什么
省:重复敲一长串的时间、少打错一次的概率、别人拿到就能用。 不省:思考本身、这一趟本来就该做的事、你懒得做的那部分。 分清这一点很重要——command 不会让你少干活,它只让你少打字。
三、什么该做成 command
一条判据:你是不是每次都要打同一串?是,就做;不是,别添这个抽象。 常见的候选:开工检查、收尾检查、跑验证、生成某类文件。 反例:【让它帮我写代码】——这不是一串固定指令,做成 command 反而限制了它。
四、和 skill 的分工
skill 是一套做法(三步四步,有判断);command 是一串动作(固定的)。 判断方法:如果每次做法完全一样,做 command;每次会有差别,做 skill。 本节演示的对照表里,两行省的都是打字和时间——这就是 command 的全部。
五、动手 Demo:command——带预计算的快捷入口
下面把 command 的边界说清楚:它省什么、不省什么。
TH([u"它省的是什么", u"不省什么"], [34, 34])
T([u"重复敲一长串的时间", u"思考本身"], [34, 34])
T([u"少打错一次的概率", u"这一趟本来就该做的事"], [34, 34])
实跑输出:
--------------------------------------------------------------------
command——带预计算的快捷入口
--------------------------------------------------------------------
command 的本质:**一段每次都要打、而且每次都打一样的指令**。
比如你每次开工前都要敲这一串:
读规则文件 -> 扫漏的验证 -> 看改动清单 -> 写三行摘要
把它存成一个名字,比如开工检查。以后敲那一个名字,串就自动跑完。
它省的是什么 不省什么
--------------------------------------------
重复敲一长串的时间 思考本身
少打错一次的概率 这一趟本来就该做的事
别人拿到就能用 你懒得做的那部分
判断一件事该不该做成 command,就一条:**你是不是每次都要打同一串?**
是,就做;不是,别添这个抽象。
第二列很重要:它不会让你少干活,只让你少打字。 所以那些【本来就该做、只是懒得做】的事,别指望用一个 command 糊过去。
30 秒实验
- 找出你每次都要敲的那一串,存成一个名字,明天开始用。
- 对照一下:它是不是每次做法完全一样?不是的话,做成 skill。
常见误区
- 把【让它帮我写代码】做成 command。每次做法都不一样的东西不该固定。
- 以为有了 command 就可以少想一步。它省的是打字,不是判断。
自测三问(点开对答案)
1. command 的本质是什么? —— 一段每次都要打、而且每次都打一样的指令,存成一个名字。 2. 它省的是什么,不省什么? —— 省重复敲串的时间与打错概率;不省思考本身和本来就该做的事。 3. 什么时候该做成 command,什么时候做 skill? —— 每次做法完全一样做 command;每次会有差别做 skill。- ☐ 下一节(7.7 3种扩展机制的协作)