说起这个奥法师的食谱,好多人都觉得那玩意儿简直是天书,一听就头大,根本不敢碰。刚开始我也这么想,这玩意儿能给整出来个啥名堂?可把我给愁坏了,那会儿真是抓耳挠腮,就差没把头发薅秃了。
你别说,我这人就是有点那股子犟劲儿。记得当时是前年,那会儿公司有个项目,挺棘手的。一个老外客户,要求特别多,而且每个要求都跟变戏法似的,一会儿一个样。项目经理都快被折腾疯了,好几个同事都弄得焦头烂额,代码写得那叫一个乱,bug满天飞,根本没法交货。客户那边催得急,项目经理没办法,就找到我了,说:“兄弟,这摊子烂事儿,你看看有没有办法收拾收拾,要不然咱们这个月的奖金都得泡汤。”
当时听完这话,我心里咯噔一下。我寻思着,这不就是传说中的“奥法师的食谱”嘛一堆稀奇古怪的要求,各种不按常理出牌的逻辑,要把它们全都捋顺了,然后捣鼓出一个能跑的东西来,这难度系数,在我看来,可比写个普通的增删改查高了不止一个档次。那段时间,我真是天天晚上失眠,躺床上就琢磨这事儿,白天一进公司,看着那堆代码就跟看天书似的,真想直接撂挑子不干了。
可没办法,奖金泡汤是小事,面子和责任这东西,压得我喘不过气。我就是那种,接了活儿,哪怕心里骂娘,也得硬着头皮上的主。我寻思着,再难的食谱,总归也是有步骤的?总不能真的靠念咒语就能凭空变出来。于是我下了个狠心,决定从头把这“食谱”给拆解了,看看到底是个什么鬼。
第一步:把大象装冰箱——切碎它
我当时做的第一件事,就是把那个看起来像一锅粥一样的“奥法师食谱”,给使劲儿拆。我把客户所有的需求,包括那些模棱两可、反复无常的,统统都列出来。不光列,我还给它们分门别类,哪个是核心功能,哪个是辅助功能,哪个是可有可无但客户又坚持要的。我发现,很多看似复杂的“魔法”,就是几个简单“咒语”组合起来的。我把那一整个“大象”拆成了无数个“细胞”,小到不能再小的单元。
第二步:不纠结,先搞定最简单的“原材料”
拆完之后,我没急着去碰那些最复杂的“高级魔法”,而是先挑最简单的“咒语”入手。比如,客户要求有个“闪烁”功能,我就先不管它闪烁到哪里,怎么闪烁,我只管让它能“动”起来。哪怕只是在屏幕上动一下,我也觉得是个胜利。我跟项目组里一个刚来的小伙子说:“你别管那些复杂的,你就给我把这个‘传送门’的动画效果先跑起来,颜色什么的,咱们后面再调。”这样一来,大家都有事儿干,而且压力也小了很多,因为每个人都有一个明确的小目标。
第三步:找“工具”,别死磕
有些东西,你光靠自己闭门造车是真搞不定的。我那会儿就发现,有很多现成的“魔法卷轴”或者“魔法道具”可以用。比如客户要求这个数据分析要“快如闪电”,我一开始还想自己从零开始写个算法,可写了几次都不满意。后来我一拍大腿,干脆去网上找现成的数据处理库,或者问问其他团队有没有类似的经验。结果还真给我找到了一个特别适合的“神器”,一用上去,效率哗就上去了。不要想着所有东西都自己造轮子,能用现成的,就大胆用。
第四步:边做边看,及时调整“配方”
你以为按照“食谱”一步步做就能成功?那是童话。真实情况是,你做到一半,发现“这味道不对!”我那会儿就是这样,好几次做出来的小功能,拿到客户面前,客户一摇头说:“不是这个意思。”我立马就得回去调整。我学会了一个最重要的,就是不要一次性做到完美。做出来一个粗糙的版本,赶紧拿给能给反馈的人看,然后根据反馈再回来修改。有点像你炒菜,尝一口,咸了加水,淡了加盐,火候不对就调整火力。
第五步:记下来,你的“私人魔法典籍”
每当我攻克一个难题,或者发现了一个好用的“咒语组合”,我都会立马记下来。我用一个文档,详细记录了每个复杂功能我是怎么一步步拆解的,用了哪些“工具”,踩了哪些“坑”,是怎么解决的。这玩意儿简直就是我自己的“奥法师魔法典籍”!后来再遇到类似的问题,我根本不用再从头摸索,直接翻翻我的“典籍”,就能找到线索。而且当别的同事来问我的时候,我也不用口头解释半天,直接把“典籍”扔给他们看,省事又高效。
就这么着,一步步拆解,一步步试验,一步步记录,那个当时看起来高不可攀的“奥法师的食谱”,还真就被我给捣鼓出来了。项目顺利交付,客户满意度还挺高,项目经理给我竖了个大拇指,奖金也一分不少地到手了。回过头来看,制作奥法师的食谱,真的不难,关键是你得有那股子打破砂锅问到底的劲儿,还得掌握上面说的这几个小技巧。
现在再让我去弄那些所谓的“天书级”任务,我心里就有底多了。再复杂的“食谱”,无非就是分解、尝试、调整、记录,一遍不行就两遍,总能整明白的。


