什麼是工程化?就是将一項複雜勞動工作變成流水線工作的過程。将一項工作進行工程化之後,可以降低工作成本,讓一家公司在單位時間内有更多的工作産出。
作為個人,我們為什麼要培養工程意識?簡而言之,具有良好的工程意識之後,你才有底氣有資格去謀求更高的薪水和福利待遇,你才能在競争日益激烈的勞動市場中拔得頭籌。
今天是系列課的第一講,我們來談談“解耦”這個詞的含義。
解耦,又名解開耦合。那麼什麼是耦合呢?簡而言之就是如果兩個事物互相影響,那麼我們就說這兩個事物産生了耦合關系。解開耦合,顧名思義,就是讓這兩個事物“斷交”,或者僅保留最簡單的關系。
在講如何解耦之前,我們需要多多思考一下,耦合為什麼會對日常工作産生消極影響呢?且讓我們設想一個場景:
領導交給我一項任務,為了完成這項任務,我需要先去找同事A,結果同事A說自己需要去找同事B,同事B又說自己需要去找同事C……最後,由于涉及的人員太雜太亂,這項任務沒能按期完成,我受到了領導的批評……
其實,這就是因為公司内部的工作流程沒有做到解耦,很多工作沒辦法在一個小組或者部門内部解決,需要拉通許許多多的人,導緻原本比較簡單的工作變得非常複雜。
耦合對所有職業都存在危害性,但如果你恰好從事的是工程師這類職業,那麼耦合對你的危害則更大。一旦耦合過于嚴重,工程就極有可能在運行中出現預期之外的錯誤,并且這種錯誤又因為耦合嚴重而難以排查。
知道了解耦的含義,那麼應該如何正确地解耦呢?
首先,要将一個工程從功能上進行分割,比如一個大型社交網站,我們可以從用戶登錄、内容發表、内容管理、評論互動這幾個維度,對這個大型社交網站進行分割,正所謂庖丁解牛。
一旦你完成了這種分割,那麼你也就從思維上将這個工程進行了解耦。完成了思維上的解耦,剩下就是完成物理上的解耦。
物理上的解耦,與工程領域有着很大的關系,以計算機軟件專業領域為例:
- 将代碼封裝成函數,是實現解耦的重要方式,一個函數隻需要關注函數說明、輸入、輸出這三點,其餘的都不需要過多關注,這符合低耦合的特征。
- 将多個函數放到一個文件,在其他文件中引入這個文件,又稱模塊化編程,也是解耦的一個重要實現方式。
- 使用開源的可信賴的第三方庫,而不是自己重複造輪子
解耦的過程,就是抽象分類的過程
下一講,我們會講講工程可維護性的概念,讓你寫代碼時,達到事半功倍的效果,記得關注收藏點贊!
,