DonutWorks / Ari

0 stars 0 forks source link

begin-rescue에서 begin을 없애기 #327

Closed shaynekang closed 9 years ago

shaynekang commented 9 years ago

레일즈에서 예외를 처리하고 싶을 경우 begin - rescue문구를 많이 활용합니다. 하지만 경우에 따라서는 begin을 생략해 줄 수 있고, 이렇게 하는 것이 코드가 더 깔끔해지기도 합니다. 가령

def normalize_phone_number
  normalizer = FormNormalizers::PhoneNumberNormalizer.new
  begin
    self.phone_number = normalizer.normalize(phone_number) if !phone_number.blank?
  rescue FormNormalizers::NormalizeError => e
    errors.add(:phone_number, "가 잘못되었습니다.")
  end
end

는 다음과 같이 고칠 수 있습니다.

def normalize_phone_number
  normalizer = FormNormalizers::PhoneNumberNormalizer.new
  self.phone_number = normalizer.normalize(phone_number) if !phone_number.blank?
rescue FormNormalizers::NormalizeError => e
  errors.add(:phone_number, "가 잘못되었습니다.")
end

현재 코드에 begin - rescue 문구가 많은데, begin을 제거하는 쪽으로 리펙토링 하면 좋겠습니다. ㅎㅎ

minhyeok4dev commented 9 years ago

이런식의 동작이 가능하다면 begin-end 블럭을 굳이 안잡아줘도 되겠네요!

shaynekang commented 9 years ago

:+1: