#英语##熟词新义#

1⃣desert
熟义:n. 沙漠
生义:v. 抛弃,遗弃
例句:Please don't desert your pets after adopting them. 请不要在收养宠物后遗弃它们。

2⃣express
熟义:v. 表达
生义:n. 快车
例句:I went to the place by the midnight express. 我乘夜间快车去了那个地方。

3⃣explode
熟义:v. 爆炸
生义:v. 激增
例句: The population exploded because of the implementation of the new policy. 实施了新政策后,这里的人口数激增。

4⃣foreign
熟义:adj. 外国的
生义:adj. 陌生的
例句:It is foreign to me. 这对我来说很陌生。

5⃣fresh
熟义:adj. 新鲜的
生义:adj. 没有经验的
例句:He's a fresh student in our school. 他是我们学校的新生。

用流动的韵律欣赏梵高!在荷兰阿姆斯特丹的梵高艺术博物馆,有一首歌陪伴着梵高画作被一遍遍播放,这就是由美国民谣歌手Don Mclean创作演唱的《Vincent》。梵高是后期印象画派代表人物。他热爱生活,但却在生活中屡遭挫折,备尝艰辛。Don Mclean也曾流落在街头唱歌,对梵高的痛苦感同身受。他创作的《Vincent》以梵高著名的《星夜》为创作灵感,将饱受折磨的人生痛苦转化成醉人的旋律,音乐纯粹干净,歌词温暖动人。https://t.cn/A66paMfM

今天做了一个关于如何做架构设计的分享,其中有个很重要的问题就是如何更好的做技术决策,我针对我们前端团队整理了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 举报 写留言 🖊   
✋热门推荐
  • 不会刷屏哦,白天工作比较忙,欢迎大家下班之后一起探讨皮肤管理哦,让我来做你的皮肤管家吧,找到适合你的产品吧~~ 罗曼罗兰曾经说过,“世界上只有一种真正的英雄主义
  • 不过,每当交易即将敲定的时候,布尔基方面总会在最后时刻喊停,给出的原因无非是看不到诚意和希望等…说白了,就是不想降薪离队。人性都希望在一段关系中获利而非吃亏,对
  • 能够经常走进自己甜蜜梦中的人,一定是自己所刻骨铭心的,我相信我们都很好,正如我们刚刚认识的时候。经过多方人士询问后,女星本人表示,自己确诊后就在隔离治疗,现在人
  • ”#北京朝霞#东方的【朝霞】映照着我们努力奋斗的方向1、初升太阳照映的云彩①《楚辞·远游》:“飡六气而饮沆瀣兮,漱正阳而含朝霞。#每日一善##马上有爱# 东方的
  • 慷慨大气,为人不拘小节,仗义疏财,钱财难聚,有财无库。酉时末生之属马人,精力充沛,开朗活泼,为人直爽。
  • 因为他以游牧为主,他们几千年的遗传基因,对肉类的消化能力要比中国人强得多,几千年来他们就是这么吃出来的。田 原:每年入秋以后有很多这样的病人,您用的都是这个方子
  • 这两句诗所创造的意境仍然是“静”的,表面看来,是写了诗人与敬亭山相对而视,脉脉含情。此诗表面是写独游敬亭山的情趣,而其深含之意则是诗人生命历程中旷世的孤独感。
  • !#SweetmomoCattery甜蜜猫屋[超话]#你们新的一年怎么就要开始把我弄哭嗷呜呜呜[泪]好多熟悉的面孔还有新来的宝子,新的一年也要请宝子们多多指教啦
  • #奇迹暖暖[超话]#[春游家族][春游家族]#故事套装# [羞嗒嗒][羞嗒嗒]冰渊之息.时遇之流 故事套装:雪域渡梦 (长夜曼歌)少女乌黑的长发,比北国最深
  • 你会发现,原来生活只是个爱闹脾气的小孩子它其实很好哄也很有趣人的一部分能力是会消失的没有人捧场的幽默 吃过亏的仗义“每天告诉自己要努力,即使看不到希望,也依然相
  • 20岁结婚很好啊,那是别人早一点遇到爱,30岁结婚也很好呀,那是爱情晚一些,也没关系,不是所有人都早上七点准时起床,别拿一碗面去衡量胃能不能放得下,有人喜欢细嚼
  • 1️⃣希望我的珍珠公主平安生产小崽崽2️⃣希望我的奶茶小娇娇拉肚肚可以好3️⃣希望我的蛋糕大娇娇一直那么胖胖开心4️⃣希望今年我可以救助 帮助更多流浪动物5️
  • 生活当中也喜欢去走捷径,而且本来你们也是比较自由一点的。一般来说在八字十神当中,一般就是藏多克制日主的五行,代表的是命主本身的愿望还有就是很强的占有欲的,这种命
  • 罗维可谓是成龙的伯乐,成龙能够成名也全靠罗维的悉心栽培,他对罗维有感恩之心,也就痛快地签了合约。成龙当初帮助的那位老管家此时此刻出现了,他揭露了罗维的诡计,原来
  • 岚曹(鲁南段)高速发展带,以临沂市、枣庄市、菏泽市等中心城区为核心,增强临沭县、郯城县、兰陵县、滕州市、鱼台县、金乡县、单县、成武县等重要节点的人口和产业集聚能
  • —— 唐代·王维《汉江临泛 / 汉江临眺》译文汉江流经楚塞又折入三湘,西起荆门往东与九江相通。 —— 唐代·王维《汉江临泛 / 汉江临眺》译文汉江流经楚塞又折
  • 乌行雪现在对着萧复暄的微妙心态,一方面想亲近想逗弄,一方面又想伪装想隐藏,可以看出来当时乌行雪自己也并不认可自己的行为,虽然很多事都是无奈之举,但乌行雪对自己也
  • 公转私需要时间这周和你结算,!有需求私聊 #贵州主持人##贵州婚礼主持人##贵州商演主持人# 婚礼主持 婚礼司仪 婚礼主持 婚礼司仪 贵州 云贵川渝婚礼主持人
  • 在这一切都很快速的时代,不仅时间精力连情绪都变成了一种很珍贵的燃料,负面的情绪,会有一时突飞猛进的作用,但其实大多数人都做不到真正以此来支撑他们,所以我希望我们
  • 最想对他说的话是,“很高兴认识你”就在新年的第一天里,意味着我们之后将可以创造出完完整整一年的记忆了,所以满怀期待着未来崭新的日子。。