Martin Fowler 's Refactoring을 읽고 있습니다. 일반적으로 우수하지만 Fowler의 권장 사항 중 하나가 약간의 문제를 일으키는 것으로 보입니다.
Fowler는 임시 변수를 쿼리 대신 다음과 같이 바꾸는 것이 좋습니다.
double getPrice() {
final int basePrice = _quantity * _itemPrice;
final double discountFactor;
if (basePrice > 1000) discountFactor = 0.95;
else discountFactor = 0.98;
return basePrice * discountFactor;
}
당신은 도우미 메소드로 빠져 나옵니다.
double basePrice() {
return _quantity * _itemPrice;
}
double getPrice() {
final double discountFactor;
if (basePrice() > 1000) discountFactor = 0.95;
else discountFactor = 0.98;
return basePrice() * discountFactor;
}
일반적으로 임시 변수를 사용하는 한 가지 이유는 줄이 너무 길 때를 제외하고 동의합니다. 예를 들면 다음과 같습니다.
$host = 'https://api.twilio.com';
$uri = "$host/2010-04-01/Accounts/$accountSid/Usage/Records/AllTime";
$response = Api::makeRequest($uri);
인라인을 시도하면 줄이 80자를 초과합니다.
대안으로 나는 코드 체인으로 끝납니다.
$params = MustacheOptions::build(self::flattenParams($bagcheck->getParams()));
이 둘을 조정하기위한 전략은 무엇입니까?
$host
과 $uri
예제는 일종의 고안입니다. 호스트가 설정이나 다른 입력에서 읽히지 않는 한, 랩이나 가장자리에서 벗어나더라도 같은 줄에있는 것이 좋습니다.