IT行業中一直流傳著一句話:「不要重複造輪子」。如果不是程式設計師,看到這樣一句話,一定會覺得有些莫名其妙。
這程式設計師,咋還管造輪子的事兒呢?
那匯智妹就來跟大家叨叨一下,程式設計師口中的「輪子」到底是個啥?
「重複造輪子」這幾個字的英文是「Reinventing the wheel」,更加確切的翻譯是「重複發明輪子」。
圓形車輪已經是大家公認最好的了,可你非要自己發明另一種形狀的輪子。這就叫「重複發明輪子」。
類比到IT行業中,就是明知道你做的不可能比前輩做得更好,卻仍然堅持要做。比如一些框架、庫、工具等等。
根據這個定義來看,為什麼會說「不要重複造輪子」的原因,也就不言而喻了。
這是一種嚴重拖慢項目進度,拖慢工作節奏的做法。我們都知道程式設計師每天都要跟代碼打交道。但一個成熟的輪子,這不是簡簡單單一兩個程式設計師就能完成的工作。
放著成熟的輪子不使用,反而悶頭造輪子。浪費時間都是小事兒,新造的輪子是否穩定,能否完成項目需求,在使用過程中會不會引起什麼其他問題,這些對於一個新輪子來說都是未知數。
一旦因為這樣的問題導致項目擱淺或者崩盤,那就不是造不造輪子的問題了,而是要不要找工作的問題了。
任何事物都有兩面性,造輪子也不例外。
比如,現成的所有輪子都不能完美匹配我們的需求,那就只能自己在這些輪子的基礎上造適合自己的輪子。這是無奈之舉,但也會對個人的能力帶來很大的提升。
除此之外,還有在學習過程中,單純為了提升自己。拿到一個輪子開始學著造,輪子就算做完也沒指望能用在哪裡,只是以此作為一個學習手段。
這種學習方法無論是對於剛入行渴望提升技術的小白,還是希望在某些方面稍微精進一下的老手,都是極好的。
當然了,那種覺得在座的各位都是垃圾的狠人也不是沒有。只不過,這樣的人不是深藏不露的大神,就是眼高手低的菜雞。
最初勸說「不要重複造輪子」只是單純從工作效率、工作質量的立場出發,這並沒有什麼不對的。但如果因為篤信這句話,而錯過了提升自己技術實力的機會,那就未免有些得不償失了。
畢竟人類發展至今,真正的輪子也是從石頭到木頭,再到金屬橡膠一步一步發展過來的。
須知:一個優秀的程式設計師,不光要知道什麼時候造輪子,什麼時候不造輪子,還要知道成功「五字訣」!
比如下面這位程式設計師,可以說十分生動形象了……