역 방법 리팩토링
2725 단어 rubyrefactoring
하지만 먼저 문제가 무엇입니까? 때로는 다른 개체에서 다른 메서드를 호출하기 때문에 읽을 수 없는 메서드가 있습니다. 메서드는 이미 작고(그러나 읽을 수 없음) 한 가지 작업을 수행하기 때문에 메서드를 추출할 수 없습니다.
다음은 간단한 예입니다.
class Point
def print(stream)
x.print(stream)
stream.print(', ')
y.print(stream)
end
end
예가 복잡하지는 않지만 진행 상황과 누가 누구에게 전화하는지 이해하는 데 시간이 걸립니다.
모든 메시지가 단일 객체를 통과하도록 함으로써 문제를 해결할 수 있습니다. Kent는 이 리팩토링에 대해 다음 접근 방식을 제공합니다.
class Stream
def print(obj)
obj.print(self)
end
end
class Point
def print(stream)
stream.print(x)
stream.print(', ')
stream.print(y)
end
end
추가 개체를 도입했지만
print
메서드는 이제 읽고 이해하기 쉽습니다.어떻게 생각해?
Reference
이 문제에 관하여(역 방법 리팩토링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/software_writer/reverse-method-refactoring-2kb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)