DRY & CoC 是啥

Posted by Anthony Chao on 2019-09-03

今天要來看的是 Getting Started with Rails 這一篇
這篇其實是很概括的東西居多,但有些地方值得一提,比方說第二章這邊講的是 rails 哲學的兩個大概念 DRY 跟 CoC

DRY

DRY 的全名是 Don’t repeat yourself,也就是重複的東西不要一直寫一直寫,讓這個系統好維護,好延伸,也比較少 bug,其實對於公司本身來說, code 比較少通常表示花費比較少,因為越多 code 通常也需要比較多人來維護,除非今天寫到" over dried" 的地步,表示已經精簡到難以讓人理解又反而過頭了

Google 一下就可以發現,工程師真的是個很有趣的生物,有些人根據這段描述也做了一個反義字叫做 WET ,你可以把他的全名說是 “write Everything Twice” 或者 “write every time” 或 “waste everyone’s time”

CoC

CoC 的全名是 Convention Over Configuration,中文可以翻成慣例優於設定,如果用白話文來理解的話可能是"請遵循我們的習慣不然你會很痛苦,因為什麼都要自己設定",而在這邊文章裡面他也有很含蓄地說了這句話

If you persist in bringing old habits from other languages to your Rails development, and trying to use patterns you learned elsewhere, you may have a less happy experience.

所以rails 的製作團隊本身有一個他們自己主觀認為比較好的作法,用這套系統最好乖乖跟著他們的慣例,如果不想要的話你當然大可以自己設定,只是比較享受不到好處

今天的內容主要是以上這些,明天的內容應該會從 5.6 開始,因為中間的很多東西現在探討好像只能摸到皮毛,在 controller / model / view 裡面又會講到,也比較清楚所以剛開始沒有基礎的人看我覺得看不懂也非常正常,如果看到哪裡不懂建議可以直接去那個章節翻翻看可能會寫得更詳細

參考資料:
rails guide

Is Your Code DRY or WET?





prevent_hack