前端新人工作中多造輪子對未來的發展是好是壞?

前端實習生一枚,在工作中實現某些功能(比如動畫特效)的時候,不喜歡用別人寫好的插件,一般會自己絞盡腦汁實現功能。個人認為這能鍛煉自己解決問題的能力。但是很多大神都說過不要重複造輪子,既浪費時間又不能寫出更好的代碼。請問對於新人來說,多造輪子是好是壞呢?


造當然是要造的,但是你造完了要跟別人比一比,你要是發現自己造了好幾年的輪子都跟別人地差了幾個檔次,那就應該停下來,先學習一個。

還有,不能做的是重複發明輪子,不是不能重複造輪子,不要聽那些居心叵測的人偷偷改了個字眼。世界上大量的優秀的工具都是重複造輪子造出來的。重複造輪子可以帶來工程上的巨大的改進,clang++就是其中一個例子。clang++難道解決了什麼沒解決過的問題嗎?並沒有。他只是把解決問題變得更容易,這就是重複造輪子的好處。

重新發明一遍就會有很多問題,你不僅不能借鑒前人的發展,還閉門造車。人家已經早就弄明白的理論你不知道,去重新推導一遍還弄錯了,做出來的項目當然就是屎。

想想10年來前端在排版和數據處理上面走的20年前GUI就走過的老路,都還沒走完,浪費了巨大的生產力,一個靠譜的工具都沒做出來。現在做個好看好用的GUI根本不要求你有多麼深厚的編程技巧,稍微訓練過的美工拖拉Blend for VS都能搞定,還自動就完美符合MVVM的要求。但是做個好看好用的網頁你就得學會超級多東西,讓自己的網頁符合某些老掉牙的pattern都可以開大型座談會蹭吃蹭喝,這就是重複發明輪子的代價。


我個人同意造輪子的

非常同意,且推薦,且強烈推薦

我司有些老碼農就這樣。死守第三方庫,有庫絕對不動手。以至於到現在我們有些項目為了丁點的功能要導入新的庫,項目臃腫不說,庫和庫之間也出現過互相衝突的問題,而且離了jQuery簡直不能活。

不過我覺得此題更有發言權的當屬:

通靈術,輪子哥! @vczh


1 請區分「造輪子」和「會造輪子」。你可以不造,但是你必須會。

2 不會造輪子的人,沒資格評論造輪子這件事。你可以評論這輪子好不好,但你不能評論「造輪子」好不好。

因為你不知道造輪子是怎樣一種體驗。


重造輪子是用在學習上,但要快速開發就不ㄧ定適合


先找現有的一堆輪子拿來做比較,如果都不合適,就選最接近的那個,先看看能不能用hack的方式解決,不行就 fork 一份源碼自己改,同時給作者發一個 PR。

有時候不得不自己動手從頭造輪子,就先把現有的輪子源碼看一遍,看他們的優缺點和他們幫你踩過的坑,再動手造。

其次,你造新輪子,需要有文檔,需要保證質量,需要保證穩定性,這又需要引入一系列的工具。而初學者往往不會考慮到這些東西,但這些又是高質量輪子所必須具備的條件。

如果人人都隨手造輪子,劣質的輪子掩蓋了優質輪子,那就是災難了。


造輪子確實可以鍛煉自己的能力,多動手多練習確實是好的,能夠提高自己的實踐能力,但是很多情況下,你自己造的輪子不一定是最優的解決方法,也可以適當的使用別人的插件,看看其他人的解決方法,改進自己的不足,這樣可能更好一點,沒有必要完全否決現有的。

同時,工作也要考慮工作效率,如果在工作中你遇到的所有問題都完全自己實現,自己造輪子的話,工作效率也會受到一定影響的吧。

在時間允許的情況下,多動手,多總結,還是會有很大收穫的。


取決於你的知識水平,甚至性格。

不喜歡用別人寫好的插件,一般會自己絞盡腦汁實現功能

編程雖然是創造性活動,同時也是社會性活動,如果你的性格是那種凡事都想自己搞定(我就是),那麼在知識水平不高的時候,造輪子容易讓自己沉湎在自己的世界裡,而對外界優秀的技術,經驗和人才視而不見,這反而不利於自己的發展。


