2011-02-24 1 views
0

request_builder 객체에 의해 생성 된 요청 데이터를 보내기 위해 연결 객체를 사용하는 클래스가 있습니다.내 루비 스 니펫을 리팩토링하여 더 이상 C가 아닌 것처럼 보임 : method (method (param))

코드는 다음과 같습니다 차례로 connection.send_request(request_builder.build_request(customer))

이이 build_report(customer, connection.send_request(request_builder.build_request(customer)))

추악한에 의해 호출됩니다 ! 표현력을 높이는 방법에 대한 아이디어가 있습니까? 일반적으로 루비와 OOP에서 우리는 다음과 같이 객체를 체인 : "문자열"그것은 어떻게 보이는지 것으로, 코드의

+2

위의 코드에는 아무런 문제가 없습니다. 메서드에 매개 변수를 전달하는 것은 매우 OOP입니다. –

답변

1

을 .make_it_bigger.flash_it.send. 우리가 뭔가를 제안 할 수있을 당신의 코드베이스에 대한 자세한 우리에게 말했다 경우

request = request_builder.build_request(customer) 
response = connection.send_request(request) 
report = build_report(customer, response) 

,하지만 당신은 우리에게 제공하지 않습니다 :하지만 당신은 한 줄에 모든 것을 함께 벼락 공부하려고하지 않음으로써 자신에게 부탁을 할 수 있습니다 계속할 것이다. request_builder 오브젝트는 무엇을합니까? connection.send_request(...)가 응답을 반환합니까? 보고서에 고객과 응답이 필요한 이유는 무엇입니까 (connection.send_request(...)에 의해 반환되는 것으로 가정).

1
build_report(customer, request_builder.build_request(customer).send_over(connection))