“코드리뷰 성장을 위한 필수이다.”

드디어 기다리고 기다리던 코드리뷰 시간을 가졌습니다. 
코드를 보면서 지금 까지 우당탕탕 했던 부분들이 어떻게 정리가 되어 가는지 알 수 있습니다. 

다같이 작성된 코드를 보면서, 개개인의 능력치도 확인을 하고
무엇보다.. 서로간에 합의된 코딩컨벤션을 지키고 있는지.. 
우리가 생각했던 시퀀스에 맞게 개발이 진행 되었는지를 확인 할 수 있습니다. 

일단 각자 맡은 부분들의 시퀀스에 대한 개발 부분들을 하나씩 발표를 진행 합니다. 
그리고 요소 요소 별로 멘토인 제가 직접 지적질을 시작합니다. 
그리고 질문도.. ^^;; 

무서워 하지 마세요.. ^^;;;;;;

자신이 작성한 시퀀스에 대해서 설명하고, 결과 데이터를 도출한 부분들을 함께 보기도합니다.
각자 자신이 만든 영역에 대해서 공유하고, 질문 받고, 개선점을 코드 뿐만 아니라 다양한 접근법으로 알아 가보는 시간을 가지고 있습니다.

우선 이번 코드리뷰를 통해서 보게 된 재미있는 부분들…

경험치의 차이가 코드로 증명된다.


경험치의 차이가 설명에서 들어 난다.

  1. 코드를 살펴 보았습니다. 
    1. 처음 Go 언어를 선택했지만. python 으로 급 선회 하였습니다. 
    2. 코드에서 느껴지는 C언어의 향기…
      1. python은 오토캐스팅을 지원합니다.
        python 뿐 아니라 php ,ruby 등 많은 언어들이 오토캐스팅을 지원합니다.
        하지만 C언어 개발의 습성때문인지
        자료형에 대한 픽스 후 개발 진행 및 방어 로직을 구현 하기 쉽게 명시화 되어 있었습니다.
        ( 물론 방어 로직은 많지 않지만 )
    3. 초급자임에도 불구하고 try catch 를 사용하여 예외를 잡기 위한 노력들이 전반적으로 보임
      ( 나중에 알게 된 사실이지만, 에꼴42 학습이 이런걸 강조 하도록 되어 있습니다. 상당히 단단한 코드를 작성하는 습관을 가지고 있습니다. )
    4. 주석에 대한 내용을 명확히 하고, 개발 완료후 해당 부분들의 Document를 자동 생성하기 위해서 주석을 잘 활용 하고 있습니다. 
    5. 함수들이 2개 이상의 로직이 복합적으로 들어 있는 경우들이 보였습니다. 
      1. if elseif elseif else… 
      2. 그럴경우 발생하는 방어 로직 및 롤백로직이 보이지 않습니다. 
      3. 이런 부분들은 리팩토링을 통해서 천천히 잡아 가면 되는 부분이라 큰 문제는 아닙니다. 
    6. 서로간의 코드의 연결성에 대한 배려가 보였습니다. 

일단 다 모인 완성된 코드를 볼 때 얼마나 많은 변화가 있는지 확인 해 보려 합니다. 

  1. 코드리뷰를 할 때 서로간의 배울점..
    1. 자신이 진행했던 부분을 전체적인 부분에서 부분으로 설명하는 분과
    2. 자신이 진행한 부분을 전체적인 부분을 간략히 하고, 코드 위주로 설명하는 분과
    3. 각자의 발표 스타일이 다양하였습니다. 

내가 작성한 코드를 다른사람에게 이해를 시킬때 가장 필요한건 ,

다른 사람들이 그런것들을 전혀 모른다고 가정하고 시작 하는 부분입니다. 

전체적으로 오늘 코드리뷰는.. 생각보다 너무 잘 하셨고 ,
가지고 있던 걱정이 많이 사라졌습니다. 

개발 경력으로 봤을때는 개인별로 1년차~ 4년차까지 나올 수 있는 느낌을 많이 받았습니다. 

각자의 코드를 하나로 모으는 과정에서 발생하는 우당탕탕이 얼마나 서로를 성장 시킬지 기대를 해 봅니다.

우당탕탕 13 day

오늘은 잠시 쉬어가는 ? 아니라.. 집중 개발 하는 시간입니다. 
오늘은 코로나를 뚫고 학생들이 학교에 나오기 시작한 첫 날이기도 합니다. 
언넝 코로나가 없어지길 희망합니다. 
( 이 글을 쓰고 배포하기 위해 다듬는 오늘.. 드디어 본과정 아이들과, 2차 피신 친구들이 나오기 시작했습니다. 모두 건강히 자신의 미래를 잘 만들어 갈 수 있기를 기대 해 봅니다. 코로나 꺼져버려.. )

작성자 : 이호준 ( hojun.lee@innoaca.kr )