如何優化增強第三方庫?

2022-05-17 09:56:35 字數 838 閱讀 4189

開發中,我們不可避免要使用,別人花很多時間打磨好的輪子,輪子好用,但有時卻無法完全滿足我們的要去,這時我們不可避免的要去修改增強一下這個庫,如何增強?

我認為,一般有兩種修改的方式:1入侵式修改 2疊加式修改

1入侵式修改

如果涉及的地方邏輯較簡單清晰,那就直接找到目標處改它,改它的資料,改它的ui。

2疊加式修改

如果涉及的地方邏輯較複雜冗長,草蛇灰線,牽一發動全身,那麼最好少改原作者的**,應該根據自己的需求,

新定義一些資料或ui控制項,或新增一些自己的api,視情況而定。

案例1:修改iqkeyboarmanager的完成按鈕,將英文done改成中文

方式:找到定義該標題的地方,確定它在哪行**?或者哪個控制項的定義處。

方案1:<1直接搜尋done關鍵字,但發現搜尋出的條目太多,不好找,先不用

方案2:<1間接搜尋其位於同一父控制項的上下箭頭,發現搜出來的條目只有三個,好!,縮小範圍了,

確定目標到了某個幾檔案內

<2在那幾個檔案內,再次搜done關鍵字,發現可疑目標控制項,就注釋,看是否被我消失了

舊版本很快找到了,新版本沒找到

<3然後在一群可疑的doneaction方法內打斷點,我點選done按鈕,看哪個方法能監聽到事件

最後定位到乙個方法,順著方法的控制項,就找到目標控制項了                      

案例2:修改乙個tag選擇控制器

1一開始使用入侵時修改,但邏輯較複雜冗長,沒去仔細看,就改為疊加式修改

案例3:增強mjextension

注意點:新增新檔案到mjextension,不僅要新增到該target,也要新增到測試那兩個框架,否則會報錯。

PyThon第三方庫

本文 自 戀花蝶的部落格 今天公司停電,沒上班。跑上來更新個部落格,跟大家分享一下我常用的幾個第三方 python 庫。python 語言之所以能夠如此流行,除了本身內建許多程式庫來保障快速開發之外,目不睱接的第三方庫也是一大主因。結合我目前的工作 網遊開發 我常用的幾個第三方庫如下 wxpytho...

lua第三方庫

luacom 支援com呼叫 luadoc 支援lua 的文件生成 luaexpat 支援xml解析 luafilesystem 檔案系統訪問 lualogging 基於log4j的日誌 luaprofiler 效能測試工具 luasocket 網路庫,支援http,ftp,smtp,mime,ur...

常用第三方庫

1 通過cocoapods安裝 專案名稱 專案資訊 afnetworking 網路請求元件 fmdb 本地資料庫元件 sdwebimage 多個縮圖快取元件 uickeychainstore 存放使用者賬號密碼元件 reachability 監測網路狀態 datetools 友好化時間 mbprog...