精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

程序員為什么一定要去造幾個輪子

開發 前端
我覺得作為程序員,在能力范圍之內,一定要嘗試去造幾個輪子。哪怕剛開始因為能力不足造輪子困難,或者造出來的東西不好用。

最近在教一名學生封裝 2D 可視化渲染引擎的時候,無意間了解到了他一個的想法:

我們封裝的這個東西,別人已經有非常成熟的實現了,為什么還要自己重新封裝一遍?如果面試官問這個問題,我都不知道應該怎么回答。

通過進一步聊天我的感受是,他覺得重復造輪子在我們行業里其實是一件不那么光彩的事情,他一直以來聽到的都是不要重復造輪子。

很顯然,確實在我們行業有很多人會旗幟鮮明的反對重復造輪子,這句話影響也是非常大的,我們會發現很多人在面對新需求的時候,常常腦袋里的第一反應就是:有沒有什么庫能直接幫我搞定這個需求。

但是我的觀點卻恰好剛剛相反,我覺得作為程序員,在能力范圍之內,一定要嘗試去造幾個輪子。哪怕剛開始因為能力不足造輪子困難,或者造出來的東西不好用。

說一下我的理由。

一、找輪子花費的時間也不少

其實我們會花大量的時間在找輪子上。

這件事情我比較有體會,因為我以前經常干這個事情。這里面最痛苦的事情是當你找到一個輪子之后,到底好用不好用其實你自己也不知道,然后用了一半之后發現不完全是自己想要的,有的功能實現不了。

然后你就只能重新找。

有可能要反復幾次之后才能找到完全符合當前需求的東西。但是也有可能找不到,最后只能妥協需求,實現一個大概差不多的東西。

雖然最終也交差了,但畢竟給同事留下了一個不好的形象。甚至會直接影響自己的升職加薪和年終績效。

二、別人造的輪子并不完全符合心意

最近有幸能有機會參與到 openInula 技術方案的探討會議中去,在幾位華為、騰訊大佬的討論過程中我也學習到了很多東西。

在設計一個東西的過程中,我能很明顯感受到的一個現象就是,每個人都有自己的技術偏好。哪怕是在設計一個小小的語法上,大家也會有不一樣的喜好。

就拿我自己來說,我并不喜歡 React 語法里 useState 用數組來解構,每次看到幾個的數組解構堆在一起我就覺得渾身不舒服。

const [loading, setLoading] = useState(true)
const [param, setParam] = useState('')
const [list, setList] = useState([])
const [error, setError] = useState('')

所以我在使用 React 的過程中,做得最多的事情就是想辦法把這些 state 藏起來,用自定義 hook 重新封裝,并一定要改成對象解構的語法來使用。

const {
  loading, 
  setParam,
  list = [],
  error
} = useFetch(searchApi)

又比如有的人覺得 solid.js 非常驚艷,是他理想中的樣子。但是我還是覺得 solid.js 的語法比 React 更讓我無法接受。

const [count, setCount] = createSignal(0);

一方面是因為沿用了 React 的數組解構,另外一方面是因為返回的 count,他不是一個值,而是一個獲取值的方法。

因此我們使用的時候必須這樣用。

<div>count()</div>

但同時,他又可以是一個值,例如我們這樣用的時候。

setCount(count => count + 1)

這違背了我一直嚴格遵守的語義化和單一性,所以我主觀上不接受這樣的語法設計。

包括 solid.js 在 props 的處理上,為了確保修改之后的 props 具備響應性,不得不新增了兩個語法,mergeProps splitProps,這也是我不愿意接受的語法設計。

這種偏好其實非常主觀,但是確實是每個人都會或多或少有這樣的怪癖,會覺得別人的語法寫起來不舒服。

三、不完全符合需求

有的時候一個優秀的輪子你對他贊不絕口,然后用了半年之后,突然來了個需求,它滿足不了。賊難受。

于是很多程序員這個時候又不知道咋跟產品經理溝通,他會犯一個經典的職場錯誤:直截了當的告訴產品這個事情他做不了,甚至有的人會更夸張,還會解釋說這個需求我用的組件庫不支持所以我做不了。

