孔雀明王
佛教中的神明
孔雀明王(梵名Mahā-mayūrī-vidyā-rājñī)汉译有摩诃摩瑜利罗阇、佛母大孔雀明王等。此尊相传为毗卢遮那佛或释迦牟尼佛的等流身。密号为佛母金刚、护世金刚。在密教修法中,以孔雀明王为本尊而修者,称为孔雀明王经法,又称孔雀经法。为密教四大法之一。根据《孔雀明王经》记载,佛陀在世时,有一位莎底比丘遭到毒蛇咬螫,不胜其苦,当阿难向佛陀禀告之后,佛陀于是教导一个可以消除鬼魅、毒害、恶疾的修持法门,这就是《孔雀明王经》的主要内容。[1]
中文名
孔雀明王
外文名
Mahā-mayūrī-vidyā-rājñī
别名
摩诃摩瑜利罗阎、大孔雀咒王、孔雀多罗菩萨、孔雀度母[1]
居所
天界
司掌
灭一切诸毒怖畏灾恼、摄受覆育一切有情。
经文记载
手印和真言
孔雀明王
在这部经典中,也记载佛陀在过去久远前的本生中,曾经修持过孔雀明王的法门。当时佛陀本生是雪山南方名为“金曜”(或译“金光明”)的孔雀王,每天早晨读诵孔雀明王法门,总是非常安稳,有一次,由于贪爱逸乐,导致忘了读诵,因此被猎人捕捉,然而在被系缚之际,恢复正念,如以前一样的读诵,终于解脱系缚、获得安稳。可见孔雀明王的法门,不是第一次由佛陀宣说,早在比佛陀本生更早之前就已经有了。
在印度古代各地,不管大小二乘、僧俗二众,都非常盛行孔雀明王的修持文化。在藏传佛教是非常重要的本尊修法之一。在日本真言宗的东密和台密两大系统中,孔雀明王都不在男性五大明王之内(因为属于佛教的女性五大明王之一),但以孔雀明王为本尊的修法,是东密四大法之一。在汉传佛教因见如长老等法师的推广下,读诵《佛母大孔雀明王经》非常盛行。在当代,孔雀明王的信仰文化,与重视医疗、环保等议题息息相关。
孔雀明王一头四臂,为菩萨形,驾孔雀,故曰孔雀明王(明王非忿怒尊),具名佛母大金曜孔雀明王密教本尊之一。依大孔雀明王画像坛场仪轨所载,孔雀明王呈一面四臂之相,手持莲花、俱缘果、吉祥果、孔雀尾,跨乘金色孔雀王。所持四物中,莲花表敬爱,俱缘果表调伏,吉祥果表增益,孔雀尾表息灾。此明王为毗卢遮那如来之等流身,具有摄取、折伏二德,故有二种座,白莲座表示摄取慈悲之本誓,青莲座表示降伏之意。又现图胎藏界曼荼罗中,孔雀明王位于苏悉地院南端第六位,肉色二臂,右手持孔雀尾,左手持莲花,坐赤莲花座。密号佛母金刚,三昧耶形为孔雀羽。
经文记载
孔雀明王的经典主要是《孔雀明王经》,有许多不同译本,包括:失译者名的《大金色孔雀王咒经》一卷、《佛说大金色孔雀王咒经》一卷、梁代僧伽婆罗三藏法师译的《孔雀王咒经》二卷、姚秦鸠摩罗什三藏法师译的《孔雀王咒经》一卷、唐代不空三藏法师译的《佛母大王经》三卷、唐代义净三藏法师译的《佛说大孔雀咒王经》三卷。其中不空三藏法师译本与义净三藏法师译本的两个译本,经文比较完整,也都非常通畅达意。
另外还有《孔雀经等真言梵本》、唐代不空三藏法师译的《佛说大孔雀明王画像坛场仪轨》。
孔雀明王有许多不同的形象,主要除了三面六臂的形象,还有依《大孔雀明王画像坛场仪轨》所载一面四臂的形象︰“于莲华胎上画佛母大孔雀明王菩萨。头向东方,白色,着白缯轻衣。头冠、璎珞、耳珰、臂钏,种种庄严,乘金色孔雀王,结跏趺坐白莲华上或青绿花上,住慈悲相。有四臂,右边第一手执开敷莲华,第二手持俱缘果,左边第一手当心掌持吉祥果,第二手执三、五茎孔雀尾。”在胎藏界曼荼罗中,此尊被安置于苏悉地院南端的第六位。
据《孔雀明王经》所载,佛世时,有一位比丘遭毒蛇所螫,不胜其苦。当阿难向释尊禀告之后,释尊乃说出一种可供袪除鬼魅、毒害、恶疾的陀罗尼,此即孔雀明王咒。此外,在久远以前,雪山有一金色大孔雀王,平素持诵 该咒甚勤,因此恒得安稳。有一次,由于贪爱逸乐,与众多孔雀女到远地山中嬉游,而未诵该咒,因此为猎人捕获。他在被缚之时,恢复正念,持诵该咒,终于解脱系缚,得到自由。释尊的这些开示,是孔雀明王及其陀罗尼为世人所知的开始。

