Inlining Local Variable

지역 변수를 함수 파라미터 안으로 인라이닝 하는 기준은 지역 변수가 갖고 있는 정보가 충분한지 이다.

  • Before
public static int sufferScoreFor(List<Journey> route) {
    Location start = getDepartsFrom(route);
    List<Journey> longestJourneys = longestJourneysIn(route, 3);
    return sufferScore(longestJourneys, start);
}
  • After
public static int sufferScoreFor(List<Journey> route) {
    List<Journey> longestJourneys = longestJourneysIn(route, 3);
    return sufferScore(longestJourneys, getDepartsFrom(route));
}

start 라는 지역 변수는 그렇게 많은 정보를 알려 주지 못하기 때문에 1줄 이라도 더 줄이는 것이 좋다.

References

  • 자바에서 코틀린으로: 코틀린으로 리팩터링하기 / 냇프라이스 와 덩컨맥그레거 저 / O'REILLY