今天做了一个关于如何做架构设计的分享,其中有个很重要的问题就是如何更好的做技术决策,我针对我们前端团队整理了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 ,非常有借鉴和参考价值。
原则 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 ,非常有借鉴和参考价值。
你们一直在催的乐了大礼包来了!
乐了(le liao)也是我们的老朋友了,几乎承包了我日常的水乳面膜洁面,上次做了皮肤测试,医生建议我抗糖以后,我一刻不敢松懈,抗糖片继续吃起来了。
先给新朋友们介绍一下乐了,国内首家妆食同研的独立健康护肤品牌,华熙生物联合共创,既有先进理念,又有技术加持。春天要到了,此时紫外线没有那么强烈,也不会出汗影响皮肤的吸收,正是补水护肤的好时候。乐了这套水乳专门针对抗糖的,比如肌肤暗沉发黄,松弛衰老,毛孔粗大,爆痘,弹性下降等等这些问题,一扫整个冬天皮肤的沉闷干燥与暗淡。先说它家新肌水,95:5的水油分离,不仅补水,还能补油。很多妹子一到秋冬脸特别干,怎么补水都没用,就是因为并不是缺水其实是缺油。新肌水不仅能打开皮肤的吸收通道,还能补充油分,让脸更滑嫩。冬天大风吹着,气候也干燥寒冷,补水补油都有点入不敷出的意思,夏天大家又普遍倾向防晒,忽略了补水。要我说,就应该在初春好好滋养一下肌肤,给皮肤打好基础。
再说他家精华乳,哇真的很绝。质地很轻薄又足够滋润,不糊脸,但又能深层补充营养,春风拂面也不过如此了!
而且水乳都含有他家的王牌成分,也就是他们的核心技术:华熙生物的麦角硫因和99.9%高纯度的肌肽,一个从根源上抗糖由内而外去黄提亮,一个阻断糖化弹润修护,脸发黄的元凶都靠这俩给解决了!
还有乳糖酸帮忙促进老废角质的代谢,有些妹子觉得自己脸摸着又粗又厚,就是废角质害的!
大家都知道胶原蛋白是没法直接补充的,乐了作为技术党,怎么可能直接给你补充胶原蛋白呢?
他们是用FN纤连蛋白,直接深入老化基底层,去促进胶原蛋白的生成。他们不生产胶原蛋白,只是胶原蛋白的加油站!
还有多重神经烟酰胺,这真的是公认有效美白成分了,还是那句话,趁着紫外线还不强,抓紧美白。
这些好东西,水乳套里都有了。
沉甸甸的大支很耐用,有一个很漂亮很有质感的铁盒,我甚至拿来收纳文具了!
除了水乳以外,它家的抗糖片和面膜也非常好用,有一套互补又统一的研发逻辑。面膜礼盒里头有三瓶以抗糖为大前提的不同功效的面膜,第一个就是这个净澈磨砂面膜,细腻磨砂果萃洗干净你的老废角质,和刚刚水乳里提到的乳糖酸一起祛除你皮肤的糖化累积,内外兼修,给脸做一个大扫除。第二款是亮泽修护,直接抗氧化,去黄,早上敷一次,好状态维持一整天,适合通勤,也适合应急。 第三款是睡眠面膜,啫喱质地,吸收快,不会黏在头发和枕头上,第二天的脸立马水润Q弹,化妆不卡粉,嫩得春风吹过都要打个滑,适合第二天有重要安排时做准备!买一盒就能应对不同需求,非常方便省心!
最后就是我一直在吃,也一直在推荐的乐了白芸豆抗糖片,它比市面上大部分抗糖片口感都好,甚至不输正经糖果。而且,今年抗糖片还做了升级,除了包装之外,口味新增了海盐菠啵味和缤纷莓莓味。成分方面也做了升级,用的是美国进⼝phase2⽩芸⾖,这个白芸豆特别之处呢,就是它的抗糖指标---α-淀粉酶抑制活性是市面上其他白芸豆的5倍。另外还添加了仙⼈掌粉提取物和膳⻝纤维—抗性糊精来降低脂肪量。上次和助理吃完饭,分了她一袋,小姑娘也爱上了,现在我们办公室也囤了几盒。别人零食盘里放水果糖,我们放抗糖片,新时代都市丽人的零食就是这么卷,好吃又美容。
等了这么久终于又等到乐了做活动,我的建议就是趁着便宜快快入手,内外兼修,养好肌肤美美迎接春天!
水乳套组:原价338 到手价248 赠:洁面正装1支
抗糖片3盒:原价330 到手价155 赠:2片装抗糖片*9
面膜:原价169 到手价135 赠:森光身体湿巾*3+森光面部湿巾*3+棉柔巾*2+睡眠面膜*2
https://t.cn/A66LnQQT
乐了(le liao)也是我们的老朋友了,几乎承包了我日常的水乳面膜洁面,上次做了皮肤测试,医生建议我抗糖以后,我一刻不敢松懈,抗糖片继续吃起来了。
先给新朋友们介绍一下乐了,国内首家妆食同研的独立健康护肤品牌,华熙生物联合共创,既有先进理念,又有技术加持。春天要到了,此时紫外线没有那么强烈,也不会出汗影响皮肤的吸收,正是补水护肤的好时候。乐了这套水乳专门针对抗糖的,比如肌肤暗沉发黄,松弛衰老,毛孔粗大,爆痘,弹性下降等等这些问题,一扫整个冬天皮肤的沉闷干燥与暗淡。先说它家新肌水,95:5的水油分离,不仅补水,还能补油。很多妹子一到秋冬脸特别干,怎么补水都没用,就是因为并不是缺水其实是缺油。新肌水不仅能打开皮肤的吸收通道,还能补充油分,让脸更滑嫩。冬天大风吹着,气候也干燥寒冷,补水补油都有点入不敷出的意思,夏天大家又普遍倾向防晒,忽略了补水。要我说,就应该在初春好好滋养一下肌肤,给皮肤打好基础。
再说他家精华乳,哇真的很绝。质地很轻薄又足够滋润,不糊脸,但又能深层补充营养,春风拂面也不过如此了!
而且水乳都含有他家的王牌成分,也就是他们的核心技术:华熙生物的麦角硫因和99.9%高纯度的肌肽,一个从根源上抗糖由内而外去黄提亮,一个阻断糖化弹润修护,脸发黄的元凶都靠这俩给解决了!
还有乳糖酸帮忙促进老废角质的代谢,有些妹子觉得自己脸摸着又粗又厚,就是废角质害的!
大家都知道胶原蛋白是没法直接补充的,乐了作为技术党,怎么可能直接给你补充胶原蛋白呢?
他们是用FN纤连蛋白,直接深入老化基底层,去促进胶原蛋白的生成。他们不生产胶原蛋白,只是胶原蛋白的加油站!
还有多重神经烟酰胺,这真的是公认有效美白成分了,还是那句话,趁着紫外线还不强,抓紧美白。
这些好东西,水乳套里都有了。
沉甸甸的大支很耐用,有一个很漂亮很有质感的铁盒,我甚至拿来收纳文具了!
除了水乳以外,它家的抗糖片和面膜也非常好用,有一套互补又统一的研发逻辑。面膜礼盒里头有三瓶以抗糖为大前提的不同功效的面膜,第一个就是这个净澈磨砂面膜,细腻磨砂果萃洗干净你的老废角质,和刚刚水乳里提到的乳糖酸一起祛除你皮肤的糖化累积,内外兼修,给脸做一个大扫除。第二款是亮泽修护,直接抗氧化,去黄,早上敷一次,好状态维持一整天,适合通勤,也适合应急。 第三款是睡眠面膜,啫喱质地,吸收快,不会黏在头发和枕头上,第二天的脸立马水润Q弹,化妆不卡粉,嫩得春风吹过都要打个滑,适合第二天有重要安排时做准备!买一盒就能应对不同需求,非常方便省心!
最后就是我一直在吃,也一直在推荐的乐了白芸豆抗糖片,它比市面上大部分抗糖片口感都好,甚至不输正经糖果。而且,今年抗糖片还做了升级,除了包装之外,口味新增了海盐菠啵味和缤纷莓莓味。成分方面也做了升级,用的是美国进⼝phase2⽩芸⾖,这个白芸豆特别之处呢,就是它的抗糖指标---α-淀粉酶抑制活性是市面上其他白芸豆的5倍。另外还添加了仙⼈掌粉提取物和膳⻝纤维—抗性糊精来降低脂肪量。上次和助理吃完饭,分了她一袋,小姑娘也爱上了,现在我们办公室也囤了几盒。别人零食盘里放水果糖,我们放抗糖片,新时代都市丽人的零食就是这么卷,好吃又美容。
等了这么久终于又等到乐了做活动,我的建议就是趁着便宜快快入手,内外兼修,养好肌肤美美迎接春天!
水乳套组:原价338 到手价248 赠:洁面正装1支
抗糖片3盒:原价330 到手价155 赠:2片装抗糖片*9
面膜:原价169 到手价135 赠:森光身体湿巾*3+森光面部湿巾*3+棉柔巾*2+睡眠面膜*2
https://t.cn/A66LnQQT
长期拿着一只好股票,先买入一半作为底仓,然后一直坚持做T,结果会是怎样的?
曾经有一个民间高手,他坚持用这种方式不断的滚动操作,最终将持仓成本降到了负数,赚的盆满钵满,今天呢,我就把这个技巧分享给大家:
首先,我们一定要清楚自己的优势到底是什么?小咱们小散户最大的优势就是资金小进出灵活,而手持数亿资金的主力,一旦在盘中做T,则必然会把自己玩坏,因此咱们散户做t的成功率往往比主力更高。
第一,顺向做t,指的是你持有底仓的股票,上午出现大幅下跌或者大幅低开,这个时候可以逢低补仓,补仓的数量一定要与底仓一致,这样再反弹之后就可以底仓卖出,通过低买高卖降低成本获得利润。
第二,逆向做t,指的是你持有底仓的股票,上午出现大幅冲高或者大幅高开,这个时候逢高卖出,等股价回落之后再接回,同样可以降低成本,锁定利润,可以说日内做t就相当于盘中做t+0,另外还有一种波段做t,他指的是保持底仓不动,连续调整之后加仓,连续上涨后卖出获得更高的波段利润。
做T是一种非常稳健又高效的获利手段,希望大家都都能够掌握!
点赞关注不迷路!更多干货分享
曾经有一个民间高手,他坚持用这种方式不断的滚动操作,最终将持仓成本降到了负数,赚的盆满钵满,今天呢,我就把这个技巧分享给大家:
首先,我们一定要清楚自己的优势到底是什么?小咱们小散户最大的优势就是资金小进出灵活,而手持数亿资金的主力,一旦在盘中做T,则必然会把自己玩坏,因此咱们散户做t的成功率往往比主力更高。
第一,顺向做t,指的是你持有底仓的股票,上午出现大幅下跌或者大幅低开,这个时候可以逢低补仓,补仓的数量一定要与底仓一致,这样再反弹之后就可以底仓卖出,通过低买高卖降低成本获得利润。
第二,逆向做t,指的是你持有底仓的股票,上午出现大幅冲高或者大幅高开,这个时候逢高卖出,等股价回落之后再接回,同样可以降低成本,锁定利润,可以说日内做t就相当于盘中做t+0,另外还有一种波段做t,他指的是保持底仓不动,连续调整之后加仓,连续上涨后卖出获得更高的波段利润。
做T是一种非常稳健又高效的获利手段,希望大家都都能够掌握!
点赞关注不迷路!更多干货分享
✋热门推荐