iOS 캠프 TIL - 2020.11.02 월

Updated:

학습내용

1:1 코드 리뷰

캠프 지원 과제로 했던 구구단 프로그램을 1:1 코드 리뷰 했다. 서로의 코드에 대해 리뷰 하기 전에 각자 자신의 코드를 설명하는 것으로 시작됐다. 간단한 코드지만 남에게 설명하는 것이 익숙하지 않아서인지 많이 버벅였고, 어떠한 의도로 코드를 짰는지 설명을 해야 하는데 어떻게 표현해야 할지 막막해서 그저 한 줄, 한 줄 코드를 입으로 읽는 것이 되었다. 무언가를 남에게 설명하려면 본인은 그것을 완전히 이해하고 있어야 한다는 것을 느꼈다.

짝 프로그래밍

내가 내비게이터, 동료가 드라이버 역할로 짝 프로그래밍을 시작했다. 지시사항 그대로 코드를 치느라 바쁜 데다가 내가 짰던 방식이 아닌 동료의 코드를 이해하느라 정신이 없었다. 간단한 프로그램이라 곧 이해했지만 앞으로 더 복잡한 코드를 이해하고 설명하려면 Swift 문법을 많이 공부해야겠다. 또 소/중/대괄호, 콜론/세미콜론등의 용어가 막상 정확히 기억나지 않았다. 내가 원하는 것을 제대로 설명하려면 용어부터 알아둬야겠다.




문제점/고민한점

guard let / if let 으로 옵셔널 바인딩 한 상수의 사용 범위

짝 프로그래밍으로 작성한 코드에 강제 언랩핑이 있어서 이를 안전하게 옵셔널 바인딩으로 수정하면서 빌드 에러를 겪었다. 문제는 guard let / if let 으로 옵셔널 바인딩 한 상수의 사용 범위에 대해 정확하게 알지 못한 탓이다. guard let / if let의 else 블록은 바인딩에 실패했을 경우 실행될 코드인데 이곳에 바인딩 한 상수를 넣으려 했으니 에러가 나는 것이 당연했다.

// guard let 
guard let num = number else {
    // 바인딩된 상수는 else 코드블록 안에서 사용 불가
    // print(num)
    return
}
// else 이후 부터 사용 가능
print(num)


// if let
if let num = number {
    // 바인딩된 상수는 if 코드블록 안에서만 사용 가능
    print(num)
} else {
    // 바인딩된 상수는 else 코드블록 안에서 사용 불가
    // print(num)
}

Leave a comment