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

#西安文旅爱分享#【#气温连续两周18度才能露脚踝#】入春时节,乍暖还寒。北方一些地区中午可达十几度,一些人已经迫不及待地露脚踝。虽然春天气温有所上升,但寒气始退,气温变化无常,脚踝的皮下脂肪极其薄弱,很容易受寒。建议当温度达到18摄氏度以上且持续两周时,再逐渐脱掉厚衣服、露脚踝,穿衣尽量上薄下厚。 via:生命时报

写毕业论文的间隙 / 偷偷溜出去跳舞的间隙:)
最近一直在思考“自己的小世界”和“对审美的自恋”这两件事情,似乎贯穿了我的这整个十年。
偶尔跳脱出来看,惊觉自己在学校的风评不好,原来也会沮丧,就像长期呆在同一个地方敲键盘也会沮丧,好天气没有同行伙伴一样沮丧,又窝回自己的小世界。我和朋友说,春节为什么要社交呢,有爹妈 哥哥姐姐 基友 发小,不就够了嘛,已经可以应对大世界中的所有风暴了。和认识时间更长的人相处,我觉得更有安全感,即使并不是很熟悉,我也可以立马分享一些睡前凰文的那种程度。
但是很显然我没有按照那套标准做,而是做了在一小时内组成狼人杀局的人。
怎么说,总之就是不需要技巧的社交很珍贵吧。我总是很想让别人了解我,但又同时认为这是一件没有意义的事情。
是在看《花束》的评价的时候看到「对审美自恋」这个说法的,那时刚把签名改成「对广义的美单膝下跪」,完完全全就是我本人的写照嘛。我也经常给自己说,你结啥婚啊谈啥恋爱啊,你和你的审美过一辈子就不好了吗。我本来以为我经过了无论是难堪的感情和辗转的工作已经是被按在地上狠狠摩擦过的成熟板砖了,结果还是中二少女啊!
当然啦,社交是为了新的启发和引导和思维碰撞,接受自己看不上的人和事和物品是成年人法则。
只是在樱花飘落在自行车前篓的时候,我翻开了名为「金木犀」的番外,阳光也非常好,好像有透明的通道连接,忽然觉得我的小世界也很好,这个世界也很好。 https://t.cn/z8A6oAW


发布     👍 0 举报 写留言 🖊   
✋热门推荐
  • ”你声音低低的,却在安静的房间里格外清晰,“我没有力气和你走下去了,我们分开吧。”马嘉祺一手拎着行李箱,一手端着你的水杯,他俯身把水放在床头,目光只落在你干燥的
  • 【“莫奈与他的朋友们”沉浸式光影大展|Una exhibición digital e inmersiva en Beijing rinde tributo a
  • 哦,可爱的姑娘,愿上帝赐福予您,因为您没有一下子就嫌弃我,因为我现在可以说: 我一生至少有两个晚上没有白活!”“即使我已经爱了您二十年,也不会爱得比现在更加热烈
  • 天秤座喜欢甜美可爱的形象,再加上天秤座也是很在乎朋友的一群人,所以对感情这个东西并没有太多的信任,相反的是天秤座如果有了合适的人选就不会轻易放弃。处女座不喜欢一
  • 这两人的CP也算是走上了完美的结局,国内印象比较深刻的就是溺水小刀中的出演,苏打正值自己的事业上升期也能完成自己的终身大事,算是不错了,其本来就是演技派的实力演
  • 我说三代丝能不能别到处犯剑了啊 逮着我三次的好朋友骂 还两个人一起来 骂不过就拉黑到最后还拖累我航 我们航丝啥也没做还要被拉下水 被败坏路人感 还专门搜别人微信
  • 不管过去的伤痛因谁而起,不管那些抑郁怎样跌宕起伏的湮没过谁的心,又不管未来会有什么样的个人历险,在这一刻,就是现在,我们似乎想珍惜这些被摔碎过又修补活下来的关系
  • 倒计时18天 我觉得接下来会很焦虑 也觉得现在就很焦虑在焦虑的时候越来越喜欢做一些无意义的事在这段时间里 我玩了消除六边形 2048 数独 兰空 数独 旅行的
  • 听来跟你讲一讲~摆放水晶,广结良缘水晶是在自然条件下形成的晶石,吸收了天地灵气日月精华,因此在它身上蕴含着一种特殊的磁场,与人的磁场相合,如果在家里摆上紫水晶或
  • #英雄城同心战疫# ↓↓↓#河南将再添一条省际南北大通道# 日前,中铁十局承建的濮新高速公路宁沈段三标施工现场工人们正抢抓当前晴好天气进行紧锣密鼓地施工,25座
  • 6.老公,在一起越久越能感觉到你的不容易,让我觉得自己很幸福,能有这么好的一个体贴的男人,想到你一直在努力的工作,从在一起到现在从来没有让我吃苦,都是尽力给我你
  • [嘘]现在有25%off(直到5/16为止),想知道结局的朋友就要来看看黑〇x大〇生的调[笑而不语]教故事啰[色](这部有英文翻译[小黄人惊讶])#好孩子们来看
  • 大S 在美容大王里,曾经说过,为了变白,不吃黑色食品,避免黑色素沉淀。比如出生在亥子丑月份的人,调候用火,偏偏被月令影响,非要日常喜欢生冷的食物,喜欢游泳,喜欢
  • 这是真正的复古色,一上嘴整个复古的感觉就来了,直接变身上世纪的名媛淑女!口红一整个用的年代来命名,复古味可以说是十足了。
  • 今天是#五一劳动节#,在上海疫情封控期间,有一群人义无反顾地坚守在公园,为公园的一花一草、一树一木默默付出辛劳和汗水。让我们致敬每一 位默默付出的劳动者,也#致
  • 我做完之后最最最直观的感受就是我的黑眼圈变小了,之前感觉黑眼圈大的来都要掉下来了,现在明显变小了。护眼好物分享|跟黑眼圈说拜拜~[熊猫]总是忍不住熬夜玩手机最近
  • P3 微微赶在20号折给俺的许愿星55555 小纸条没全放上,但全记在心里啦P4 pei子给俺的兔子,说是看到就想到我哈哈哈哈?p1:一个从上海回来做了六次核酸
  • 服药廿余剂,大痛未作,小痛稍有,证治相合,然病久日深,正虚邪实,非轻剂易解,故改当归40克、川芎40克,加大其量,重可去实。上方续服廿余剂后,头痛虽未大作,但有
  • 华润置地股票代码:HK.01109最新股价:37.85港元市值:2699亿港元华润置地于1994年改组成立,是《财富》“世界500强”华润(集团)有限公司旗下负
  • 茶有大益,我喜欢大益这个品牌名字,大益勐海的普洱茶,就是普洱茶的味道,温润口感,普洱茶不刺激肠胃,修复胃黏膜。家里还有碧螺春大红袍,超市凑单买的确实不咋好喝,还