在互聯(lián)網(wǎng)大廠和小廠工作,到底有什么不一樣的呢?
其實我個人覺得,不管從開發(fā)流程、代碼要求還是工具應用上,都是有比較明顯的區(qū)別的。
我本人就是從小廠到大廠的,今天給大家認真地分享一下自己的感受,希望能給大家一些幫助。
開發(fā)流程上的區(qū)別
1 、通常開發(fā)流程
項目立項->需求評估->模塊劃分(按業(yè)務)->基礎架構建設 ->交付任務開發(fā)
2 、開發(fā)流程的區(qū)別
大廠與小廠的開發(fā)流程是區(qū)別最大的,也是我剛開始最頭疼的。
剛開始在小廠工作,沿用的都是 Vue-cli弄下來,然后直接寫代碼的套路。
但是大廠一般都是多人合作的大型項目,都會有自己的初始化模版。里面已經(jīng)寫好了一些規(guī)范檢查,項目專用的 Webpack配置,一些基礎模塊(如登陸,驗證,側邊欄)。每一個開發(fā)人員,只需要下載這套模版,然后寫自己的業(yè)務部分就行了。
3 、測試區(qū)別
很多小廠由于成本的原因都沒有測試環(huán)節(jié),但是負責大廠的大項目,持續(xù)集成,e2e,單元測試都是必不可少的。
業(yè)務部門必須測試覆蓋率達到標準才允許發(fā)布。我在剛進入現(xiàn)在這家公司時,也是十分不適應,讓人抓狂。
所以其實對于很多人來說,真正缺少的不是寫項目的能力,而是這一系列的工程化實踐。
代碼要求的區(qū)別
小廠在寫代碼的時候很多都是復制粘貼,只要能跑就行,但是,大廠的一般項目都會配置有嚴格的規(guī)范。每個項目的 eslint都是自定義去編寫的,保證大家產(chǎn)出代碼的風格。
除此之外,大廠對于代碼的質量要求更高,剛開始進來時寫出來的代碼,經(jīng)常被檢查的人批可擴展性不好,健壯性不好。
好在平時技術氛圍還是比較濃厚,大家會經(jīng)常交流設計模式與各種好代碼,好思想,在這樣的渲染下,也很快適應了下來。
而且再也不敢寫垃圾代碼了,因為大家都在追求高質量代碼,而非能跑就行。
是不是看完覺得有點很頭疼,確實對于在小廠工作習慣的程序員來說,這些東西是最不擅長的。
但是目前前端競爭激烈,優(yōu)勝劣汰,我們確實又必須擁有這樣的能力。
因為這些工程化的能力,和寫出好代碼的能力,直接決定了你是一個碼農,還是一個工程師。