메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

자신의 코드 작성방법이 정체되어 있다는 생각이 드는 개발자라면

alas0***

|

2024-06-23

프로그래밍의 규칙

고스트 오브 쓰시마, 슬라이 쿠퍼 등 세계적인 게임의 제작사, ‘서커펀치’의 프로그래밍 기술을 엿보다!

  • 저자 : 크리스 짐머만
  • 번역 : 박상현
  • 출간 : 2024-05-20

* 한빛미디어 서평단<나는리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

예전에는 작은 규모의 개발팀에서만 일해서 서로 코드가 겹칠일도 거의 없었고, 개발자가 좀 있더라도 각자 맡은 부분만 계속 작업해서 코드에 대한 협의를 따로 진행하지 않았다. 주로 내가 편한 스타일대로 만들었던 경우가 많았었는데, 이번 회사에서는 기존에 서비스 중인 프로젝트를 유지보수하면서 새로운 버전으로 리뉴얼하는 작업에 투입되기도 했고, 프로젝트를 바라보고있는 사람만해도 스무명 가까이 되다보니, 우리팀에서 거의 모든 업데이트 일정에 포함되어 있는 나 조차도(프론트엔드 개발자라 UI 들어가는 부분은 PC웹뷰, 모바일웹뷰 포함 모두 참여함) 모르는 새에 만들어진 것들이 정말 만다. 내가 입사하기 이전에 만들어진 코드들과 내가 만들었음에도 다른 분에 의해 기능이 추가되고 수정된 코드들이 있으면 그것들을 해석하는데만해도 많은 시간이 필요했던 것 같다.

이 책에서는 더 나은 코드를 작성하는 21가지 방법을 예시와 함께 설명해 준다. C++을 예시코드로 보여주고 있어서, 대학교 1학년때 배우고 거의 13년만에 보는 언어라 조금 두렵기도하고 반갑기도 했다. (C++이 너무 어려워서 개발자 안하겠다고 생각했던 19살의 나ㅎ)
책을 한번 싹 훑으면서 내가 나 편하자고 했던 것들이 이 책에서 제시하고 있던 방법 중 하나인것도 있었고, 내가 놓치고 있던 것들이라던가, 확장성을 위해 만들었던 것들이 사실은 더 효율을 떨어트리는 것들이 있어서 반성하는 계기도 되었다. 
 

특히 가장 인상적이었던 파트는 "최적화하지 말라" 라는 부분이었다."우리는 같은 작업을 더 빠르게 수행하도록 바꾸는 것이 아니라 불필요한 작업을 제거함으로써  성능을 개선합니다. 불필요한 작업을 하는 코드 또는 한번만 해도 될 일을 여러번하는 코드를 찾아내세요. 이러한 코드를 제거하면 프로그램이 더 빠르게 동작됩니다." 라는 부분이 정말 머리를 띵하게 만들었다.
왜냐면 이 부분을 보고 있을 때쯤, 최적화를 한답시고 자바스크립트 파일 하나를 뜯어 고치고 있던 중이었는데, 정말 필요한 것은 필요없고 중복되는 것을 찾아 줄이는 것이 우선이라는 것을 깨달았다.

좋은 이름은 좋은 문서다 라는 부분도 인상적이었는데, 예전에는 함수의 이름이나 변수의 이름을 최대한 짧고 단순하게 만드는 경우가 많았다면, 최근에는 많은 사람들이 코드를 보고 있으니 누구나 처음보더라도 이 함수와 코드가 어떤 목적으로 만들어졌는지, 어떻게 사용해야 알 수 있는지 한번에 알수 있도록 표기하려 노력하는편인데, 아무래도 오랜 습관으로 모든 사람들이 그런 방식으로 작업을 하지 않아서 다른 분들의 코드를 볼때 조금 시간이 걸리는 것같다. 솔직히 함수의 이름이나, 변수의 이름을 길게 늘여쓰면서 혹시 성능에 문제가 있지 않을까? 걱정하면서도 다시 봤을때 나 편하자는 마음에 그렇게 작성했던 것들이 있었는데, 좋은 판단이었던 것 같아 다행이라는 생각이 들기도 했다.
 

이미지 캡션또한 산사태를 일으킨 조약돌을 찾으라 라는 부분도 보면서 꼭, 이번 업데이트가 끝난다면 코드리뷰를 하면서 같이 해결해야지 하는 생각을 했다.
책에서 다뤄진 예제 코드가 C++인데, C++을 모르더라도 이미 다른 언어를 충분히 경험한 사람이라면 어떤 이유로 이 예제코드를 보여주는지 이해하는데 어려움이 없었다. 그리고 뒷부분에 파이썬과 자바스크립트개발자를 위한 C++코드 읽는 방법도 알려주고 있기 때문에, C++을 사용해본적이 없는 사람들이라면 이 마지막 파트를 먼저 읽고 책을 읽는다면 이해가 잘 될것 같았다.

또 코드를 많이 다루는 실무자들 중에서도 5년차 이상의 개발자들이 자신의 코드 작성방법이 정체되어 있다고 느낀다면, 신입개발자들을 가르쳐야하는 경우가 생겼는데 자신의 코드를 돌아보니 이게 괜찮나? 싶은 생각이 드는 사람들이라면 이 책을 보고 좋은 해결점을 찾길 바란다.
 

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?