2013-03-10 1 views
1

저는 오늘 약간의 코드를 리팩토링했으며, 많은 방법을 사용하여 상당히 많이 사용하여 return을 많이 사용했습니다. 한 가지 사실은 샘플 코드, 블로그 게시물 등에서 사용한 결과가 얼마나 드물게 발생했는지 알려주는 것이고, 이로 인해 내가 뭔가 잘못하고 있다고 생각하게되었습니다.Ruby에서 반환 값을 사용하는 것이 관용적이지 않습니까?

Ruby에서 귀환하지 않는 리턴을 사용하고 있습니까? 내 방법이 if/else, case/when 문을 통해 최종 값을 단지 return으로 일찍 처리하지 않고 반환하는 것을 목표로해야합니까?

+1

나는 그들을 매우 흔하게 본다. 단일 메서드에서 여러 번 사용하면 추가로 리팩터링해야하는 신호가 될 수 있지만 확실히 사용됩니다. – PinnyM

+0

그래, 확실히 많은 의견을 낼거야. 당신이 묘사 한 것과 같은 방법으로 글쓰기를하는 것을 볼 수있어서 기쁩니다. – brad

+0

https://github.com/bbsosov/ruby-style-guide 회신에 대한 회신. –

답변

4

Ruby의 코어는이 필요할 때만 을 사용합니다. 반품으로 조기 해지하면 방법이 명확 해집니다.

는 DO : 즉

def method(arg) 
    if(arg == 0) #Special case 
    return 42 
    end 
    arg + 46 
end 

하지 마십시오

def method(arg) 
    return arg + 46 
end 

이 BEST :

def method(arg) 
    if(arg == 0) 
    42 
    else 
    arg + 46 
    end 
end 

그러나, 반환은 불필요한 경우에만 에만 낙담했다..