221109 목표치를 달성하지 못한 날

샨티(shanti)·2022년 11월 9일
0

하루를 마무리 하기 전, 오늘 있었던 일들을 잔잔히 되짚어봅니다.
성공과 실패의 모든 요소에서 '배울 점'을 찾아내어 기록하고,
더 성장하는 내일의 나를 위해 'action plan'을 세웁니다.

요 며칠 코드를 친 절대 시간이 너무 적은 것 같아 오늘은 마음속으로 위의 화면 전체를 다 구상해봐야지 하는 목표를 세웠는데 달성하지 못했다.

오늘 하루 중에서 가장 시간 소요가 컸던 부분은 바로 모델 재설계로 인한 리팩터링이었다.


며칠째 이 다이어그램을 지웠다가 그렸다가 반복하고 있는 것 같은데 ㅎㅎ
비단 나만 그런 것이 아니리라.

물론 처음부터 완벽하고 탄탄한 설계를 하고 불변의(!!) 궁극적인 모델을 만들고 개발에 착수하면 좋겠지만, 결론적으론 지금 내 수준에서 불가능하기 때문에 더 덩어리가 커져서 정말 손도 못댈 정도로 리팩터링을 해야 하는 지경이 벌어지지 않도록.
야곰 야곰 수정해나가고 있다.

오늘 오전까지만 해도 Place라는 객체에 더 추가될 정보는 없다고 느꼈는데, 장소 상세정보 페이지를 구현하다 보니 장소의 편의시설, 그리고 장소의 연락처 정보가 추가되어야 한다는 사실을 깨달았다.

분명 기획서에는 필요 요소에 대해서 기재해두었는데, 다이어그램으로 시각화하여 그리기 전까지는 눈치채지 못했던 것이다.
어제 아샬님 특강에서 들었던 폭포수 모델이 생각났다.

전형적인 폭포수 프로세스를 따르는 컨설팅. 그 일을 하던 때를 잠시 생각해보면 일반적으로 수십, 수백페이지의 '보고서'를 만드는 데 총력을 기울이고 그 보고서 대로 움직이는 게 정석 패턴이었던 것 같다. 그 말인 즉슨 보고서가 나와서 납품되는 순간부터는 그 보고서가 수정될 일은 거의 없다고 보면 된다. 지금이야 안그럴 수도 있겠으나 대체로 보수적인 환경에선 그렇게 진행되었던 것 같다. 보고서가 변경된다는 것은 어쩌면 용역의 방향성이 잘못되었음을 인정(?)하는 꼴이 될 수 있기에.

그래서 기획서의 내용에 잦은 변동사항이 발생하는 것이 나에게는 좀 생소하기도 하다.
간혹 '이게 바뀌어도 되는걸까?' 하는 마음부터 불쑥 튀어나오기 때문이다.

하지만 개발을 하다보면 이 생각을 뛰어넘는 일이 발생하곤 한다. 즉, 고치지 않고서야 버틸 수 없는 상황이 오기 때문이다.
자주 표현하는 '고통스럽다'는 말 처럼. 고치고 변경하지 않으면 못배길 상황을 맞닥뜨리면 '이래도 될까?' 하는 생각의 시간은 짧아지고 결국 고쳐야만 모두의 고통이 덜어지는(ㅎㅎ) 그런 일이 자주 벌어지는 것 같다.

며칠 전 Place 객체에 모든 요소들이 primitive type, 그리고 String 타입으로 구성되어 있었는데. 이제는 제법 많은 값객체들이 그 자리를 차지하고 있다.

어제도 글을 쓰긴 했지만, value object와 entity를 명확히 구분하지 못하고 혼란스러운 기분이었는데 질문을 남기고 답변을 얻으면서 조금씩 명확해지고 있는 것 같다.
값객체와 entity의 명확한 차이점이 'identifier'의 존재 유무라는 점인데, 사실 이 부분은 지난 몇 달 동안 코딩인터뷰 때 반복해서 언급되었던 주제이기에 외우고 있던 사실이긴 했다.

하지만 뭐랄까. 그 의미나 사용성, 그리고 '이유'에 대해서 와닿지 않았다. 정말 하나도 와닿지가 않았다.
마치 식물도감을 읽으며 그 꽃과 풀이 무엇인지는 외우고 공부했으나, 정작 들가에 핀 그 꽃을 보고선 '와 예쁜 꽃이네~' 하고 지나가버리는 느낌이랄까.
매칭이 되지 않는 느낌이 항상 마음 한켠에 자리잡고 있었다.

그런데 이번 포트폴리오 주간을 보내면서 의도치 않게 '객체'에 대해 좀 더 현실감(?)있게, 피부로 와닿게 알아가고 있는 중이다.
동료들 역시 객체를 공부하며 이리저리 실험도 해보고, 또 다양한 방식으로 값객체를 활용하고 entity를 재정의하고 있다.

하루라는 시간이 한정적이기에 객체, 그리고 모델을 재정의하고 리팩터링 하는 것과 목표를 달성하는 부분에서 trade off가 발생했다.
이 trade off가 의미있게, 또 생산적일 수 있도록 만들기 위해서는 오늘 질문으로 남겼던 value object - entity와의 혼란, 그리고 fake를 잘못 활용한 부분에 대해 정확히 이해하고 반복된 실수를 하지 않아야 할 것이다.

조금 늦게, 아샬님이 남기셨던 조금 늦게 보았는데 정적 팩토리 메서드 라는 단어가 눈에 들어온다.

정의도, 의미도 잘 모르는 단어는... 절대 그냥 넘어가지 말자...ㅎㅎ....
공부할 단어에 체크..

후. 어쨌든 결론적으론 오늘은 목표를 달성하지 못한 날이라 좀 찜찜한 마음으로 하루를 마무리 한다.
아마 내일도 이 페이지 하나를 구현하는데 좀 더 매달릴 것 같은데.. 다른 블로그 글도 쓰면서 공부도 해보려 했지만 여러모로 아쉬운 하루이다........ ㅠ.............

아침에 일어나서 또 운전해야 하니. 잠은 자고, 낼 일찍 일어나서 달려보자.
화이팅..!!

profile
가벼운 사진, 그렇지 못한 글

0개의 댓글