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