Just My Life & My Work

去年11月底,剛熟悉公司專案,想知道整個專案的至今的狀況如何,其中一個方式就是了解程式碼相依程度,我找到一個相當不錯的視覺化專案相依關係的工具,會透過網頁以互動的方式呈現。

我在GitHub上找個開源專案,透過模擬器編譯成功後,成功開啟網頁來玩泡泡~

從main開始進入AppDelegate。

上圖例子的專案,跑模擬器出現是這樣⋯⋯

簡單來說就是展示五種繪圖功能,於是就能透過名稱了解泡泡間的箭頭代表何種關係。

更可以透過看專案內的Class名稱,得知Class與Class彼此間的關係為何。

GitHub:

https://github.com/PaulTaykalo/objc-dependency-visualizer

Objective-C and Swift dependency visualizer. It’s tool that helps to visualize current state of your project. It’s really easy to see how tight your classes are coupled.

使用方式:

git clone https://github.com/PaulTaykalo/objc-dependency-visualizer.git ;

指令就陸續打⋯⋯

cd objc-dependency-visualizer ;
./generate-objc-dependencies-to-json.rb -d -s “" > origin.js ;
open index.html

注意:

經過測試,必須使用模擬器編譯成功後,才能找到該資料夾。

否則回得到以下訊息:

➜ objc-dependency-visualizer git:(master) ✗ ./generate-objc-dependencies-to-json.rb -d -s “" > origin.js ;
find: /Users/jason/Library/Caches/appCode*/DerivedData: No such file or directory
There were 0 directories found
Cannot find projects that starts with "

創新專案

我們想知道剛創立iOS App專案,泡泡會如何呈現?

很簡單就是兩顆泡泡。

那我公司的專案,泡泡群會長什麼樣子?畢竟已經開發一年左右,同時有三個人在開發,程式碼會有一定程度的耦合關係。

哇噻~泡泡到底有多少個呀?整個專案實在太龐大,才瞭解一個月的我很難完全理解,那麼就從小功能著手。

這是第三方套件JSONKit,可以清楚看到簡單的關係。

 

邊緣的泡泡看起來很零散,接下來就來選稍微大一點的泡泡,真沒想到底下牽著數不清的小泡泡⋯⋯

這麼大程度的耦合關係,為什麼?我們超資深同事表示,一開始就打算建構MVC架構,而且是非常清楚劃分,他建立起所謂的樂高系統,為了產品長遠的發展,確實必須審慎思考,如何開發才能確保未來好維護。

終於知道為何泡泡這麼多⋯⋯除了代表Class數,也表示跟檔案數有正相關,我特地回溯Git某些時間點,來統計當下的檔案數,真的很驚人⋯⋯

廣告

Comments on: "[iOS] 視覺化專案相依關係 (Dependency Visualizer)" (1)

  1. […] 在此不免呢喃一下,就是我們專案架構實在太多相依,使得Trace Code要花費較多時間,僅管如此規範讓編程統一不紊亂。可以參考文章:視覺化專案相依關係 (Dependency Visualizer)。 […]

    Liked by 1 person

隨意留個言吧:)~

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

標籤雲

%d 位部落客按了讚: