真的有必要掌握框架源碼的細枝末節嗎?

古人云:工欲善其事必先利其器,磨刀不誤砍柴工。可是砍柴的人須要知道怎麼製做刀嗎?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

相關文章
相關標籤/搜索