close

這個方法比較適合用Kotlin, Swift進行, 因為支援Extension這個強大的效果

以目前我們工作的拼圖為例

如果我每次都要用公司專案開啟, Compile常常會是5~60秒不定, 因為該專案包含了許多廣告, FCM, 第三方等等操作

但如果我只將核心操作的地方獨立出來, 用小專案進行測試, 每次run的時間都在1秒以內, 可想而知來來回回省下多少等待時間.

當然這樣做法有其風險跟需要處理的地方, 將於後面介紹.

首先我們先講如何實作的部份

截圖 2021-03-15 下午3.06.59

從上圖可以看出

我們的主要Project中, 會使用到額外的第三方, 也需要跟其他Controller銜接

而小progect只要跟核心用到的 extension GameViewcontroller, other class 等銜接即可

在上途中我們可知黃色圈起來的地方是"完全"相同的

而主要核心的GameViewController 因為小專案不須與外部連接, 而主專案需要 所以兩者回長不一樣

以這案子為例, 我們黃色區域可以完全複製, 只需針對兩個不同的GameViewController做差異即可. 

至於如何實現這樣功能, 只要將會共同使用到的地方獨立出來, 將所有code搬去extension中即可.

 

至於剛剛提到的風險

主要會是在git上有可能會遇到衝突. 

所以要遵循以下原則更改

1. 每次在修改小專案前, 都要Pull master一次, 並將code從 主專案master複製到小專案上

2. 主專案中pull後建一個當前的branch

3. 小專案修改後直接全部貼到當前branch上

4. 當前branch merge master 有衝突解衝突沒衝突就沒事了

大概這樣的流程 就能避免別人改的東西 自己不小心又改到一次等等

 

 

arrow
arrow
    全站熱搜

    蔥哥 發表在 痞客邦 留言(0) 人氣()