"잠깐만요 코드좀 볼게요"
우리는 언제 이런말을 해봤을까요?
개발 업무를 하며 한번쯤은 우리가 말해봤거나, 반대로 누군가에 의해 들었던 말인데요.
오늘은 이 말이 의미하는 바에 대해서 이야기해보려 합니다.
근무하는 트레바리 테크유닛의 PE셀에서는 간단하면서도 도전적인 첼린지를 했습니다. 플랫폼 관련 업무만 하다 보니 프론트엔드 업무는 해본 적이 없었습니다. 그러다, 우연히 해볼 수 있는 기회가 생겨 약 3명의 개발자가 쿽하게 개발해볼 수 있는 기회가 생겼습니다.
next.js 프레임워크에서 간단히 UI Form 이 변경되는 것이 이번 프로젝트의 목적이였습니다.
단, UI Form 이 보여지게 될 때 변경 전/변경 후 UI 가 특정 비지니스 로직에 따라 다르게 보여야만 했습니다.
특정 비지니스 로직?
이번 프로젝트에서는 특정 비지니스라 말하는 부분이 의미하는 요소는 데이터베이스의 한 컬럼을 갖고 판단했습니다.
> 만약 A 라는 컬럼 값이 NULL 이라면, 이는 새로운 FORM 으로 보여주도록한다.
> 만약 A 라는 컬럼 값이 NULL 이 아니라면, 과거 FORM 으로 보여주도록 한다.
이렇게 개발을 모두다 마치고, 상급자에게 데모를 시연하는 자리였습니다.
상급자에게 데모에서 보여진 비지니스 로직이 어떻게 동작되는지 설명하는 자리에서 저는 이런말을 했습니다.
"잠깐만요 코드좀 볼게요"
만약 A 라는 컬럼 값이 NULL 이라면 에 대해서 설명하려다 보니, 위와 같이 "잠깐만요. 코드좀 볼게요" 라는 말을 제가 하고 있더라구요.
이 말이 뜻하는 바가 무엇일까요?
1. 코드가 깨끗하지 않았다는 것을 증명합니다.
2. 전달하고자 하는 바가 비지니스와 무관하다는 것을 의미합니다.
흔히, 깨끗한 코드라 함은 가독성 높은 코드를 의미합니다. 이 말은 다시 말해- 코드에서 말하고자 하는 바가 잘 반영되었다는 것을 뜻합니다. 그러나, "잠깐 코드를 볼게요" 라는 말은 자신이 작성한 코드가 정확히 무엇을 의미하는지, 그리고 어떤 비지니스를 전달하려고 했었는지 불안정하다는 것을 의미합니다.
당연히 코드 또한 if(aColumn == null ) {xx} 이런 형태를 띄고 있었습니다. 만약 더 나은 코드 였다면, if(isOldFormUI()) {xx} 이렇게 보여졌을 것입니다.
간단한 UI 변경 프로젝트라는 안일한 생각에 비지니스는 무시한 체, DB의 데이터 관점으로만 생각했습니다.
이 코드는 분명 시간이 지나 누군가 이 로직에 물어본다면, 저는 마찬가지로 만약 A 라는 컬럼 값이 NULL 이라면 라는 말을 할 수 있을까요?
다시 또 "잠깐 코드를 볼게요" 라고 했을 것입니다.
코드는 함축적으로 비지니스을 담고 있습니다.
코드는 읽는 이에게 의도를 전달해야 합니다.
코드는 그 자체만으로 의미가 있습니다.
'가치관 쌓기 > 개발 돌아보기' 카테고리의 다른 글
REST API 에서 URL은 무슨 의미인지 살짝 맛 본 썰!! (0) | 2022.05.19 |
---|---|
Layered Architecture 의 단점이 무엇이라고 생각하는가? 두번째 이야기 (4) | 2022.04.13 |
개발자는 '다형성을 활용한 리팩토링'을 수련해야 한다. (0) | 2022.02.27 |
개발자는 '추상화 이해하기'를 수련해야 한다. (0) | 2022.02.22 |
개발자는 '지독한 단축키 활용'을 수련해야 한다. (0) | 2022.02.11 |
댓글