今天做了一个关于如何做架构设计的分享,其中有个很重要的问题就是如何更好的做技术决策,我针对我们前端团队整理了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

分手后,给你四个选项,以下哪个做法是正确的?#婚姻情感修复挽回前任#

1、给前任发道歉文挽回。
2、可怜的出现在他面前挽回。
3、暂时不联系,调整自己。
4、让共同朋友帮忙传话。

正确答案是第三个。

为什么这样说:首先道歉并不等于挽回,道歉只会让自己价值更低。两性之间价值产生吸引,你都没了价值,还妄图要挽回他,怎么可能。再说道歉,你给对方的伤害就不在了吗?比如你烧了人家的房子,你觉得道歉人家会原谅你吗?

其次,出现在他面前,更不可能了,他现在还讨厌你,不想见到你,当然你出现在他面前也没用了。

最后让朋友传话,首先你们之间的关系,就不应该让第三个人掺和,你都挽回不了,你的朋友就能帮你挽回了,自己身上的问题还点自己去解决。

所以,正确答案只有第三个。想要前任重新接受你,必须暂时不联系,然后做一些调整,只有你真的不一样了,改变了,他才有接受的可能。#情感挽回失恋分手如何怎么挽回前任前男友男朋友#

#星辰变动画##星辰变动画[超话]##星辰变第四季#
小黑快问快答第十三题:第44集中,是什么唤醒了迷魂状态的秦羽?
ps:龙族至宝也休想迷晕我大哥[加油]
上期答案是:乌空血
关注@星辰变官微 ,并带话题#星辰变动画# 转发回复正确答案,3月11日小黑将揪出1位靓仔赠予他腾讯视频VIP月卡一张,答案将在下期公布~ https://t.cn/A66LxdEL


发布     👍 0 举报 写留言 🖊   
✋热门推荐
  • 但中国女人为什么还那么想结婚呢我就想不通,稍微对比一下国外国内的婚姻法,就知道国内婚姻对女性是多么的不友好,大环境让你付出让你生育让你以家庭为重,但是没有法律保
  •   项目企业说 1  为新一轮产业升级打造更为坚实的中流砥柱  上汽通用(沈阳)北盛汽车有限公司总经理 吴勇玮  2021年上汽通用北盛汽车累计出口整车6682
  • (忍不住不科普在她一脸熟悉的笑容里 可以预测到她应该很快会去看阿令了~提前发一张我们的合照[笑而不语]#博君一肖[超话]# 佛系追星佛系买东西,因为@狐狸大王a
  • 它是为亚历山大三世在克里米亚半岛度假用的宫殿,最终于1902年建成,但亚历山大三世还没来得及在这儿住,就在1894年就去世了。刚来清迈那会,人生地不熟的,再加上
  • 但是如果你是属于“他俩没官宣=他俩是假的”那就别难为自己也别难为他们了[允悲]他们不是嗑糖工具人,都有自己的生活和工作。)1⃣️互叫老师2⃣️bb多动症晃晃悠悠
  • 现如今,光子又将《和平精英》玩家熟悉的兰博基尼系列载具,同步到PubgM里,并且“老树发新芽”光子做出了一系列的改变~同步联动之后的Tesla,在《和平精英》中
  • 60岁的她连唱带跳还rap,朝气蓬勃的样子,超越了很多年轻人。60岁的她连唱带跳还rap,朝气蓬勃的样子,超越了很多年轻人。
  • #Miki_Akama[超话]##张木易[超话]#3:11 我还没睡 我从昨天到现在一直没有睡觉 从凌晨12点多的时候就在互联网上找他们曾经留下来的一些日常 本
  •   回望过去5年,从“夜游三江”旅游项目启航,到上中顺特色文化街区开街,从万佛顶时隔15年重新开放,到《只有峨眉山》戏剧幻城正式公演……我市全面落实省委赋予乐山
  • 真正在恋爱的人在社交软件上的动态都特别少他们在彼此身边的时候 共同经历有趣的事情不在彼此身边的时候 会即时分享分享树 樱桃 落日 和蛋炒饭而真正孤单的人是像我这
  • 关键是那时候只有我一个跳远(苗子)老师手上十几个队员,我就只能跟着中长组训练,每周只有一次单独跳远训练机会,导致我天天跑1500m,早上一个晚上一个,外加无数力
  • 哈哈,想当初我的数学可真是一踏糊涂啊,不过没关系,总算遇到一次,超开心的,最后呢,老白顺路带着老阳阳坐她的“小绵羊”回了家,我也和老杜相互告别各自回家。3.17
  • 公园去过不少,从南到北从长春到北京到广州,可这样风格的公园还是第一次见,觉得很新颖,很对我的胃口,对cc也是。 ​​​#地缘战略##财经#悦容公园,之前去过两次
  • [打call][打call][打call]和 荒松希望(松冈菜摘 饰)是青梅竹马,擅长针线活喜欢的食物:桃子和草莓座右铭:桃栗三年柿八年(大概的意思是要完成一件
  • ”不夸张地说,杭州随便一个小区花园都不比它差…(最后两张图是我爸发我的小区花园视频截图)上一次独自旅行是什么时候呢,记不太清楚了,大概是19岁那年背着家里独自坐
  • 白羊座个性豪爽又耿直的白羊,一般都会选择跟伴侣正大光明的和平分手,只要木有大吵大闹的场景,至少还能留下美好的回忆,分手后即便不再联系,也不代表白羊座人完全遗忘了
  • 经常敲打三焦经,能提高身体免疫力,让你不再小病连连!三焦经的运行时间是21:00到23:00,建议你敲打前尽量少喝水,三焦经还主管水液运行,体内水液沉积太多,会
  • #MicsView上海寰视、MICS全域可视化云、MICS云#智慧城市作为联接数字社会和数字政府的纽带,能够让城市运行更智能,并通过自上而下打通经脉联接,进一步
  • 宾馆、酒店要切实落实外防输入单位主体责任,加大入住人员“两码一证”查验和旅居史询问,对排查出的市外来天人员,严格落实第一时间移交所属县区联防联控机制的措施。各县
  • 因此,有些人甚至终其一生也没有真正信任过任何一个人,倘若你只信任那些能够讨你欢心的人,那是毫无意义的;倘若你信任你所见到的每一个人,那你就是一个傻瓜;倘若你毫不