TIL

[TIL] 21. 02. 22

📚 학습내용

  • 코드 리뷰

팀원들과 함께 각자 자신의 코드를 설명한 뒤 서로 피드백을 해주는 과정이다. 처음엔 나도 잘 모르는데 상대방의 코드에 대해 피드백을 해도 괜찮을까?라는 생각이 들었지만 궁금한 점을 하나씩 물어보다 보니 어느새 틀린 부분과 좀 더 효율적인 방법을 팀원들과 같이 찾고 있었다. 코드 리뷰를 통해 같은 문제를 푸는데 정말 다양한 방법이 존재한다는 것을 깨달았고 어떻게 하면 더 좋은 코드를 짤 수 있을지에 대한 고민을 해볼 수 있었다.

 

  • 짝 프로그래밍

코드를 작성하는 드라이버와 드라이버에게 어떻게 코드를 입력하려고 말해주는 내비게이터가 함께 코드를 짜는 짝 프로그래밍을 해봤다. 함께 코드를 짜다보니 혼자서 코드를 짤 때보다 오류를 발견하기 쉬웠지만 상대방이 어떤 방식으로 코드를 짜려고 했는지 파악하기 쉽지 않았다.

 

 

🧐 문제점 / 고민한 점

  • 사전 과제로 작성했던 코드에서 switch구문 안에 case 조건이 exit이외에 올바른 값이 들어오거나 잘못된 값이 들어올 때마다 case 안의 실행문에 함수를 다시 호출하는 재귀 함수를 썼는데 이보다 더 좋은 방법이 있지 않을까 고민했다.
  • 밑에 코드처럼 입력받을때 옵셔널 바인딩을 해주기 위해 guard 구문을 사용했다. 만약 input에 아무 값도 들어오지 않는다면 함수가 종료될 것이라고 생각했지만 그렇지 않아서 그 이유에 대해 팀원들과 이야기해보았다. 왜 아무런 값이 없어도 input 안에 값을 넣고 함수가 실행되는 걸까..?

 

🔥 해결 방법

  • 원래는 exit를 입력받았을 때와 함수 맨 마지막에 return을 썼지만 case안에 있는 재귀 함수를 없애고 함수 맨 마지막에 있던 return 대신 다시 함수를 호출하는 재귀함수를 써줬다.
  • input에 빈 문자열이 들어가서 함수가 잘 실행되었던 것 같다.
728x90

'TIL' 카테고리의 다른 글

[TIL] 23. 08. 03  (0) 2023.08.04
[TIL] 21. 02. 23  (0) 2021.02.24
[TIL] 21. 02. 04  (0) 2021.02.05
[TIL] 21. 02. 03  (0) 2021.02.04
[TIL] 21. 02. 01  (0) 2021.02.01