부장님이 알려주신 주니어 때 가지면 좋은 개발 습관

Castle_Junny·2023년 5월 22일
1
post-thumbnail

1. 서론

이번에 프로젝트를 진행하면서 부장님과 둘이서 진행했는데, 아직 연차가 낮은 나의 개발하는 모습이 안쓰러웠는지 조용히 회의실로 부르셨다. 그러곤 회의실에서 지금 진행 중인 프로젝트에 대해서 얼마나 내가 파악을 하고 있는지 하나씩 하나씩 물어보시기 시작했고 나는 파악하고 있는대로 대답을 했다. 그러곤 "그걸 event driven 방식으로 칠판에 그려봐" 라고 하시고 나는 마커를 들고 얼어 붙었다...

event driven 방식으로 그려보라는 것도 처음들어보는 방식이고 어떻게 해야할지도 몰라서 나름대로 이래저래 flow를 그렸다가 결국 가르침을 받았다.. ㅋㅋ

근데 이 가르침이 나에게는 너무 도움이 되어서 한번 정리를 해보고 싶어서 이렇게 적어 본다.

인터넷에 찾아보니까 event driven programming, 어쩌구.. 저쩌구.. 있는데 비슷한거 같으면서도 부장님이 알려주신거랑은 조금 다른거 같았다.

아무튼 도움이 됐다는게 중요하니까..!!

2. 처음에 나는..

이번에 진행한 프로젝트의 일부를 보여주면 상단에 공통으로 사용되는 html들이 있고,
각 화면에서 화면에 맞는 로직이 구성되고 있다. 그리고 각 화면을 구성하다보니 비슷한 로직들이 있고, 코드 간결화를 위해 묶으면 좋겠는데? 라는 것들이 있었다.

그리고 이것들을 나는 머릿속으로만 구성을 하고 개발을 시작했다. 나는 머리가 엄청 뛰어나지 않기 때문에 이렇게 했을 때 버그도 많이 생기고 디버깅을 위해서 시간을 소요하게 되고 이러한 모습을 부장님은 바로 옆에서 계속 지켜보셨다.. ㅋㅋㅋ

물론 결국 해냈지만, 나도 이런 과정을 거치면서 "난 왜 이렇게 멍청하냐.." 라는 생각을 많이 했다.
보다 못한 부장님은 다음과 같은 방법을 알려주셨다.

3. Event Driven 개발을 해라..

Event가 발생 했을 때 생기는 모든 Evnet flow 를 그려라.

위에 적힌 것 처럼 부장님이 말씀하신 핵심은 마우스를 클릭 했을 때 생기는 Event의 flow를 모두 그려봐라였다. 다르게 말하면 flow-chart를 그려보라는 것이었다.

그림으로 보면 좀 더 이해하기 쉬울거 같은데... 진짜 이해를 돕기위한거지 잘 한건 아니다..!
왜냐면 나도 배워가는 단계니까! (당당)
그리고 이렇게 해서 이미 한번 혼나고 왔으니까!

처음에는 위에 사진처럼 처음에는 저렇게 그렸었다.
처음에 flow를 그릴 때 모든 가능성을 열어두고, 모든 event를 신경쓰며 그리다보니 위 사진처럼 간략하게 그려졌다. (Bad)

하지만 이 방법은 발생하는 모든 Event를 그리는 것 이었다.(Good)
중복 되는 기능이 있더라도 모든 기능을 다 그리는 것이 중요하다고 말씀해 주셨다.
그렇게 그림을 다 그린 다음에 중복되는 기능에 대해서는 합치고, 분리 할 기능은 분리하면 시간을 절약할 수 있고 머릿속에 정확한 흐름이 그려지니 error가 발생해도 어디서 발생하는지 쉽게 파악할 수 있다고 하셨다.

ex) api 요청 함수, update 함수, click 함수, draw 함수 등등.. 모두 세부적으로 분리..!

4. 적용

저렇게 부장님께 가르침을 받고 당장 책상에 앉아서 현재 수정이 필요한 부분의 event flow를 모두 그리고, 어떻게 수정을 하면 좋지 flow 를 보며 이렇게 저렇게 조립을 하였다.

그. 결. 과. 머릿속으로 생각 했을 때는 보이지 않는 해결 방법이 눈에 보였고, 몇시간을 헤매고 있던 부분을 한시간도 안되는 시간에 성공적으로 수정할 수 있었다.

아래는 내가 적용해본 흔적을 남겼는데... 이 사진만 봐도 어떻게 흘러가는지 나.는. 바로 머릿속에 그려지는 재밌는 현상이 나타난다.

5. 결론

내가 위에 쓴 글을 보면 부장님이 알려주신 것에 절반은 제대로 담았는지 잘 모르겠다... 좀 더 잘 정리하고 다듬어서 같은 주니어들끼리 좋은 개발 습관에 대해서 가지면 좋을 거 같은데 나의 한계는 여기까진거 같다.. ㅋㅋㅋ
계속 블로그 글을 써보면서 글 솜씨를 올리고, 부장님이 알려주신 이 방법을 계속 실천해나가면 나중에 더 좋은 후기와 방법론으로 다시 써봐야겠다.

#. flow chart 그리는 사이트

https://app.diagrams.net/

여담

여담으로 부장님 주니어 시절..
부장님은 입사를 하고 한동안 개발을 전혀 할 수 없었다고 한다. 선배들이 개발하지말고 계속해서 flow-chart를 그려라고 해서 몇달을 그렇게 flow-chart만 그리고 제대로 못하면 혼도 많이 났다고 한다..

지금은 시간이 많이 흘러 개발 환경이 좋아져서 이렇게 flow를 계속 그려봐라고 하는게 안맞을 수 있으나 자기는 주니어 시절에 이렇게 flow를 먼저 그리고 개발을 하는 습관을 가짐으로서 좋은 영향을 많이 받아서 우리에게도 추천을 해주고 싶다고 하셨다..

0개의 댓글