真的有必要掌握框架源码的细枝末节吗?

古人云:工欲善其事必先利其器,磨刀不误砍柴工。可是砍柴的人须要知道怎么制做刀吗?vue

注意:本文先分析要不要学源码,而后分析要不要掌握源码的每个细枝末节(深究技术)!!!react

为何要学源码

  • 为了面试被迫学习->毕竟面试但是要造火箭的
  • 为了装逼->装逼才是人生的究极快乐
  • 遇到问题网上找不到解决方案->只能硬着头皮啃源码
  • 想了解优秀的代码长什么样->猎奇心理
  • 打磨技术永远不会错->技术是安身立命之本
  • ...

为何不要深究源码

为了面试被迫学习源码

大部分面试官也只是跟风网上的面试题问的,并不清楚细枝末节,因此能说清楚实现思路足够应对了。工做拧螺丝,80%甚至99%的工做都是调用API就能够解决的。剩下的1%请教同事或者百度也能够解决。若是不能解决改变需求或者换个实现方案绕过去不就好了吗?技术是死的,人是活的嘛程序员

为了装逼

能复述框架实现思路已经够装逼了,再搜罗些生僻的源码面试题足以震慑全场!实在不会的神秘一笑更是高深莫测。彻底掌握源码细节还不如好好琢磨话术,怎么说才能显得本身逼格更高web

遇到问题网上找不到解决方案

啃相关问题的源码就够了,能解决问题就够了,等问题出如今啃也不迟。再者换个方案不就是了吗?再者业界都没有解决方案,直接告诉业务方作不了就完了呗。面试

想了解优秀的代码长什么样

写出源码级别的代码和带些坏味道的代码对于实现业务而言有什么区别?就像吃东西是为了填饱肚子,吃10块钱的白米饭和2W的豪华大餐不都是填饱肚子吗?豪华大餐还上菜慢。不过多了些可维护性高的附加价值罢了,附加价值还很难被证明和评估。何须呢?markdown

打磨技术永远不会错

天天能用于学习的时间是极少极少的,而框架是善变且繁多的,为何不学些更实用的呢?前天学完vue2源码,昨天又看了react hook源码,今天又学了vue3源码,明天leader说咱们全面拥抱angular吧。nice,我学你mlgb!学完就过期,浪费时间就是浪费生命!框架

...

综上:掌握框架核心思想便可,没必要深刻技术的细枝末节

  • 深究细节须要耗费太多精力,可是中短时间收益比较低,甚至学了根本用不到。
  • 用于学习的时间和精力是有限的,咱们应该用及其有限的时间学性价比最高的东西(不止于技术),而长期收益是由短时间收益累加的,这样看来长期受益也不低。

可是:拿破仑说不想当将军的士兵不是好士兵?
发散:从要不要深究源码细节到要不要挖掘技术深度学习

提高格局:技术深度的重要性和带来的深远影响远远超出你的想象

一 T M 型人才

  • 一字型人才看起来什么都懂,但都是泛泛,扛不了大旗
  • 企业渴望T型人才(P7是某个技术或业务垂直领域的专家(不说带团队的事))
  • 企业更渴望M型人才(P8是多个技术或业务垂直领域的专家(不说带团队的事))
  • 技术深度是程序员的核心竞争力
  • 有技术深度的人很容易在技术交流中赢得你们的信任和依赖,脱颖而出成为领头羊!
  • 当企业面临困难须要裁人,必定是优先保留有技术深度的大佬而不是写页面快的切图仔! 由于切图仔真的是太容易招了。特别是作了TL以后注重管理忽略技术的leader,一定是先裁掉或者大幅降薪!

一颗树要想成为参天大树

  • 首先要活下来:要让根系更深更发达,只有这样才能在暴风雨来临后存活下来,而根系浅薄的树风一吹就倒了!
  • 仅仅根系深还不够,欲穷千里目,更上一层楼!
  • 其次要长的高:根系深厚能保证咱们活下来,而高度(眼界、格局)能让咱们更轻易的脱颖而出,吸取更多的阳光(资源倾斜),更容易长成参天大树!
  • 全部光有深度还不够,还要有高度,而后是广度

总结升华

到底先学什么,再学什么?

  • 首先熟练当前业务或团队须要的技术->达到API熟练
  • 其次集中精力成为某个技术或业务垂直领域的技术专家->拥有核心竞争力不可替代性
    • 集中精力成为与核心竞争力关联的技术或业务垂直领域的技术专家->从T型人才变成M型人才
    • 或者提高影响力、眼界、管理、协同等软实力->从技术人才变为TL或项目组负责人(仍是M型人才)
  • 而后提高广度
    • 经过学习项目组业务端到端闭环的全部技术,提升在项目组的权威和决策能力
    • 经过对比关联技术快速学习(好比vue和react),提升取长补短、技术选型等能力,对比分析总结出业界通用解决方案(本质),从而进阶成领域专家
  • 再往下编不出去了啊哈哈哈=_- ...
  • 开玩笑,关注我下一篇继续编...

(ps:卑微小编求点赞,欢迎评论)url

相关文章
相关标签/搜索