孔雀明王心
孔雀明王的形像,一般都是白色,穿白缯轻衣。有头冠、璎珞、耳珰、臂钏等装饰,乘坐金色孔雀。现慈悲相,有四臂,分别持有吉祥果及孔雀尾等物。其形像,《大孔雀明王画像坛场仪轨》云(大正19·440a)︰
孔雀明王四种持物中,莲华表敬爱,俱缘果表调伏,吉祥果表增益,孔雀尾表息灾。白莲座表摄取慈悲的本誓,青莲座表降伏之意。据密教相传,此明王是毗卢遮那如来的等流身,具摄取、折伏二德,故有上述二种莲座。此莲座谓之为‘孔雀座’(mayūrāsana)。密教现图胎藏界曼荼罗将此尊安置于苏悉地院南端第六位,形像呈肉色,二臂,右手持孔雀尾,左手持莲华,坐赤莲华。密号是佛母金刚或护世金刚,三昧耶形是孔雀羽。西藏流传的形像则呈三面八臂,坐莲华座,不乘孔雀。
又,密教有以此孔雀明王为本尊而修之法,称之为孔雀经法或孔雀明王经法。此法之主要作用为息灾、祈雨或止雨、安产等事。日本传此修法甚早,九世纪时修验道创始人役小角即曾修孔雀咒法而得大灵验。平安时代,自空海强调《孔雀明王经》之护国性以来,即为东密所特别重视,尤其广泽流以之为无双大秘法。至十一世纪,孔雀经法扩及现世利益,以祈祷消除天灾、除病延命、安产等功效而盛行。