我覺得題主的這個特點很贊啊。。我見過不少的初級前端要做一個特效都是直接搜第三方,搜不出來就發愣。。

我覺得首先要分清楚,你造這個輪子的用意。

老實說,你自己花時間去造的一個輪子,有很大的概率是不如網上現成的組件的。因為這些庫,組件廣為流傳,多少總有些可取之處的,所以先不要看低它們。

題主提到了自己目前是實習生,所以說從歷練自身這角度來看,我認為在這個階段,必須多寫一些代碼,多去思考一些解決的方案。

一個看起來簡單的效果,實現起來很可能會遇到一些意想不到的坑。而當你自己寫過這個插件,解決過類似的問題,你就會比他人更有優勢。在造完自己的輪子後,你還可以嘗試和一些優秀的組件進行比較,進而更好了解其中優良的設計,也許也能發現其中有能改良的地方。

這樣積累一定的日子,相信你必定會收穫頗豐。

ps:當然如果項目趕進度,時間吃緊的情況,那還是毫不猶豫上第三方吧。。


項目來不及了,肯定要做啊!不做項目要延期,延期就沒有錢用。 造輪子是不可能造輪子的, 這輩子不可能造輪子的, 做組件又不會做 ,就是搜第三方庫這種東西 ,才能維持的了生活這樣子 ,我進github感覺像回家一樣, 我一年回去 。。大年三十晚上都不回去, 就平時家裡出點事, 就回去看看這樣子, 在github里的感覺嘛,在github裡面比家裡感覺好多了! 在家裡一個人好無聊,沒有友仔玩,也沒有友女玩,進到github裡面個個都是基佬,說話又好聽,嗚哇哦,超喜歡在裡面的


看輪子好使不好使,


輪子是要造的,但不要造重複的輪子。

就個體而言,造輪子是一種主動學習的方法,尤其對於新人來說,造輪子絕對對你有好處。但是,當你學習了,就別有事沒事都造輪子了,要知道造輪子的目的是什麼?

開始的時候是學習,之後造輪子更多的是滿足自己或者項目的需求但目前沒有輪子合適,這時候可以考慮自己造輪子。


前端發展這麼快,就不要想未來了,現在用的未來可能都過時


造輪子可以,不要閉門造車,碰到困難多去吸收前人的解決方案


在不耽誤完成工作的情況下,下班時間個人覺得你可以自己造輪子,這能提升自己的軟硬實力,而且造輪子還能讓你在工作中更快的定位問題,why? 因為你知道實現原理!


有思路就做啦,做完後看別人的,原來思路都一樣,不一樣也有收穫,一看就明


同作為一枚前端實習生,說說個人想法。我覺得作為剛從學校畢業或者未畢業的人,大多數(並不是全部)的人可能工程項目經歷較少,技術不夠熟練,因此需要先學會使用,然後進行模仿,循序漸進,然後進行創造。


新人造輪子只可遠觀,但絕對不能用,因為你不知道什麼時候跑著跑著就翻車了

別人造好的輪子都是跑了好多次的無數次實際驗證的


這個我必須得回復一下,初學者的套路都是臨摹,然後應用,最後創造。學習什麼都是一樣的,不要死腦筋,明明不會非要自己死磕是下下策。

做任何功能特效,都是要現有思路,有了思路,就可以一步一步的尋求解決問題,和蓋房子是一樣的,你要先知道怎麼蓋,才能在不知道怎麼活水泥的時候解決活水泥的問題。

當你自己做出來輪子後,你再看看別人的輪子是怎麼做的,會更容易很多,也能知道別人為什麼這麼設計。

刀么,越磨越鋒利。加油。


只要不是為了KPI的輪子,有什麼問題


輪子是要造的!


程序恆久遠,輪子永流傳。

用那些久經考驗的輪子總是沒錯的。


推薦閱讀:

編程東西學得多是不是一定是壞事?
宅總用的這是什麼編輯器?
沒有基礎,想學python和玩樹莓派,請問我可以怎麼做?
普通人想要達到輪子哥的 C++ 水平的一半需要多少年?
如何寫出優秀的代碼注釋?

TAG:前端開發 | 編程 |