這種溝通方式最大的問題,就是在跟同事暴露你技術能力不行。你可以用別的任何理由去拒絕這個需求,但理由一定不能是我實現不了這個需求。

如果一年中,你有 2 次出現這種情況,你就會發現你的年終績效會受到很大的影響。一年兩次這樣的頻率其實非常低,真實情況可能遠不止兩次。但是即使只是兩次,別人也會覺得你能力有問題。

所以別人的輪子往往會限制我們,哪怕他滿足了你 99% 的需求,如果突然來了一個需求滿足不了,就會讓你很難受,直接面臨職場危機。

四、遇到 BUG 難以修復

有很多輪子是不得不用別人的。然后就經常遇到的一個問題就是,如果在特定場景之下遇到一個 bug,輪子作者也不會馬上幫你把這個 bug 給修復了。

你提的 issue 可能輪子作者隔了半年才反應過來可能會修復你這個問題。

有的時候修復這個 bug 也非常不容易。因為你特定場景的 bug,作者要復現可能比較困難,甚至會因為溝通問題,比如你提供的信息、版本、環境不充分,而導致作者根本就復現不了,導致最終也改不了你這個問題。

這個時候是最難受的。

所以我以前經常 fork 別人的輪子,然后去把他的源碼給改了,改個名字重新上傳到 npm 上,當成自己的輪子用。這樣雖然勉強解決了問題,但其實也并不是一個好的方案,因為后續的版本就開始完全分道揚鑣了,后續所有的改動都要你自己動手操作了。慢慢的也走上了造輪子的道路。

五、場景不匹配

有的時候我們會發現別人的輪子跟我想要的場景不太匹配。

例如我需要一個圖表庫,我希望他能在網頁上跑,又希望他能在小程序上跑,還希望在 React Native 上也能跑。這樣對我來說,項目的維護成本是最低的。

實際上如果是我自己寫的輪子的話,我要做的兼容成本非常低。但是這種特定的需求可能別的輪子就不會專門幫你做這個事情。

于是我們就不得不在不同的平臺使用不同的輪子。難受的是,如果遇到定制化 UI,有的輪子支持得就不那么好,就會出現一個詭異的現象,明明能在 web 上做得非常好的功能,在 RN 上就搞得缺點意思,給人一種很古怪的感覺。

六、自己造的輪子,可以更輕量

成熟的開源項目往往會考慮更多的因素,因此你常常會發現許多開源項目的源碼讀起來非常痛苦,各種條件判斷特別多。原因就是成熟的開源項目他需要兼顧更多的場景和需求。

但是在你的項目中,有可能不需要考慮那么多。

這樣我們自己造的輪子其實是可以更輕量,更簡單。例如我自己封裝的一個狀態管理器 mozz,只有 10 多行代碼,在特定的場景下結合我自己的項目架構思路,用了 5 年了也沒出什么問題,非常舒適。

所以我一直以來,對別的 React 生態中的狀態管理并不是很關注,因為他們內部到底是怎么實現的,具體的優缺點是什么,是否是我的項目所必要的我大概心里也有數。

在我公眾號文章里,前面介紹了幾種封裝狀態管理器的思路「半成品」,其實就覆蓋了好幾種狀態管理的實現原理,例如基于 reducer 和 useSyncExternalStore 的 zustand,基于 Atom 的 Jotai,只是在最終實現上,語法設計上會有所不同。

七、提高技術競爭力

最最主要的原因是,造輪子能提高我們的個人技術能力。能造輪子的人,技術能力肯定是要比不能造輪子的人更強。

實際上很多人會覺得造輪子可能比較浪費時間。其實恰恰相反,這東西是可以不斷累積的。工作時間長了之后,你就會發現你需要親自造的輪子會越來越少。

然后到了后期,很多時候都是出了一個新框架,新平臺,你需要自己動手去做遷移和重寫。就比如這次鴻蒙開發起來了之后,我們的交流群里面就有幾個大佬在著手把以前自己寫的輪子重新在 arkUI 上寫一篇,花的時間也不是很多。

