좋은 코드란

개발 끄적끄적 .. ✍️·2021년 12월 13일
1

간단한 모니터링 페이지를 만들고 팀장님과 추가적인 아이디어 회의를 하다보니 새로운 기능 및 지표를 추가 해야 할 일이 생겼다. 불과 4일 전에 내가 짠 코드였지만 정말 간단한 기능을 추가하려고 하니 전체적인 구조를 바꿔야 하는 상황이 다가왔다. 완성을 하고 보니 비슷한 리턴값 (지표 하나 추가)을 가졌지만 새로운 코드가 되어버렸다.

좋은 코드란 무엇일까?

지금까지 막연하게 내가 생각한 좋은 코드는 짧고 알아보기 쉬운 아름다운 형태의 코드였다. 그것이 좋은 코드라고 생각했고 그것이 실력이라고 믿고 있었다. 그래서 좀 더 짧게 코드를 작성하기 위해 for 루프 보다는 리스트 컴프리헨션이나 루프 연산시 reduce를 사용하곤 했다. 하지만 이 생각이 깨지는데는 얼마 가지 않았다. 루프 한 번을 돌면서 처리해도 되는 로직을 굳이 reduce를 사용하여 4~10번의 추가 루프를 돌기도 했고, 불 필요하게 리스트 컴프리헨션 안에 로직을 많이 추가하여 오히려 해석하기 위해 시간을 투자하는 불필요한 낭비가 일어나기도 했다. 또한 코딩 컨벤션을 무시한 채 오브젝트 프로퍼티들을 한 줄에 모두 나열하기도 했다..(그것이 이쁜 코드라고생각 해서..)

오늘의 경험을 통해 다시 한 번 좋은 코드라는 것을 생각해보니 크게 3가지로 정리되었다.

  1. 에러가 나지 않는 코드
  • 세상이 무너져도 내 코드는 동작 해야한다. 다양한 예외 상황이나 변칙적인 상황을 모두 감당할 수 있어야 한다.
  1. 유지보수가 쉬운 코드
  • 새로운 데이터 타입이 들어 올 수도, 에러가 날 수도 또 여러가지 상황이 새롭게 찾아왔을 때 마다 새로운 코드를 짤 수 없다. 그렇기에 변화들에 유지보수가 쉬운 코드를 늘 머리속에 생각을 하면서 작성 해야한다. 뭐 변화에는 뭐 어떻고 그런 말이 있던데..찾아봐야겠다
  1. 알아보기 좋은 코드
  • 개발은 나 혼자 하는 것이 아니다. 무조건 나의 코드를 누군가는 볼 것이고 내가 없을 때도 코드에 대한 유지보수는 진행되어야 한다.
  1. 그 외
  • 효율성 및 성능: 주니어 레벨에서는 가장 기본적인 효율성을 제외하고는 크게 코드의 효율성을 고려하기는 쉽지 않다. 좋은 코드의 가장 중요한 부분이라고 볼 수 있지만 지금까지 개발 경험을 미루어 보았을 때 조금은 후순위로 밀었다

오늘의 경험으로 배운 것

후회가 된다. 그 때 조금만 더 생각하고 코드를 작성할 껄.. 불필요한 리소스를 동일한 업무에 투자했고, 그 결과 또한 결코 좋다고 확신 할 수 없다..

그래도 얻은 것이 있다면 다음에 또 그 다음에 내가 코드를 작성 할 때 이 점을 인지할 수 있다는 점 ? 또한 내가 나의 코드에만 너무 빠져 있었고 결국 우물 안에서 고민만 하는 개구리에 불과했다는 사실을 알았다는 점 ?

앞으로 다양한 사람들의 더 많은 코드를 봐야겠다는 다짐을 하게된다 !

0개의 댓글