Notice
Recent Posts
Recent Comments
Link
관리 메뉴

김종권의 iOS 앱 개발 알아가기

[Refactoring] 7-5. 기능 이동 (함수 옮기기, 중첩함수 제거, 모듈성) - 인라인 코드를 함수 호출로 바꾸기 본문

Refactoring (리펙토링)

[Refactoring] 7-5. 기능 이동 (함수 옮기기, 중첩함수 제거, 모듈성) - 인라인 코드를 함수 호출로 바꾸기

jake-kim 2023. 4. 23. 22:23

인라인 코드를 함수 호출로 바꾸기

  • 코드들을 함수로 호출하면 좋은 이유
    • 함수의 이름은 코드의 동작 방식보다는 목적을 말해주기 때문에 함수를 활용하면 코드를 이해하기가 쉬움
    • 함수는 여러 동작을 하나로 묶어주어, 특정 기능을 수정할때 함수로 되어 있다면 코드 부분을 찾기가 쉽고 코드 중복을 막아주는 효과도 동시에 적용

인라인 코드를 함수 호출로 바꾸기

ex) 인라인 코드를 함수로 호출하기

(인라인 코드가 많은 형태)

let states = ["KO", "US", "MA"]
var appliesToMass = false
for state in states {
    if state == "MA" {
        appliesToMass = true
    }
}

(함수로 호출하기)

  • 코드의 라인 수도 줄어들고 함수의 이름을 보면 목적 파악이 명쾌하기 때문에 더욱 빠르게 읽히기 쉬운 코드 형태
let appliesToMass = states.contains("MA")
  • 코드를 사용하는쪽에서 여러가지의 변수로 이루어진 인라인 코드를 보면, 인라인 코드들을 다 읽어야 어떤 목적의 코드인지 파악이 가능하지만, 함수를 사용하면 어떤 목적인지 파악이 쉬움
  • 함수는 그 자체로 주석의 이름도 갖고 있으므로 주석처리대신 따로 함수로 빼서 관리하도록 수정해도 좋은 코드

* 참고

- Refactoring (Marting Flowler)

Comments