9

Click here to load reader

Rails Code Club 3 @ Taipei

Embed Size (px)

Citation preview

Page 1: Rails Code Club 3 @ Taipei

RAILS CODE CLUB #3

+ Rails Tuesday

+ Rails Bridge 自主練習

+ BOARD GAME

19:30 開始

Page 2: Rails Code Club 3 @ Taipei

前情提要

Page 3: Rails Code Club 3 @ Taipei

1 - INTENTION REVEALING METHOD

• code 讀懂以後加上註解

• 註解變 method

Page 4: Rails Code Club 3 @ Taipei

2 - SPECIAL CASE OBJECTS

• 從源頭動⼿手腳,解決 nil 造成的⿇麻煩

Page 5: Rails Code Club 3 @ Taipei

3 - REPLACE METHOD WITH METHOD OBJECT

• 把肥⼤大 method 變成 class

• 在 class 內 refactoring

Page 6: Rails Code Club 3 @ Taipei

4 - SERVICE OBJECT

• ⺫⽬目標:

• 把 subscribe 相關功能抽成 service object

• 讓原本的 subscribe、unsubscribe 變成只負責去叫 service object (Delegate)

Page 7: Rails Code Club 3 @ Taipei

RAILS CODE CLUB #3

+ Rails Tuesday

+ Rails Bridge 自主練習

+ BOARD GAME

Page 8: Rails Code Club 3 @ Taipei

WHY SERVICE?

• Fat controller or Fat model

• Observers and callbacks

• Concerns

• Service objects

Page 9: Rails Code Club 3 @ Taipei

更多資源

• http://stevelorek.com/service-objects.html

• Railscasts episode #398

• 7 Patterns to Refactor Fat ActiveRecord Models