private function get_friend_list($username, $twitter)
{
$getfield = '?screen_name=' . $username;
$url = 'https://api.twitter.com/1.1/users/show.json';
$requestMethod = 'GET';
return $twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest();
}
private function get_user_timeline($username, $twitter)
{
$getfield = '?screen_name=' . $username;
$url = 'https://api.twitter.com/1.1/statuses/user_timeline.json';
$requestMethod = 'GET';
return $twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest();
}
private function get_favorites_list($username, $twitter)
{
$getfield = '?screen_name=' . $username;
$url = 'https://api.twitter.com/1.1/favorites/list.json';
$requestMethod = 'GET';
return $twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest();
}
세 가지 기능을 각각의 수익을 트위터 사용자에 대한 다른 정보. 그러나 각 기능은 Twitter API에서 특정 정보를 가져올 URL 인을 제외한 과 거의 동일하기 때문에 DRY 규칙 (직접 반복하지 마십시오)이 깨집니다.
질문 : 리팩토링의 관점에서
- , 내 코드 문제 있나요?
- 3 가지 기능을 하나의 기능으로 결합해야합니까?
당신은 하나에 모든 기능을 결합한다 때문 만이 코드를 다시 OUPS의 주요 특징은 유용성 –
twitter 메소드에 전달하기 직전에 변수에 문자열을 할당하는 이유는 무엇입니까? 당신의 방법은 왜 개인적입니까? 대답에 대한 +1 – webbiedave
+1. 변수에 문자열을 할당 했으므로 리턴 된 줄을 이해하는 것이 더 쉬울 것이라고 생각했기 때문에 return $ twitter-> setGetfield ($ getfield) -> buildOauth ($ url, $ requestMethod) -> performRequest(); – Anthony