首页
/
每日頭條
/
科技
/
代碼内聯方式
代碼内聯方式
更新时间:2025-03-28 12:23:16

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

代碼内聯方式(公用代碼偶合之痛)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
推荐阅读
抖音浏覽記錄怎麼關閉
抖音浏覽記錄怎麼關閉
以華為P40,Android11,抖音v14.4.0為例。1、首先打開抖音,點擊下方最右側的“我”選項,然後點擊上方的三道杠标志的圖标。2、在彈出的頁面中,點擊“設置”選項。3、此時會進入新的頁面,在新的頁面上找到“隐私設置”選項,并點擊它。4、往上滑動屏幕,可以找到有一個“允許在視頻中展示我的浏覽記錄&rdquo
2025-03-28
怎麼增加照片大小kb
怎麼增加照片大小kb
演示機型:華為MateBookX系統版本:win10APP版本:photoshop20201、啟動PS軟件,執行文件—打開。選擇需要打開的文件,點擊打開。2、用PS打開文件後,執行文件—存儲為web和設備所用格式。3、右上角的JPEG處可以選擇文件格式,下面的品質位置處,可以調整文件大小(KB),品質越高,照片清晰越高,文件越大;反之照片清晰度降低,文件變小。4、參數修改完
2025-03-28
戶外變壓器有幾種安裝方法
戶外變壓器有幾種安裝方法
1、戶外變壓器有立式和壁挂式兩種方法,當然也有一種是防水的。2、壁挂式變壓器安裝時将變壓器用螺杆等配件安裝在壁挂外殼中,再用螺絲把變壓器固定在牆壁上。3、立式的主要用于樓頂或平地安裝,把變壓器安裝在立式的防護外殼中,在用螺絲把外殼的四個孔固定好,放在樓頂或平地上。4、防水變壓器在變壓器内部澆灌環氧樹脂,可以放在水底或深埋地下,隻要防水等級達标了就可以。
2025-03-28
顯卡有什麼作用
顯卡有什麼作用
1、顯卡用途是将計算機系統所需要的顯示信息進行轉換驅動顯示器,并向顯示器提供逐行或隔行掃描信号,控制...
2025-03-28
如何添加微信朋友
如何添加微信朋友
1、通過微信号碼加好友。首先打開手機微信進入到主界面——點擊右上角的加号,在彈出的選項中,選擇添加朋...
2025-03-28
Copyright 2023-2025 - www.tftnews.com All Rights Reserved