當然前期受限于技術能力和工作時間,造輪子會比較困難,甚至有的人會覺得無從下手。

那么我們有幾個方式可以走,首先就是先從簡單的輪子開始,例如在我職業生涯的早期,我自己寫了一個專門操作 cookie 的庫。

或者搞一個更簡單的,寫一個專門用來創建 css3 動畫的 JS 庫。

然后慢慢的逐漸深入,寫一個拖拽庫,或者寫一個動畫庫,寫一個輪播圖庫。

這些都是比較簡單就能做到,不需要太高昂的學習成本。只是很多人內心深處覺得這些事情根本沒必要,完全是在浪費時間而已。

打個小廣告:你也可以直接付費找我學習從零開始基于 canvas 打造一個 2D 可視化渲染引擎,費用 2000 元,助你快速提高技術能力,在面試時手握利器,不用為項目亮點而擔心。

八、直接和薪資,績效掛鉤

有人不知道年終總結怎么寫,自己一年下來都在寫頁面,好像對團隊也沒什么特別的貢獻,想漲工資又不好意思找老板提。

想要晉升也不知道用什么去談。

我其實都沒怎么遇到過這種煩惱,因為每年都有產出和貢獻。這就是經常自己造輪子的一個非常大的好處。

因為實際上團隊內部有自己的技術沉淀這件事情本身就是非常重要的。因此你總會發現一些好的團隊總是非常熱衷于自己造輪子,然后你還會發現很多人會嘲諷這種現象。

對于這種嘲諷我們完全不需要理會,一方面是他們并不理解團隊技術沉淀的重要性,別人的技術終究是別人的,不管是從團隊角度或者從個人角度出發,盡可能少的受限于他人,本身就是我們應該追求的目標之一。

另外一方面是因為你拿到手上的是真金白銀,那些嘲諷的人又不會給你發錢。

九、總結

總之在能力范圍之內,嘗試自己造輪子是我比較推崇的觀點。他的好處我有切身的體會。你也有機會認識更多的大佬,能更輕松的找到工作等等。

但是一定要操作得當,不要因為造輪子而導致任務總是 delay,一個好的方式就是把造輪子的事情上升到公司層面的需求,而不是自己私下悄悄搞,這樣的話就不用擔心任務 delay 這個事情了,你也有充足的時間和正當的理由來做這個事情。

當然這樣做也有壞處,就是以后你造的輪子就是屬于公司了,所以我當年這樣做雖然可以大量利用上班時間來通過造輪子提高自己的技術能力,但也導致了很多東西不能開源出來,屬于是有利有弊吧,自己權衡就好。

責任編輯:姜華 來源: 這波能反殺
相關推薦

2018-08-24 09:02:26

2011-05-30 14:50:56

程序員

2015-08-06 10:14:15

造輪子facebook

2018-05-28 09:05:17

程序員北京戶口加班

2019-02-20 11:14:08

程序員技能溝通

2015-05-27 09:45:59

程序員

2021-03-05 11:02:14

iOS 14.5蘋果更新

2018-08-15 13:25:18

Java開源工具

2011-05-10 15:51:34

SEO

2022-04-24 09:54:24

ProxyReflect前端

2022-01-10 13:06:13

微服務API網關

2018-08-31 15:44:39

程序員技能開發者

2024-11-13 00:58:28

2024-02-22 14:22:17

數字化轉型企業架構

2019-06-25 10:02:44

程序員經驗編程

2017-08-17 11:11:41

深度學習弱智能機器學習

2024-10-10 05:00:00

2019-01-29 11:02:30

消息中間件Java互聯網

2022-05-26 09:24:09

volatile懶漢模式
點贊
收藏

51CTO技術棧公眾號

