昨天8:30-18:15 PMP了一整天,刷题+听网课,整个人都懵了。
(公司不报销,也知道考了不加工资不升职,我只是想没事找点事做,吃得太饱,年度给自己收收骨头,仅此而已)

今天出来散步透口气,车厘子问我有没有做咖啡攻略。啥?全中国最多咖啡店的上海还需要做攻略?只要钱包富裕,走到哪喝到哪。

Plan B/百丘/面包咖啡好天气/Drops
牛奶棚/明呈黄鱼面馆/呼伦有牛

现在只剩一个问题:回家要不要再刷套冲刺题啊。。。

#上海#

约1997年,我在村里读学前班。全班15人,学费仅50块…这仅仅的50块,我从开学欠到放假,那时候大姐二姐读5.6年级,学费全靠自己在假期去别的村做鞭炮活得来的。学前班的老师是村里的大爷,他也肯定知道我家极其困难,可是他每天都要从村头他家一路演说到村尾的我家,每天演说的内容都是在重复我欠着那50块。我知道其他人也欠学费,无非就是我家是最穷的那一个,父母也不善言辞。对于言语攻击只能逆来顺受。终于在春节前,在我父亲连续去砍了1个月的甘蔗,白天砍甘蔗,晚上装车,整天整夜的通宵做苦力。除了还上这50元学费,还过了个有只鸡吃的春节。#90后# https://t.cn/RJLkm7S

今天做了一个关于如何做架构设计的分享,其中有个很重要的问题就是如何更好的做技术决策,我针对我们前端团队整理了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 举报 写留言 🖊   
✋热门推荐
  • 最平凡的少年李耕耘——是节目初始太朴素甚至被以为是当地人的李耕耘;是基建时候力争完美咬牙坚持的李耕耘;是压力太大也会偷偷掉眼泪的李耕耘;是会和家人兄弟们撒娇
  • #阳光信用[超话]# 趁你现在还有时间,尽你自己最大的努力,努力做成你最想做的那件事、成为你最想成为的那种人,过着你最想过的那种生活。生活之美不单在于风和日丽花
  • 外甥问,你们这行还有淡旺季? 姑娘白了他一眼,说是看她每个月想做多少天来看的,因为是上门指压嘛,不是在店里,所以时间自己安排,不想做就在爱普上停掉。²º²⁴/₀
  • 君子之交淡如水,淡一点反而长久自然,太腻歪了是不正常的,也不能持久的,自来熟的其实没有感觉基础,与人交往就是这样,不要太快下定论,一个人好与不好,要经历时间和事
  • ✦优质创作者奖励活动优胜者,将有机会获得OST礼盒、旺旺零食礼包和海量游戏道具等丰厚大礼更多活动详情,欢迎点击长图进行查阅↓#冲呀饼干人王国[超话]##冲呀饼干
  • 像猫猫这类的头像,属虎的人用是非常好的,可以提升个人的运势!(包括自家孩子) 包括很多女生喜欢用HelloKitty做头像,但在传统五行中,猫属虎,像属虎,属马
  • 葬尸湖主打的孤雁形象,岂是颇有一两分屈原"吾不能变心而从俗兮,故将愁苦而终穷"的心智?本人就爱这种老秀才不中举的酸腐气,没办法,虽然人家三十
  • 哭的不是自己的失敗,而是覺得辜負了粉絲對你的期待。知道來接機的棚妃們班機誤點趕不上,自己在等候區等著約定好來接機的粉絲,為的就是不讓粉絲們失望。
  • 总结的描述(第一)金刚萨埵法身依靠的要观想, 然后祈祷无比强烈的法身,我为了一切众生能解脱而发心,为何?(第四)我们 生生世世互相,不知所作所为伤害过动物或者吃
  • 我是男粉 明宰铉梦男  坐标广东好感很多数不清啦  如果是雷公雷母就算啦    备注kk就好啦boynextdoor(门内是3>26>145)我的产品:36/3
  • 但是我不是圆脸 栗子有一颗短而尖下巴的脸有温柔的五官我只有下巴但是太长了x[泪]Kn现在最喜欢的歌还是Promise Swords那个飞吻我心动了不知道多少次啊
  • 肥胖、打呼噜、爱躺着、睡不好觉、胆小,多是痰湿体质,用孙思邈的方子内服兼泡脚是不二选择[赞]来源:一根米孙思邈写了一部书叫《备急千金要方》千金已经弥足珍贵,还要
  • 大家好,今天分享的腕表则是来自劳力士薄荷绿日志,对于这款日志也是属于原版的最新款,当然也是康于溢价款,当然对于薄荷绿来说也就是说的字面颜色,在当时出的款里面,格
  • 自己‮灵的‬魂一‮困直‬在自sha地,‮夜夜‬哭泣,偶尔有路过‮少的‬女许愿自‮所己‬喜爱的‮时人‬,发现‮过没‬几天心愿‮达就‬成,‮且并‬成愿的途径无所‮用
  • 每次都是F和P,哈哈哈P人,没有计划[泪]#chris邱宇辰[超话]##邱宇辰的星辰轨迹# 之前有看到站子的评论里在吵,不知道发生什么了,刚完成工作想看看微博有
  • 5月8日,雷蒙多在参加美国参议院听证会时表示,我们不会切断同中国的贸易,也不会切断同中国的技术贸易,我们将继续向中国销售,这对于美国经济有好处,我们只需要保护“
  • 认知不足对应的多是说错话做错事,如果不是底线问题、原则问题,我们应该选择宽容,毕竟认知的成长也是需有代价做为基石的。能自主控制情绪的人都是圣人,对普众而言有情绪
  • 克罗心2002手链 克罗心字母链链耳钉 supreme 23p超级火爆的胎牛皮双背包实物非常小跟老款duma差不多大小无疑还是溢价款很难买上身非常好搭配很耐看
  • 6、德方纳米:唐文华拟减持股份不超过13.3万股。6、德方纳米:唐文华拟减持股份不超过13.3万股。
  • 他们也依然用着他们能做到的最大程度去庆祝我每年的生日,在家里紧巴巴的开支的情况下,每一年今天的年幼我都能去那个玩具站拥有一件玩具或者去我想念了很旧的肯德基吃上全