[월간 다노 프론트 – 5호] 나는 내일, 어제의 내가 짰던 하드코드와 만난다.

이번만을 위한 지겨운 하드코딩의 악순환

FlyingSquirrel
5 min readJan 27, 2020
어쩔 수 없이 이번만 하드코딩!

언젠가 쓸 줄 알았던 주제였습니다. 아름답고, 모던한 코드를 작성하는 개발자를 꿈꾸고 있지만, 현실은 저에게 “언감생심 네 까짓 게 어디서 감히!”라고 말하는 것 같습니다. 모던한 것은 포기하더라도 아름답기라도 했으면 좋겠는데, 살아남기 위해 어쩔 수 없이 이번만 하드코딩!라는 주문을 외웠습니다. 속상함 한 스푼을 담아 작성하는 월간 다노프론트 5호입니다.

내가 생각하는 하드코딩 👷🏻‍♀️

제가 생각하는 하드코딩은..
파이(π) 같은 상수 값도 아니면서, 특정 기간 동안에만 사용하기 위해 코드에 직접 데이터를 넣는 귀찮은 과정입니다.

하드코딩은 보통 코드(소스)에 데이터를 직접 쓰는 것을 말합니다. 서버와 통신하며 그에 따라 값을 뿌리지 않고 고정적으로 박아두는 것들을 일컫는 것인데, 제가 작업한 것들을 되돌아보면 이 녀석들을 상수라고 보기에는 딱히 상수도 아닙니다. 영원한 상수가 아닌, 특정 기간동안만 이 데이터로 쓰기 위해 박아준 것들이거든요.

하드코딩이 나쁜 것은 아니지만, 좀 있으면 또 바꿔야하니까 귀찮다.

하드코딩은 나쁘지만은 않다고 생각합니다. 가독성이나 속도를 생각해야하는 경우에는 적합하겠지만… 제가 하드코딩을 귀찮아(싫어!)하는 이유는 좀 있으면 또 바꿔야하는 값인 경우가 많기 때문입니다. 이번만 쓰기 위해, 또는 조금 후에는 다른 값으로 바꿔야하니까요. 심지어 하드코딩을 하면 다른 사람을 위해서 주절주절 설명하는 주석도 달아줘는 귀찮음이 추가됩니다. 참을 인 세 번이면 살인을 면… 아니, 글쎄 귀찮다니까요? 😫

1월을 되돌아보며, 나를 귀찮게 했던 작업들

  • 다노샵 상세페이지 영역 상단에 설연휴 배송 안내이미지 넣기
  • 다노샵 상단 띠배너 텍스트 변경
  • 다노샵 프로모션 페이지 제작
  • 마이다노 무료체험 프로모션 페이지 만들기
  • 마이다노 수강신청 받는 기간 중 소소한 변경사항 (텍스트 교체, 특정 element 노출/비노출 등)

하드코딩의 악순환

하드코드, 하드코드는 어디에나 있지

이번 달을 되돌아 볼 때 '아 이거 하나 바꾸려고 배포를 다시 해야한다니.. 만들고 나서 보람을 느끼는 코드를 짜고 싶다' 라고 생각한 적이 많았던 것 같습니다. 심지어 모달에 띄우는 텍스트를 줄바꿈 해달라는 요청때문에 배포를 다시 %^@&$*(!&@*$ 😡

이번 글을 쓰기 위해 나는 왜 하드코딩하는 것을 싫어하는가?라고 스스로에게 질문해야했습니다. ‘귀차니즘’은 개인의 주관적인 감정이니 배제한다고 했을 때, 객관적인 이유를 생각해보니 바로 하드코드로 작업한 것은 결국 악순환되기 때문입니다.

진작에 자동화했다면, 다른 부서분들이 어드민을 통해서 필요한 데이터를 넣고, 서버와 통신해서 그 값을 프론트에 그려주는 일을 하면 서로가 불편하지 않을 것입니다. 이것 좀 바꿔주세요!라는 요청도 할 필요가 없고, 이거 하나 바꾸려고 배포를 하다니라는 생각을 하지 않아도 됩니다.

10개의 손가락과 8시간 근무라는 한정된 리소스의 일부를 하드코딩하는데 써버렸습니다.
별로 한 일은 없는 것 같은데, 나는 바쁘다고 느끼는 이상한 상황이 반복됐습니다.

저에겐 10개의 손가락과, 하루에 (야근을 안한다는 전제하에) 8시간이라는 한정된 리소스가 있습니다. 이 리소스를 활용해서 최대의 결과를 내야할텐데, 하드코딩을 하느라 리소스의 일부를 사용하게 되면, 자동화에 쏟을 시간이 부족해집니다. 그러면 지난 달에 자동화하지 못했기 때문에 이번에도 하드코딩 해야하는 일프로덕트 개선을 위한 피쳐개발이 더해집니다. 수학에서 말하는 시그마(Σ) 같은 느낌.. 일이 계속 더해지는 느낌입니다. 별로 한 일은 없는 것 같은데, 나는 바쁘다고 느끼는 이상한 상황이죠. 거기에 새로운 하드코딩 업무가 더해지기도 하면.. 😭 정말 다른 개발자분들은 다 이런 상황들 감내하시고 일하는데, 저만 유독 약한 멘탈을 가지고 있는건지 궁금하긴 합니다.

귀찮게 느껴서 다행이다 (feat. 이적 — 다행이다)🎼🎤

이런 식은 싫어요!

그래도 개발자로서 내가 이런 과정들을 귀찮게 느끼고 있다는 것이 다행이라 생각하고 있습니다. 결국엔 이것 좀 바꿔주세요! 라고 요청할 필요가 없도록 개선을 해야하는 거겠죠! 우리회사가 급하고 빠르게 몸집이 커져가는 상황이라 미쳐 챙기지 못했던 것들을 이제는 챙겨야할 때가 된 것이라 긍정 한 스푼을 마음에 넣어봅니다.

다노샵에 곧 배포를 앞두고 있는 자동화 기능들이 있습니다. 특정 페이지에 대한 A/B 테스트, 검색 키워드에 따른 배너(프로모션 용도) 노출 등등. 생각할 수록 신납니다 헤헤헿헿헿🤓

설 연휴도 끝났고! 저는 내일, 어제의 내가 짰던 하드코드들을 또 만나러 갑니다. 악순환도 싫고, 귀찮은 것도 싫다고 외치고 있겠지만, 결국엔 불필요한 하드코딩을 멸종시켜 그나마 아름다운 코드로 개선해야겠습니다! 후아!

--

--

FlyingSquirrel
FlyingSquirrel

Written by FlyingSquirrel

감성이 말랑말랑한 개발자입니다.

No responses yet