iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 22
0
影片教學

懶人寫寫 BOT系列 第 22

Day 22 Type-checking - Clean Code Ruby

  • 分享至 

  • xImage
  •  

嗨,我是 Fly,用 Ruby 寫 Chatbot 並挑戰30天分享心得
為確保不會沒靈感
每日含 Ruby 主題文章增加內容
https://github.com/leo424y/clean-code-ruby

避免型別確認

Bad:

def travel_to_texas(vehicle)
  if vehicle.is_a?(Bicycle)
    vehicle.pedal(@current_location, Location.new('texas'))
  elsif vehicle.is_a?(Car)
    vehicle.drive(@current_location, Location.new('texas'))
  end
end

Good:

def travel_to_texas(vehicle)
  vehicle.move(@current_location, Location.new('texas'))
end

### 再避免型別確認
工具 [contracts.ruby](https://github.com/egonSchiele/contracts.ruby)

**Bad:**
```ruby
def combine(val1, val2)
  if (val1.is_a?(Numeric) && val2.is_a?(Numeric)) ||
     (val1.is_a?(String) && val2.is_a?(String))
    return val1 + val2
  end

  raise 'Must be of type String or Numeric'
end

Good:

def combine(val1, val2)
  val1 + val2
end

上一篇
Day 21 Clean Code Ruby
下一篇
Day 23 Remove useless code - Clean Code Ruby
系列文
懶人寫寫 BOT30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言