日本现存最古的孔雀明王像,(日本的佛教多为密宗,中国国内却只有西藏地区信奉密宗)系东京国立博物馆所藏平安后期的画像。此外,智积院、松尾寺、法隆寺、仁和寺等,亦收藏有此明王的画像。另外,金刚峰寺有快庆所作的雕像。
孔雀明王的法门,对于护国、息灾、祈雨、除病延寿 安产等世间利益,都极有效验。当然最重要的,还是以此尊作为出世间修行的依怙,袪除我们心中贪、瞋、痴、慢、疑等各种烦恼毒害,使我们能圆满智慧、慈悲的菩提,速成无上佛果。
在《佛说大孔雀咒王经》、《佛母大金曜孔雀明王经》诸经典里,释迦牟尼佛开示:“于往昔时,雪山南面有孔雀王,名金光明在彼而住……金光明孔雀王者,勿为异见,即我身是。”
“往昔之时,雪山南面。有金曜孔雀王于彼而住……金曜孔雀王者岂异人乎?即我身是。”
手印和真言
“次结佛母大孔雀明王印。
二手右押左内相叉。二大指二小指。各直竖头相拄即成。结印当心诵真言七遍。如前以印加持四处顶上散印。
真言曰:
唵么庾(引)啰(引)讫兰(二合引)帝(引)娑嚩(二合引)诃。”——《大孔雀明王画像坛场仪轨》 https://t.cn/R2WxuoH
佛教中的神明
孔雀明王(梵名Mahā-mayūrī-vidyā-rājñī)汉译有摩诃摩瑜利罗阇、佛母大孔雀明王等。此尊相传为毗卢遮那佛或释迦牟尼佛的等流身。密号为佛母金刚、护世金刚。在密教修法中,以孔雀明王为本尊而修者,称为孔雀明王经法,又称孔雀经法。为密教四大法之一。根据《孔雀明王经》记载,佛陀在世时,有一位莎底比丘遭到毒蛇咬螫,不胜其苦,当阿难向佛陀禀告之后,佛陀于是教导一个可以消除鬼魅、毒害、恶疾的修持法门,这就是《孔雀明王经》的主要内容。[1]
中文名
孔雀明王
外文名
Mahā-mayūrī-vidyā-rājñī
别名
摩诃摩瑜利罗阎、大孔雀咒王、孔雀多罗菩萨、孔雀度母[1]
居所
天界
司掌
灭一切诸毒怖畏灾恼、摄受覆育一切有情。
经文记载
手印和真言
孔雀明王
在这部经典中,也记载佛陀在过去久远前的本生中,曾经修持过孔雀明王的法门。当时佛陀本生是雪山南方名为“金曜”(或译“金光明”)的孔雀王,每天早晨读诵孔雀明王法门,总是非常安稳,有一次,由于贪爱逸乐,导致忘了读诵,因此被猎人捕捉,然而在被系缚之际,恢复正念,如以前一样的读诵,终于解脱系缚、获得安稳。可见孔雀明王的法门,不是第一次由佛陀宣说,早在比佛陀本生更早之前就已经有了。
在印度古代各地,不管大小二乘、僧俗二众,都非常盛行孔雀明王的修持文化。在藏传佛教是非常重要的本尊修法之一。在日本真言宗的东密和台密两大系统中,孔雀明王都不在男性五大明王之内(因为属于佛教的女性五大明王之一),但以孔雀明王为本尊的修法,是东密四大法之一。在汉传佛教因见如长老等法师的推广下,读诵《佛母大孔雀明王经》非常盛行。在当代,孔雀明王的信仰文化,与重视医疗、环保等议题息息相关。
孔雀明王一头四臂,为菩萨形,驾孔雀,故曰孔雀明王(明王非忿怒尊),具名佛母大金曜孔雀明王密教本尊之一。依大孔雀明王画像坛场仪轨所载,孔雀明王呈一面四臂之相,手持莲花、俱缘果、吉祥果、孔雀尾,跨乘金色孔雀王。所持四物中,莲花表敬爱,俱缘果表调伏,吉祥果表增益,孔雀尾表息灾。此明王为毗卢遮那如来之等流身,具有摄取、折伏二德,故有二种座,白莲座表示摄取慈悲之本誓,青莲座表示降伏之意。又现图胎藏界曼荼罗中,孔雀明王位于苏悉地院南端第六位,肉色二臂,右手持孔雀尾,左手持莲花,坐赤莲花座。密号佛母金刚,三昧耶形为孔雀羽。
经文记载
孔雀明王的经典主要是《孔雀明王经》,有许多不同译本,包括:失译者名的《大金色孔雀王咒经》一卷、《佛说大金色孔雀王咒经》一卷、梁代僧伽婆罗三藏法师译的《孔雀王咒经》二卷、姚秦鸠摩罗什三藏法师译的《孔雀王咒经》一卷、唐代不空三藏法师译的《佛母大王经》三卷、唐代义净三藏法师译的《佛说大孔雀咒王经》三卷。其中不空三藏法师译本与义净三藏法师译本的两个译本,经文比较完整,也都非常通畅达意。
另外还有《孔雀经等真言梵本》、唐代不空三藏法师译的《佛说大孔雀明王画像坛场仪轨》。
孔雀明王有许多不同的形象,主要除了三面六臂的形象,还有依《大孔雀明王画像坛场仪轨》所载一面四臂的形象︰“于莲华胎上画佛母大孔雀明王菩萨。头向东方,白色,着白缯轻衣。头冠、璎珞、耳珰、臂钏,种种庄严,乘金色孔雀王,结跏趺坐白莲华上或青绿花上,住慈悲相。有四臂,右边第一手执开敷莲华,第二手持俱缘果,左边第一手当心掌持吉祥果,第二手执三、五茎孔雀尾。”在胎藏界曼荼罗中,此尊被安置于苏悉地院南端的第六位。
据《孔雀明王经》所载,佛世时,有一位比丘遭毒蛇所螫,不胜其苦。当阿难向释尊禀告之后,释尊乃说出一种可供袪除鬼魅、毒害、恶疾的陀罗尼,此即孔雀明王咒。此外,在久远以前,雪山有一金色大孔雀王,平素持诵 该咒甚勤,因此恒得安稳。有一次,由于贪爱逸乐,与众多孔雀女到远地山中嬉游,而未诵该咒,因此为猎人捕获。他在被缚之时,恢复正念,持诵该咒,终于解脱系缚,得到自由。释尊的这些开示,是孔雀明王及其陀罗尼为世人所知的开始。

