함수

· Refactoring
함수 추출하기 Extract Function 코드 조각을 찾아 무슨 일을 하는지 파악한 다음, 독립된 함수로 추출하고 목적에 맞는 이름을 붙이는 작업입니다. '목적과 구현을 분리'하는 방식이 가장 합리적인 기준. 코드를 보고 무슨 일을 하는지 파악하는 데 한참이 걸린다면 그 부분을 함수로 추출한 뒤 '무슨 일'에 걸 맞는 이름을 짓습니다. (1) 함수를 새로 만들고, 목적을 잘 드러내는 이름을 붙임('어떻게'가 아닌 '무엇을' 하는지가 드러나야 함): 대상 코드가 함수 호출문 하나처럼 간단하더라도 함수로 뽑아서 목적이 더 잘 드러나는 이름을 붙일수 있다면 추출할 것(이런 이름이 떠오르지 않는다면 추출하면 안 된다는 신호) (2) 추출한 코드를 원본 함수에서 복사하여 새 함수에 붙여넣음 (3) 추출한 코드..
· iOS/Swift
클로저(Closure)는 코드 블럭 { } 으로 Objective-C의 block이나 타 언어의 람다, 익명함수와 유사한 개념입니다. Swift에서는 함수가 '이름이 있는 클로저'라고 하는 편이 맞습니다. 이전 글에서 Swift에서는 함수가 1급객체라는 포스팅을 했는데, 바로 클로저의 존재가 이를 가능하게 해줍니다. 클로저의 형태 클로저는 아래의 세가지 형태가 있습니다. 전역 함수 : 이름이 있고 어떤 값도 캡쳐하지 않는 클로저 중첩 함수 : 이름이 있고 관련한 함수로 부터 값을 캡쳐 할 수 있는 클로저 클로저 표현 : 경량화 된 문법으로 쓰여지고 관련된 문맥(context)으로부터 값을 캡쳐할 수 있는 이름이 없는 클로저 클로저 표현 Swift에서 클로저 표현은 간결하고 명확한 표현을 지원해줍니다. 기..
· Dev Terms
프로그래밍 언어에서 1급 객체란 아래의 조건을 충족시키면 됩니다. 1. 변수나 데이터에 할당 할 수 있어야 한다. 2. 객체의 매개변수로 넘길 수 있어야 한다. 3. 객체의 반환값으로 리턴 할수 있어야 한다. Swift 기본타입들(Int, Bool, Struct, ...)은 물론 1급 객체이고, 함수 또한 1급 객체로 취급이 됩니다. 1. 변수나 데이터에 할당 // Int형 파라메터 2개를 받아서 Int를 반환하는 함수형을 선언 var mathFunction: (Int, Int) -> Int // Int값 두 개를 입력받고 Int를 반환하는 함수 func addTwoInts(_ a: Int, _ b: Int) -> Int { return a + b } // addTwoInts함수를 mathFunction..
SwiftyCody
'함수' 태그의 글 목록