久久资源av| 欧美资源在线观看| 五月天激情播播| 在线免费观看的av| 99视频精品免费视频| 国产精品黄页免费高清在线观看| 一级片一级片一级片| 超碰成人福利| 精品婷婷伊人一区三区三| 国产日韩第一页| 九色国产在线观看| 国产精品18久久久久久vr| 国产91精品久久久久久| 亚洲国产123| 亚洲8888| 精品国产伦一区二区三区免费| wwwxxx黄色片| 任你弄在线视频免费观看| 久久久噜噜噜久久人人看| 成人激情av| 中文资源在线播放| 亚洲综合另类| 欧美精品videos另类日本| japanese中文字幕| 久草在线综合| 日韩女优电影在线观看| 不卡的在线视频| 在线最新版中文在线| 亚洲一区二区美女| 宅男一区二区三区| eeuss影院www在线观看| 久久无码av三级| 国产在线一区二区三区四区| 99在线精品视频免费观看软件 | 国产一区二区黄| 色哟哟无码精品一区二区三区| 九七电影院97理论片久久tvb| 激情久久av一区av二区av三区| 黄色网zhan| 亚洲搞黄视频| 国产精品乱码久久久久久| 欧美亚洲一级二级| 四虎精品在永久在线观看| 成人高清免费观看| 国产91精品入口17c| 国产精品久久久久久免费免熟| 奇米精品一区二区三区在线观看一| 啪一啪鲁一鲁2019在线视频| 国产无遮挡aaa片爽爽| 在线国产精品一区| 国外色69视频在线观看| 久久精品性爱视频| 亚洲第一黄网| 26uuu久久噜噜噜噜| 欧美一区二区三区四| 午夜一级在线看亚洲| 2021国产精品视频| 亚洲第一网站在线观看| 日韩制服丝袜先锋影音| 国产精品老女人视频| 中文区中文字幕免费看| 蜜臀久久久久久久| 成人精品视频在线| 国产a级免费视频| 国产成人一区在线| 国产一区二区在线网站| 青青青免费视频在线2| 国产夜色精品一区二区av| 日本日本精品二区免费| 91露出在线| 日韩一区日韩二区| 成人污网站在线观看| 99久久精品免费看国产小宝寻花 | 日产精品久久久久久久蜜臀| 超碰在线97国产| 日韩欧美视频一区二区三区| 麻豆一区二区三区视频| 国产麻豆一区二区三区| 欧美精品一区在线观看| 国产美女精品久久| 日韩电影二区| 欧美黑人视频一区| 国产成人综合欧美精品久久| 免费在线视频一区| 成人综合色站| 毛片在线播放网址| 中文字幕人成不卡一区| 欧美乱大交xxxxx潮喷l头像| 日韩欧美看国产| 欧美精品 国产精品| 日本xxxx免费| 精品国产午夜| 精品中文字幕乱| 韩国av中文字幕| 九九九久久久精品| 国产欧美一区二区视频| 国产裸舞福利在线视频合集| 亚洲美女区一区| 97在线播放视频| 国产亚洲观看| 亚洲色图25p| 男人操女人的视频网站| 久久精品电影| 国产成人av一区二区三区| 国内精品一区视频| 一区二区三区精品视频在线| 中文久久久久久| 国产欧美一区二区三区米奇| 色婷婷av一区二区三区久久| 欧美成人aaaaⅴ片在线看| 美女一区二区久久| 久久久久久国产精品一区| a黄色片在线观看| 欧美一a一片一级一片| www.四虎在线| 91精品综合| 国产精品专区一| 日本成人一区二区三区| 亚洲一区二区三区四区的| 国产一区二区在线观看免费视频| 蜜臀91精品国产高清在线观看| 欧美极品少妇全裸体| 91在线你懂的| 欧美国产一区二区| 成人黄色片视频| 欧美jizz19性欧美| 欧美国产日本高清在线 | 国产精品第一页在线观看| 久久成人免费网| 青青草久久网络| 伊人网在线播放| 日韩av网站导航| 久久精品国产亚洲AV无码男同| 精品综合久久久久久8888| 少妇免费毛片久久久久久久久| 日韩电影免费看| 精品sm捆绑视频| 国产在线一区视频| 成人看片黄a免费看在线| 91看片淫黄大片91| 久久视频社区| 欧美多人乱p欧美4p久久| 国产ts人妖调教重口男| 亚洲天堂网中文字| 三级一区二区三区| 中国精品18videos性欧美| 91久久精品国产| www红色一片_亚洲成a人片在线观看_| 欧美精品丝袜中出| 日韩高清dvd碟片| 国产乱码一区二区三区| 青青草综合在线| 中文字幕视频精品一区二区三区| 久99久在线视频| 亚洲国产精品成人久久蜜臀| 亚洲高清在线精品| www.日本高清| 玖玖在线精品| 中文字幕中文字幕一区三区| 日韩成人精品一区二区三区| 欧美成人精品在线观看| 亚洲春色一区二区三区| 亚洲成年人网站在线观看| 中文字字幕码一二三区| 日韩av中文在线观看| 亚洲国产精品综合| 国产精品国产三级在线观看| 久久亚洲一区二区三区四区五区高| 99re只有精品| 午夜电影一区二区| 女人又爽又黄免费女仆| 欧美aa在线视频| 久久久久福利视频| 欧美一区 二区| 国产免费一区视频观看免费| 色女人在线视频| 日韩大陆欧美高清视频区| 无码一区二区三区| 亚洲免费大片在线观看| 看全色黄大色黄女片18| 石原莉奈在线亚洲二区| 9色视频在线观看| 蜜桃一区av| 国产欧美日韩亚洲精品| 青草影视电视剧免费播放在线观看| 亚洲国产精品99| 欧美一级黄视频| 亚洲一区二区三区四区五区中文 | 国产精品久久久久9999赢消| 国产乱人伦精品一区二区| 午夜无码国产理论在线| 久热精品视频在线| 欧洲一区av| 欧美一区二区播放| 亚洲国产成人精品女人久久| 亚洲美腿欧美偷拍| 欧美激情亚洲色图| 成人激情校园春色| 99视频在线视频| 99国产一区| 免费看av软件| 欧美码中文字幕在线| 国产99在线免费| 欧美特黄色片| 日本高清视频一区| 欧美日韩在线视频免费观看| 中文字幕在线看视频国产欧美| 亚洲AV无码国产精品午夜字幕| 一本久久精品一区二区| 久久久久久福利| 亚洲欧洲色图综合| 免费在线观看污| 不卡av在线免费观看| 色偷偷中文字幕| 日韩av中文在线观看| 北条麻妃在线视频观看| 国产精品草草| 国产欧美综合一区| 成人黄色av| 欧美久久久久久| 欧美五码在线| 国产乱人伦精品一区二区| 秋霞一区二区三区| 成人福利网站在线观看| 最新日韩一区| 国产精品久久久久久搜索 | 国产一区在线播放| www成人在线视频| 日本sm极度另类视频| 激情视频网站在线播放色| 久久99国产综合精品女同| 欧美成人二区| 色悠悠国产精品| 天堂а√在线资源在线| 在线观看国产精品91| 国产三级视频在线| 亚洲日韩欧美视频| 久久手机免费观看| 国产一区二区三区免费视频| 黄色av免费在线观看| 亚洲性av网站| 1024视频在线| 最近2019中文字幕mv免费看 | 亚洲精品97久久中文字幕| 91精品国产综合久久久久久久久久| 曰批又黄又爽免费视频| 欧美日韩你懂的| 97超碰人人模人人人爽人人爱| 欧美日韩国产影片| 91亚洲视频在线观看| 91精品在线麻豆| 精品国产99久久久久久宅男i| 欧美一级爆毛片| 国内爆初菊对白视频| 亚洲国产高潮在线观看| 婷婷在线免费观看| 亚洲欧美一区二区精品久久久| 免费黄色片在线观看| 国产亚洲欧美日韩美女| 免费观看成人高潮| 欧美理论片在线观看| h片在线观看下载| 欧美亚洲国产另类| 99久久婷婷国产综合精品首页| 国产欧美日韩中文字幕| 成人综合日日夜夜| 国产精品久久九九| 你懂的视频欧美| 亚洲日本精品国产第一区| 欧美ab在线视频| 美女日批免费视频| 日韩 欧美一区二区三区| 五月天丁香花婷婷| 成人av动漫在线| 特级西西www444人体聚色| 日韩一区欧美一区| 西西44rtwww国产精品| 欧美亚洲丝袜传媒另类| av免费观看在线| 国产视频精品免费播放| 午夜激情在线观看| 欧美激情视频一区二区| 韩日精品一区二区| 91九色露脸| 亚洲亚洲免费| 亚洲五码在线观看视频| 老司机午夜免费精品视频 | 91在线视频官网| 三上悠亚在线观看视频| 亚洲国产日产av| 在线播放精品视频| 亚洲精品www| 国产三级在线播放| 国产成人亚洲精品| 日韩精品一级| 亚洲欧洲一区二区| 亚洲激情在线| 色噜噜狠狠一区二区三区狼国成人| 99久久精品费精品国产一区二区| 天天操天天摸天天舔| 婷婷成人激情在线网| 国产精品一区二区免费视频| 亚洲另类xxxx| 欧洲精品二区| 91精品国产综合久久香蕉| 亚洲人成精品久久久| 超级碰在线观看| 免费人成在线不卡| 我和岳m愉情xxxⅹ视频| 亚洲一区二区综合| 国产v在线观看| 久久韩剧网电视剧| 台湾佬中文娱乐久久久| 国产一区在线观| 亚洲欧美亚洲| 91国内在线播放| 国产日韩精品视频一区| 国产成人精品一区二三区| 欧美变态tickling挠脚心| 欧美18一19xxx性| 国产精品99久久久久久久久| 琪琪久久久久日韩精品| 精品成在人线av无码免费看| 国产精品一区二区在线看| 国产黄色录像片| 欧美视频第二页| 国产一二在线观看| 热99在线视频| 要久久电视剧全集免费| 37pao成人国产永久免费视频| 不卡的av电影在线观看| 国产又大又黑又粗免费视频| 精品国产一二三| 美女网站视频在线| 翡翠波斯猫1977年美国| 国产综合精品| 日本五十肥熟交尾| 亚洲福利一区二区三区| 国产自产一区二区| 午夜精品一区二区三区av| 国产欧美啪啪| 国产精品沙发午睡系列| 97精品国产露脸对白| 国产www在线| 亚洲性线免费观看视频成熟| 日本美女一区| 日韩欧美亚洲在线| 麻豆传媒一区二区三区| 亚洲色图27p| 欧美一区二区三区免费在线看| а√天堂官网中文在线| 96pao国产成视频永久免费| 欧美激情第8页| 亚洲最大的黄色网| 色综合婷婷久久| 99视频在线观看地址| 成人动漫网站在线观看| 好吊日精品视频| 在线观看国产免费视频| 色婷婷香蕉在线一区二区| a√资源在线| 99国产超薄丝袜足j在线观看 | 国产成人无码www免费视频播放| 高清一区二区三区日本久| 秋霞影院一区二区三区| 免费看污污网站| 亚洲精品久久久久久国产精华液| 亚洲成人av综合| 亲爱的老师9免费观看全集电视剧| 欧美色图激情小说| 日本黄色一级网站| 午夜精品久久久| 国产精品麻豆一区二区三区| 91免费的视频在线播放| 好看不卡的中文字幕| 色欲av无码一区二区三区| 欧美日韩一级视频| 欧美性爽视频| 色噜噜狠狠一区二区三区| 国产一区二区网址| 日韩在线视频免费播放| 久久精品国产成人精品| 果冻天美麻豆一区二区国产| 欧美一级黄色影院| 亚洲精品你懂的| 天天干天天草天天射| 国产精品精品久久久| 欧美三级小说| 青娱乐国产视频| 欧美tk—视频vk| 国产亚洲人成a在线v网站 | 国产一区一一区高清不卡| 日韩中文在线字幕| 久久九九国产精品| 亚洲大尺度网站| 国产精品激情av电影在线观看 | 日本wwww色| 欧美色图12p| 男女羞羞在线观看| 九一免费在线观看|