孔雀明王心
孔雀明王的形像,一般都是白色,穿白缯轻衣。有头冠、璎珞、耳珰、臂钏等装饰,乘坐金色孔雀。现慈悲相,有四臂,分别持有吉祥果及孔雀尾等物。其形像,《大孔雀明王画像坛场仪轨》云(大正19·440a)︰
孔雀明王四种持物中,莲华表敬爱,俱缘果表调伏,吉祥果表增益,孔雀尾表息灾。白莲座表摄取慈悲的本誓,青莲座表降伏之意。据密教相传,此明王是毗卢遮那如来的等流身,具摄取、折伏二德,故有上述二种莲座。此莲座谓之为‘孔雀座’(mayūrāsana)。密教现图胎藏界曼荼罗将此尊安置于苏悉地院南端第六位,形像呈肉色,二臂,右手持孔雀尾,左手持莲华,坐赤莲华。密号是佛母金刚或护世金刚,三昧耶形是孔雀羽。西藏流传的形像则呈三面八臂,坐莲华座,不乘孔雀。
又,密教有以此孔雀明王为本尊而修之法,称之为孔雀经法或孔雀明王经法。此法之主要作用为息灾、祈雨或止雨、安产等事。日本传此修法甚早,九世纪时修验道创始人役小角即曾修孔雀咒法而得大灵验。平安时代,自空海强调《孔雀明王经》之护国性以来,即为东密所特别重视,尤其广泽流以之为无双大秘法。至十一世纪,孔雀经法扩及现世利益,以祈祷消除天灾、除病延命、安产等功效而盛行。

