[Swift 5/부스트 코스] iOS 프로그래밍을 위한 스위프트 기초 - 함수 고급(1-8) 생각해보기
안녕하세요. 개발하는 정주입니다.
오늘은 iOS 프로그래밍을 위한 스위프트 기초 - 함수 고급(1-8) 생각해보기에 대해 포스팅하려고 합니다.
http://www.boostcourse.org/mo122/lecture/11225/
1번 생각해보기
전달인자 레이블의 필요성을 생각해보는 기회가 되었다.
첫 번째로 메소드를 호출할 때 매개변수 이름을 생략하는 용도로 전달인자 레이블을 사용할 수 있다.
스위프트는 이름이 길어져도 명확하게 사용하는 것을 권장하므로 어떨 때는 코드를 작성할 때 부담스러울 때가 있다. 이런 상황에서 간단한 매개변수는 _ 키워드를 이용해 매개변수 이름을 생략할 수 있다.
두 번째로 협업을 할 때 다른 사람에게 매개변수의 의미를 함축하여 전달할 수 있을 것 같다.
예제에 나온 greeting(friend: String, me: String)은 me가 friend에게 인사하는 메소드이다.
나는 메소드를 직접 만들었으니 누가 to이고 누가 from인지 잘 알지만 팀원은 헷갈릴 수 있다.
friend가 me에게 인사를 하는 것인지, me가 friend에게 인사를 하는 것인지 메소드 이름, 매개변수 이름으로 알 수가 없기 때문이다. 그렇다고 매개변수 명을 to, from으로 한다면 to가 친구이고 from이 나를 의미한다는 것을 알 수 없다.
따라서 전달인자 레이블을 이용해 호출할 때는 to, from으로, 함수 내부에서는 friend, me라고 한다면 해결이 가능해 보인다.
개인이 혼자 프로젝트를 진행할 땐 굳이 사용을 하지 않아도 될 것 같다.
2번 생각해보기
가변 매개변수는 input 개수가 1~3개 사이일 때 유용해 보인다. 그 이상되면 코드가 불필요하게 길어질 수 있다.
따라서 가변 매개변수 input 개수가 소량일 때 고려해볼 만하다.
그렇지만 나는 가변 매개변수를 그리 선호하지 않는다. 하나하나 넣는 게 귀찮기 때문이다...
마무리 잡담
감사합니다!
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.