본문 바로가기
  • 분조장의 개발 블로그
ICT인턴십

인턴일지: 세미나 발표 후기

by 무아니 2021. 3. 23.

드디어 이전부터 예정돼있던 개발자 대상 사내 세미나를 진행했다. 세미나 시작 한시간 전부턴 긴장돼서 토할 것 같았는데 세미나 끝나고 다들 수고했다, 잘 했다 격려해주셔서 감사했다ㅜ 질문 더 하셨었어도 됐는데 생각보단 많이 안 들어왔다. 감사합니다..... 

 

이번엔 처음 세미나 준비하면서 느낀점 위주로 기록해보려한다.

 

세미나를 하게 된 이유

내가 인턴으로서 직무상 무엇을 하고 있는지 개발팀에게 알려주면서, 그 부분에 대해선 저에게 물어보면 됩니다~ 라고 알려드리기 위함이었다. 같은 팀의 인턴분과 1부, 2부로 나눠 1부엔 GraphQL, 2부엔 코드 컨벤션을 주제로 진행했다(Spring Boot + GraphQL도 흥미로운 부분이 많아서 나중에 정리해보고 싶다...!!).

 

원래 내가 발표할 주제는 "코드 컨벤션의 필요성과 정의한 것" 정도였는데 준비과정에서 코드 컨벤션이 잘 유지되려면 툴의 도움이 필요하다는 생각이 들어 추가로 "코드 컨벤션의 유지 방법" 까지 넣게됐다.

 

Code Convention

코드 컨벤션.. 잘 안다고 생각했는데 실무에 도입하려니 생각보다 고려할 사항이 많았다. 고려할 사항들은 이랬다.

 

- 우리 회사는 코드 컨벤션을 처음 도입한다. 아무것도 정해진게 없었다.

- java 뿐 아니라 js, html, css도 정의해야했다.

- 컨벤션을 만든다고 개발자분들이 꼼꼼히 지켜주실까? 감사하게도 그렇다 하더라도 실수가 생길 수 도 있다.

 

그래서 나는 이렇게 했다.

 

- 오픈 컨벤션을 참고했다.

  • 언어별로 얼마나 다른 코드 스타일이 있을지 가늠이 안됐고 그 중 어떤 방식이 가독성 좋을지 판단하기 어려웠다.
  • 그에 비해 오픈 컨벤션들은 어느정도 타당성이 있는 것으로 보여져 참고했다.
    java js html/css
    google style guide airbnb google style guide

- 목차를 추렸다.

  • 처음 도입하는 케이스라 처음부터 너무 세세하게 짜놓으면 현재 코드에서 수정할 사항이 너무 많을 것이라 생각했다. (근데 툴 선택하면서 굳이 이랬어야했나..?)
  • 그래서 주관적인 경험상, 팀의 코드를 리뷰하면서 스타일 다양성이 생기는 부분을 중심으로 컨벤션을 짰다.

- 툴을 제안했다.

  • 작게는 IDE 의 extension
  • 크게는 CI의 plugin

 

느낀점

- 실제로 CI에도 code style check 해주는 플러그인이 적용되면 좋겠다.

- 컨벤션을 읽고 정의해보려면 꽤 많은 시간을 투자해야해서 지금까지 컨벤션이 없었던 것 같다.

- 어느정도의 필요성은 다들 느끼고 계셨던 것 같다.

- 개그 짤을 넣어도 발표의 일부로 인정해주시는 것 같다.

이런거 넣었었다ㅋ 내 취향

- 세미나 vs 대화로 설명 중 대화가 좋은 점은 내가 호흡 고를 시간이 있다는 것+ interactive하게 주고받으면서 상대가 어떤 점이 궁금한지 명확하게 알 수 있다는 점이다.

  • 세미나는 혼자 긴 시간을 말해야해서 호흡 고르기 부자연스러웠던 것 같다.
  • 그래서 발표 중 질문을 던져도 청중 반응 살피기 어려웠다. 

- Airbnb의 코드 컨벤션을 참고하다가 Contribute도 해봤다~

airbnb ~

댓글