日本现存最古的孔雀明王像,(日本的佛教多为密宗,中国国内却只有西藏地区信奉密宗)系东京国立博物馆所藏平安后期的画像。此外,智积院、松尾寺、法隆寺、仁和寺等,亦收藏有此明王的画像。另外,金刚峰寺有快庆所作的雕像。
孔雀明王的法门,对于护国、息灾、祈雨、除病延寿 安产等世间利益,都极有效验。当然最重要的,还是以此尊作为出世间修行的依怙,袪除我们心中贪、瞋、痴、慢、疑等各种烦恼毒害,使我们能圆满智慧、慈悲的菩提,速成无上佛果。
在《佛说大孔雀咒王经》、《佛母大金曜孔雀明王经》诸经典里,释迦牟尼佛开示:“于往昔时,雪山南面有孔雀王,名金光明在彼而住……金光明孔雀王者,勿为异见,即我身是。”
“往昔之时,雪山南面。有金曜孔雀王于彼而住……金曜孔雀王者岂异人乎?即我身是。”
手印和真言
“次结佛母大孔雀明王印。
二手右押左内相叉。二大指二小指。各直竖头相拄即成。结印当心诵真言七遍。如前以印加持四处顶上散印。
真言曰:
唵么庾(引)啰(引)讫兰(二合引)帝(引)娑嚩(二合引)诃。”——《大孔雀明王画像坛场仪轨》 https://t.cn/R2WxuoH
今天做了一个关于如何做架构设计的分享,其中有个很重要的问题就是如何更好的做技术决策,我针对我们前端团队整理了5条做技术决策的原则。
原则 0: 遵守公认的好的设计原则,比如说:
- DRY - Don't repeat yourself (不要重复自己)
- KISS - Keep it Simple, Silly (让设计尽可能的简单)
- YAGNI - You aren't gonna need it (只做刚刚好的设计,不要过度设计)
- … 其他
原则1: 找出最本源的需求,而不应该局限于当前的技术实现和资源
很多时候我们很容易被表面需求所误导,类似于乔布斯的名言:“如果亨利福特在发明汽车之前去做市场调查,他得到的答案一定是大家想要一辆更快的马车。”,如果我们在做设计和技术决策的时候,没有找出用户的真实需求,很容易就会在错误的方向上狂奔,做很多无用功!
要找出本源的需求,还是需要多问为什么,多和干系人沟通,少考虑技术细节,少被现有的技术所误导或局限。
- 案例:设计部门希望设计系统支持Angular (更多案例参考图一)
我们设计部门最近希望我们的设计系统提供Angular版本,因为当前只支持React版本。
从这个需求来看,表面是是要我们开发Angular版本,其实如果仔细追问他们到底为什么需要Angular版本,是因为有一个团队还在用Angula,他们希望这个团队能用我们的设计系统,但是人家表示用不了。其实本源的需求是希望有更多的团队用设计系统,而不是要支持Angualr。
那要满足这个团队的这个需求,是不是非要做一个Angular版本不可呢?当然不需要,如果我能提供一个类似于BootStrap的HTML和CSS版本,其实他们一样能用起来,而这么做成本不高,并且别的团队也可以用。
原则2: 聚焦于 “收益”、“成本”和“风险”三者之间的平衡,而不是技术本身
(图二)
每一次技术决策,其实本质上就是一次取舍(Trade-Offs)
每一次取舍(Trade-Offs),本质上就是在“收益”、“成本”和“风险”三者之间的平衡
既然每一个决策都涉及到收益成本风险,那么就不能只看收益而无视成本和风险。就像前一个案例中提到的,设计部门考虑的是Angular版本带来的收益,但是他们却忽略了打造一套Angular版本的设计系统所需要的成本,以及可能带来的巨大风险。(图三)
所以在做技术决策的时候,理性的考虑一下 决策背后的收益、成本和风险的关系是很必要的,而不是仅靠喜好或者直觉来做决策。
原则3: 选择某个技术背后的生态系统而不是某个技术
这条原则特别适用于前端领域,在前端,各种新技术、框架、工具层出不穷,如果总是追新,或者被某个软文吸引轻易选择了某个技术,最终会带来巨大的成本。
案例:为什么我们从Preact迁移到React
在早些年的时候,我们前端选择了Preact作为UI渲染技术,这有早年React License的原因,也有Preact更小性能更好的原因。
然而这些年在使用过程中,还是有很多不足的地方,核心原因都是生态不够好。
比如说Preact调试很麻烦,因为它不像React有一个强大的DevTools;比如说我们遇到过Preact在服务端渲染的内存泄漏问题,如果像我们这样大规模访问量的用户多一点,可能早就有人踩过坑了,不需要我们去花很长时间定位并最终去解决这个问题;比如最近我们在集成Nextjs,Nextjs是完全为React设计的,对Preact兼容性并不好。
这样的案例还很多(图四),所以选择技术,它背后的生态和社区活跃度很重要。
原则4: 不仅要考虑如何构建,还要考虑如何维护
(图五)
这是一个常见的问题,很多人只管搭建新项目的时候爽,而不管后续维护是不是困难,用了一堆自己喜欢的新技术,最后难以维护。下一个人接手了,搞不好会推翻重写一遍,这样的循环一次又一次。
这样的错误我也常犯,比如2年前React Hooks刚出的时候,我就迫不及待用它来替代Redux,结果上线后发现不好维护,有Bug也不好定位,不像以前Redux,数据流特别清晰,借助工具非常好重现和定位问题,最终上线没多久就改回去了。
所以现在在做技术决策的时候,我们很注意的一个问题就是将来维护的时候是不是很麻烦。
包括我在代码审查的时候,有时候看到一些功能能运行的很好PR,但是代码写的比较难懂的,或者没有遵守最佳实践的,只要是给未来的维护造成麻烦的,我都会毫不犹豫要求重写,避免增加未来的维护成本。
上面就是我们现在实践的五个技术决策原则:
- 原则 0: 遵守公认的好的设计原则
- 原则 1: 找出最本源的需求,而不应该局限于当前的技术实现和资源
- 原则 2: 聚焦于 “收益”、“成本”和“风险”三者之间的平衡,而不是技术本身
- 原则 3: 选择某个技术背后的生态系统而不是某个技术
- 原则 4: 不仅要考虑如何构建,还要考虑如何维护
这些原则绝大部分时候都可以很好的帮助我们做出正确的决策,避免踩坑。但我也会一直在反思曾经做过的决策,对于做出的不太好的决策,会反过来考虑是否要修订这些原则,最终通过不断完善决策原则,帮助我和团队更好的做出技术决策。
最后,推荐一下左耳朵耗子写的一篇:《我做系统架构的一些原则》https://t.cn/A6xBKsCV ,非常有借鉴和参考价值。
插一个广告(图六),帮以前我在美国DePaul大学的老师招全奖研究生的广告:https://t.cn/A66yuwuq
原则 0: 遵守公认的好的设计原则,比如说:
- DRY - Don't repeat yourself (不要重复自己)
- KISS - Keep it Simple, Silly (让设计尽可能的简单)
- YAGNI - You aren't gonna need it (只做刚刚好的设计,不要过度设计)
- … 其他
原则1: 找出最本源的需求,而不应该局限于当前的技术实现和资源
很多时候我们很容易被表面需求所误导,类似于乔布斯的名言:“如果亨利福特在发明汽车之前去做市场调查,他得到的答案一定是大家想要一辆更快的马车。”,如果我们在做设计和技术决策的时候,没有找出用户的真实需求,很容易就会在错误的方向上狂奔,做很多无用功!
要找出本源的需求,还是需要多问为什么,多和干系人沟通,少考虑技术细节,少被现有的技术所误导或局限。
- 案例:设计部门希望设计系统支持Angular (更多案例参考图一)
我们设计部门最近希望我们的设计系统提供Angular版本,因为当前只支持React版本。
从这个需求来看,表面是是要我们开发Angular版本,其实如果仔细追问他们到底为什么需要Angular版本,是因为有一个团队还在用Angula,他们希望这个团队能用我们的设计系统,但是人家表示用不了。其实本源的需求是希望有更多的团队用设计系统,而不是要支持Angualr。
那要满足这个团队的这个需求,是不是非要做一个Angular版本不可呢?当然不需要,如果我能提供一个类似于BootStrap的HTML和CSS版本,其实他们一样能用起来,而这么做成本不高,并且别的团队也可以用。
原则2: 聚焦于 “收益”、“成本”和“风险”三者之间的平衡,而不是技术本身
(图二)
每一次技术决策,其实本质上就是一次取舍(Trade-Offs)
每一次取舍(Trade-Offs),本质上就是在“收益”、“成本”和“风险”三者之间的平衡
既然每一个决策都涉及到收益成本风险,那么就不能只看收益而无视成本和风险。就像前一个案例中提到的,设计部门考虑的是Angular版本带来的收益,但是他们却忽略了打造一套Angular版本的设计系统所需要的成本,以及可能带来的巨大风险。(图三)
所以在做技术决策的时候,理性的考虑一下 决策背后的收益、成本和风险的关系是很必要的,而不是仅靠喜好或者直觉来做决策。
原则3: 选择某个技术背后的生态系统而不是某个技术
这条原则特别适用于前端领域,在前端,各种新技术、框架、工具层出不穷,如果总是追新,或者被某个软文吸引轻易选择了某个技术,最终会带来巨大的成本。
案例:为什么我们从Preact迁移到React
在早些年的时候,我们前端选择了Preact作为UI渲染技术,这有早年React License的原因,也有Preact更小性能更好的原因。
然而这些年在使用过程中,还是有很多不足的地方,核心原因都是生态不够好。
比如说Preact调试很麻烦,因为它不像React有一个强大的DevTools;比如说我们遇到过Preact在服务端渲染的内存泄漏问题,如果像我们这样大规模访问量的用户多一点,可能早就有人踩过坑了,不需要我们去花很长时间定位并最终去解决这个问题;比如最近我们在集成Nextjs,Nextjs是完全为React设计的,对Preact兼容性并不好。
这样的案例还很多(图四),所以选择技术,它背后的生态和社区活跃度很重要。
原则4: 不仅要考虑如何构建,还要考虑如何维护
(图五)
这是一个常见的问题,很多人只管搭建新项目的时候爽,而不管后续维护是不是困难,用了一堆自己喜欢的新技术,最后难以维护。下一个人接手了,搞不好会推翻重写一遍,这样的循环一次又一次。
这样的错误我也常犯,比如2年前React Hooks刚出的时候,我就迫不及待用它来替代Redux,结果上线后发现不好维护,有Bug也不好定位,不像以前Redux,数据流特别清晰,借助工具非常好重现和定位问题,最终上线没多久就改回去了。
所以现在在做技术决策的时候,我们很注意的一个问题就是将来维护的时候是不是很麻烦。
包括我在代码审查的时候,有时候看到一些功能能运行的很好PR,但是代码写的比较难懂的,或者没有遵守最佳实践的,只要是给未来的维护造成麻烦的,我都会毫不犹豫要求重写,避免增加未来的维护成本。
上面就是我们现在实践的五个技术决策原则:
- 原则 0: 遵守公认的好的设计原则
- 原则 1: 找出最本源的需求,而不应该局限于当前的技术实现和资源
- 原则 2: 聚焦于 “收益”、“成本”和“风险”三者之间的平衡,而不是技术本身
- 原则 3: 选择某个技术背后的生态系统而不是某个技术
- 原则 4: 不仅要考虑如何构建,还要考虑如何维护
这些原则绝大部分时候都可以很好的帮助我们做出正确的决策,避免踩坑。但我也会一直在反思曾经做过的决策,对于做出的不太好的决策,会反过来考虑是否要修订这些原则,最终通过不断完善决策原则,帮助我和团队更好的做出技术决策。
最后,推荐一下左耳朵耗子写的一篇:《我做系统架构的一些原则》https://t.cn/A6xBKsCV ,非常有借鉴和参考价值。
插一个广告(图六),帮以前我在美国DePaul大学的老师招全奖研究生的广告:https://t.cn/A66yuwuq
叶秘比起肖洒更愿意叫他雀儿,谁让人总是小小一只窝在沙发上或者自己的怀里,又特别喜欢到处乱跑抓也抓不住,怎么看怎么像只小雀儿。每每把假借跑车溜出去耍的肖洒拎回家后,叶秘都愁的多抽了好几支烟。偏偏这雀儿还是个惯会哄人的主,能说会道的小嘴儿细细密密的亲着叶秘的脸,左一句对不起右一句老公我错啦。无奈之下只能捏着人的下巴,把烟圈尽数喷洒在不老实的雀儿脸上。看着怀中人眼圈瞬间变红还咳嗽不止,又心疼的吻上了软嫩的小嘴儿:“下次伐可以乱跑”
✋热门推荐