2011年8月16日 星期二

關於 goristock, grs 與 gae 的分開


goristock 是我目前正在開發的一支程式,主要是抓取證交所網站的數據加以分析。前陣子參考 Git flow 開發流程 | ihower { blogging } 所提到的分支管理,我重新規劃了一下 goristock 的分支佈局。以目前開發的狀況,幾乎偏向在 Google AppEngine(GAE) 上的應用,但!這不是我當初開發 goristock 的初衷,當初的目標是開發一個可以在 Ubuntu 底下使用的看盤軟體,或是套件應用。因此就決定把目前 goristock 拆成 grsgae 兩個版本分支來開發!

grs 是以 goristock 縮寫命名,這一分支就專心以 python 的函式來開發,也就是當初 goristock 最核心的程式。而 gae 這一分支,就是以 grs 當作核心程式於 GAE 的應用開發。透過這樣子的分離,在規劃未來的功能時,就不會有思考打結的問題了,因為已經有很明確的分支目標可以進行。況且 grs 變得比較有彈性,能在其他的平台上應用。

grsgae 都有一個 _dev 的分支,主要應付頻繁的新功能開發,開發到一定的程度後,會合併到主分支上。在 gae 中有個 ./grs 的資料夾,也是從 grs 的分支合併使用。dev 則是合併 grs 作發佈前的測試,最後再合併到 master 公開。而 gae 則是直接發佈公開,並同時 update 到 GAE 上面運作

另外也規定先提報 issues,才能作新功能的開發或是 bug 的修正,這樣對於往後的追蹤或是規劃會比較嚴謹完備一點,也讓其他想參與的人可以看到目前的進度為何。

會有如此大的改變,主要是在開發上遇到一些瓶頸,就像前面所說的,在還有沒拆開之前,有些功能的開發會被目前兩個方向牽絆在一起,思緒就會變得很混亂,所開發出來的功能看似契合,但卻很模糊曖昧,簡單來說,如果分開,兩個一定無法各自獨立運作!所以避免未來發生這樣的問題,勢必要有所切割來規劃開發,最多設計一個接口程式來銜接兩個不同的運作平台(類似 API 或是標準資料輸入、出)。因此,就在此刻做這樣的分割開發!希望有助於未來的發展!

題外話:這是在某一個夜晚值勤時,突然想通的一件事。

沒有留言 :

張貼留言