首页
/
每日頭條
/
科技
/
代碼内聯方式
代碼内聯方式
更新时间:2025-01-22 09:37:55

代碼内聯方式?不管你用什麼語言,在開發中大家總會抽出公用代碼庫,做為公司中各項目公共使用的内容,并且可能在大家的業績表現中會主動提到自己抽取了什麼公共代碼之類的可是當抽取不合理,或者架構不合理時,你會遇到本文描述的問題:小小的公用代碼,大大的耦合,我來為大家科普一下關于代碼内聯方式?以下内容希望對你有幫助!

代碼内聯方式(公用代碼偶合之痛)1

代碼内聯方式

不管你用什麼語言,在開發中大家總會抽出公用代碼庫,做為公司中各項目公共使用的内容,并且可能在大家的業績表現中會主動提到自己抽取了什麼公共代碼之類的。可是當抽取不合理,或者架構不合理時,你會遇到本文描述的問題:小小的公用代碼,大大的耦合!

樓主所有的部門,前任leader在考慮做服務化時,把本部門的基礎代碼拆分為了三分部:

  • vendor:yii2框架及其他第三方開源類庫,依賴composer管理

  • companyLibrary: 公用代碼庫

  • project: 項目業務代碼

其中vendor存放在一個git項目中,裡面通過composer管理依賴,主要是YII2框架和Phpoffice,jpgraph等等組件。

companyLibrary是另外一個git項目,裡面存放的是公用的助手類(文件處理、日志處理、圖像處理、郵件等),公司其他服務項目請求類(比如我在A事業部,我們有10個項目,可能都會去調用B事業部的xxx服務,那麼會把這個調用邏輯放在公用代碼庫裡面),各種基類(控制器,Action, Service, Model)。

project是每個項目一個單獨的git,存放的是項目自己的業務邏輯代碼。

最後上線的腳本是從三個git拉代碼合并。一開始隻有兩三個項目公用companyLibrary,vendor還好,當項目變成五個,十個的時候,這個時候有一天,我們在vendor裡面添加了一個新的第三方庫,順便執行了下composer update,Yii2升級了一個版本,就這樣,誰也沒想到一個小小的版本升級,從2.0.12升級到2.0.13而已,最後卻導緻了線上事故。原因是YII2為了兼容PHP7.2,廢棄了Object類,改名 BaseObject,并且增加了抽象方法。

後面你發現companyLibrary裡面的某個方法實現不夠好,或者存在隐藏的BUG,你卻不敢修複了。

不合理的代碼抽象和公用導緻了災難。要公用的代碼一定是基礎的助手類等,并且公用代碼的複用應該是每個項目單獨一個拷貝,可以單獨改變和獨立發展。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
學而思網校電腦怎麼下載安裝
學而思網校電腦怎麼下載安裝
學而思網校電腦怎麼下載安裝?在電腦上下載一款安卓模拟器,下載安裝完成之後,直接運行,在模拟器的搜索框裡,直接搜索下載安裝就好,如果有從其他渠道獲得apk安裝包的,可以直接拖拽進模拟器,即可自動解析安裝,接下來我們就來聊聊關于學而思網校電腦怎...
2025-01-22
西服面料是幾線品牌
西服面料是幾線品牌
對于需要定制西服的朋友,小編就常常說:西服定制最重要的是面料,即使什麼都不懂,也得對西服面料有一個初步的認識,不然貿然前去西服定制店,如果店家良心的話還好,如果遇到不良商家,那可真是人為刀俎我為魚肉啊!所以,今天我們就一起來看看:西服定制之...
2025-01-22
英雄聯盟手遊升級bug
英雄聯盟手遊升級bug
11月9日,《英雄聯盟》手遊帶來了1.0版本的首次平衡調整,對布裡茨、趙信等英雄和電腦機器人都進行了削弱。《英雄聯盟》手遊雖然還未正式上線,不過國外測試服已經湧入了海量中國玩家。從目前的體驗來看,《英雄聯盟》手遊對PC版進行了很好的還原和手...
2025-01-22
浙江杭州下沙富士康
浙江杭州下沙富士康
富士康科技集團---宏訊電子工業(杭州)有限公司富士康科技集團錢塘科技工業園位于西子湖畔﹐錢塘江邊﹐座落國家級經濟技朮開發區-------杭州經濟技朮開發區内﹐占地850畝﹐奠基于二00三年三月﹐是富士康科技集團在全球的第六個生産制造基地。...
2025-01-22
國際物流管理軟件系統
國際物流管理軟件系統
随着中國經濟的穩步發展和物流業的飛速發展,運輸企業的業務也不斷擴大,在業務量和分支機構增加的同時,物流貨運公司老闆一方面對業務數據和公司的管理感到越來越吃力,另一方面也對如何保持在行業中的競争優勢,使公司能夠持續穩定發展表現出越來越迫切的需...
2025-01-22
Copyright 2023-2025 - www.tftnews.com All Rights Reserved