(TIL) 20211210 + 코드 컴플리트 스터디 정리(14~17장)

2021. 12. 11. 02:22TIL(Today I learned)

반응형

📕Facts(한 것)


  • 수업 참여 및 발표
  • 코드컴플리트 읽기
  • 앱 개발 프로젝트 서비스 계획 작성 및 멘토링 준비
  • 시험 준비

 

 

📕Findings(배운 것)


 

오늘 코드 컴플리트 스터디에서는 전역데이터, 조건문, 반복문 등에 대해서 살펴보았다.

 

if문에 대해서 얘기했던 것 중에 else를 사용할 것인가 아니면 guard clause(보호절)을 사용할 것인가에 대한 부분이 인상깊었다.

나는 평소 보호절 사용을 else가 하는 일이 단순하지 않고 불명확하다면 보호절을 사용하는 편이다. 

어떻게 보면 if에 해당하는 것을 제외하고 나머지는 모두 처리하는 것이기 때문에 else에 할당할 수도 있겠지만,

가독성을 높임과 동시에 뒤에 있을 혹시 모르는 if문에 대해서도 깊은 중첩구조를 줄일 수 있기 때문에 효과적이다.

 

또한 가장 흔한 경우를 가장 앞에 작성함으로써, 코드를 모호하게 만들지 않고, 가독성과 성능을 동시에 가져갈 수 있다는 것도 알게되었다.

 


case 문의 경우 default에 대한 얘기가 나왔다. 책에서는 default에 대한 사용을 기본값을 찾고자 할때, 오류 검출을 할때 사용하라고 얘기한다. 우리는 default를 오류 검출로 사용하는 것에 대해서 얘기를 나눴다. 나의 경우를 되돌아 보면 default를 else 처럼 사용하지 않았나 싶다. case에 해당하는 것들만 유요한 값으로 처리하고, 그 외에 것들은 default에 몰아넣어 처리하는 식으로...

이 같은 행동을 책에서는 무려 '바보 같은 짓'이라고 까지 얘기를 하고 있다.

왜 그럴까? 이로 인해서 default로 오류를 발견할 수 있는 기능을 잃어버리며, 동시에 새로운 case의 추가를 어렵게 만드는 안 좋은 결과를 초래하기 때문이다.

 


마지막으로 반복문에 대해서 살펴보았다. 내가 반복문에서 가장 궁금했던 것은 '인덱스 변수로 뭘 사용하는가' 였다.

나는 이터러블 객체의 값을 직접 가져오는 파이썬의 for ~ in이나 Java의 for-each, C++ 의 for-auto의 경우 변수를 단수로 사용하고, 이터러블 객체를 복수형으로 선언하는 경우가 대부분이었지만, 단순 for-loop이나 이중 for-loop은 i,j를 사용하는 경우가 다반사였다.

i,j를 사용하면 변수명을 따로 생각해야하는 약간의 불편함에서 벗어날 수 있지만, i,j를 의미하는게 무엇인지 한 눈에 파악하기 힘들고,

무엇보다 겉보기에도 헷갈린다. 

책에서는 변수명을 서수나 열거형을 사용하거나, 의미있는 변수 이름으로 사용하라고 제시하고 있다.

 

 

 

📕Feeling(느낀 점)


 

책 스터디를 시작하기 전에 느끼는 감정은 항상 똑같은것 같다. '나 이거 제대로 이해한거 맞나...?', '내가 무슨 의견을 낼 수 있을까...?'

하지만 막상 스터디에 참여하면 이런 생각은 없어지고 다른 분들의 얘기에 공감하거나 신기해하고 있는 나를 발견한다.

특히나 여러 사람들의 얘기를 들어볼 수 있고, 무엇보다 학생인 나에게 실무에서의 얘기를 직접 들을 수 있는 엄청난 메리트가 존재한다.

(그러니 코드숨 책 스터디 참여하세요!!)

 

 

 

 

📕여담


 
시험 1등해서 기쁘다.

 

반응형

'TIL(Today I learned)' 카테고리의 다른 글

(TIL) 20211224  (0) 2021.12.25
(TIL) 20211222  (0) 2021.12.23
(TIL) 20211209 + 전역변수? 조건문?  (0) 2021.12.09
(TIL) 20211206  (0) 2021.12.06
(TIL) 20211205  (0) 2021.12.06