What have you found for these years?

2011-06-04

rest-core (2)

想了一陣子,終於決定怎麼處置 rest-graphrest-core 了。
一些過程、緣由和心情下回再說,因為很累了,想趕快寫完,先講結論。

我想 rest-graph 就這樣當成一個 maintaining project 吧。
而 rest-core 則可以看成是 rest-graph2. 那何不做成 branch?
因為兩者內部已經差太多了。我希望使用者可以放心地使用 gem update,
而不是使用像是 gem install rails -v 2.3.29 這樣親自選擇要安裝的版本。

比方說,cell 的某一個版本之後,只支援 rails 3, 而在那之前,則是 rails 2.
這會讓用 rails 2 的人很困擾,因為他(我)會不知道到底可不可以升級。
假設 cell 2 支援 rails 2, 另外 cell 3 支援 rails 3. 我要怎麼知道,忽然間
推出了 cell 2.5, 是很重要給 rails 2 的更新?

我平常只會跑 gem update, 那只會更新 cell 3.x 的版本,因為 2.5 比
3.x 要來的舊得多,不,數字上少得多,實際上其實反而可能比較新。

sqlite3, libxml2, 我想會有這些名字,都是類似的理由。於是,就讓
rest-graph 是 rest-graph, rest-core 是 rest-core 就好了。

這樣一來,我也不需要在 rest-core 中提供 rest-graph 的 compatibility
layer, 直接做成 RestCore::Facebook 不是更好?同時可以拿掉一堆奇怪的
東西,只為了跟過去相容,而使得程式變得很複雜難懂的各種怪東西。

於是不想改程式的人,繼續用 rest-graph, 我會一直維護。
從頭開始的人,或是願意改程式的人,就用 rest-core.

*

另外,修 rest-core 的 test 比想像中順利 :D
這證明一開始的設計路線應該沒錯,往往都是稍微調整一下,測試連改
都不用改就過了。有些測到比較細節的東西,則直接拿掉即可。例如
RestGraph#post_request 這種東西就完全不存在了。很多測試
也變得可以簡化。可喜可賀,可喜可賀。

0 retries:

Post a Comment

All texts are licensed under CC Attribution 3.0