參考書籍
章節
08 類別與模組
09 使用套件(Gem)讓開發更有效率
心得整理
今天終於又推進了兩個章節。而且有了共讀同好的幫助,我覺得學習到了幾個很重大,平常沒太認真思考的概念。
-
類別 (class) 和模組 (module) 差別
- class
- 可以 new
- 可以繼承
- module
- 不可以 new
- 不可以繼承
- 但是可以 include 延伸原本功能,不需要類似繼承方式,一次繼承一大包功能
- 很方便用來 整理程式碼
- 摘要教材內容
- 要用繼承還是要用模組? > 如果你發現你要做的這個功能,它可能在很多不同體系的類別裡都會用得到,那你可以考慮把功能寫在模組裡,需要的時候再 include 進來即可。但如果你還是不知道到底類別跟模組有什麼差別,我再舉二個例子。
-
Ruby - Class 融合 (
Monkey Patch
)但在 Ruby 裡,如果遇到兩個一樣名字的類別,其實並不會「覆蓋」,而是會進行「融合」
Gem 的使用練習
書中分頁 gem
- kaminari
目前比較多人使用的分頁 gem (建議)
使用哪個 Gem
排行榜 (參考連結)
開源專案的維護健康度
近期的更新頻率
-
針對 Rails新版本的支援程度
- 文件內有描述
- 或者從自動化測試功能找找蛛絲馬跡
-
文件完整性
- 文件越難閱讀,願意使用的人數一定不會多。
-
再慎重一點
- Github 的 issues 會不會太多 (都沒人在解)
- Youtube 的教學會不會太少