내일배움캠프 55일차 TIL

김정환·2024년 12월 2일
0

키워드

  • 더 나은 구조

프로젝트를 진행하면서 내가 만든 부분들이 구현하는데 급급하게 만들었다는 느낌을 크게 받았다.
지나치게 제한된 상황에서만 작동하는 상태다보니까 좀 더 유연하게 수정해줄 필요가 있다.

막혔다

유연하지 못하다, 제한된 상황에서만 작동한다.
이 말은 즉, 확장성을 고려하지 않았다는 것이다.

하나의 경우만 생각하고 그 논리로 작동하도록 하는 것은
구현 방법으로 생각하면 매우 편리한 구조일 것이다.

가정할 상황이 적으며 무조건 특정한 상황에서만 작동하도록 하면 된다.
그러면 구현 속도가 당연히 빠를 것이다.

깊은 고려를 하지 않고 눈앞에 놓인 상황만 처리하면 되니까
빠르게 나아갈 수 있는 것처럼 보인다.

다만, 이 방법은 새로운 경우나 상황이 발생하면 크게 문제가 된다.
새로운 기능, 새로운 요소가 추가된다면
이에 맞게 상호작용하는 방법들이 수정되어야한다.

추가한다는 것이 확장이 아니라 수정을 하는 상황이 되어버린다.

구조 설계 vs 작업 진행도

개발 실력이 높다면 구조 설계를 통해서 작업 진행도를 끌어올릴 수 있을 것이다.
기본 틀을 잘 잡고, 세부적으로 필요한 연결만 시킨 다음
데이터를 양산하는 것으로 내용을 채우는 것이 가능할테니 말이다.

근데 실력이 좋지 못할 때는 어떤 방식을 취해야할까?

옛날에 들었던 잔소리가 아직도 영향을 주고 있다.
어차피 플레이어들은 구조 설계는 알려고도 하지 않는다.
그저 게임은 재미있으면 되는 것이니 우선 작업부터 마무리하라고 들었다.

완성되지 못한 작업물은 구조가 아무리 좋다한들 결국 미완성이다.
사람들은 완성되지 못한 것에는 눈길을 주지 않다보니
초창기에는 작업을 완료하는데 집중하라고 잔소리를 들었다.

그렇게하고 나서야 고칠 시간이 있을 것이라고 말이다.
웃긴 건 그렇게 아득바득 완성해도 고칠 시간은 주지 않았다.
바로 다음 프로젝트로 넘어가야했고 다시 밤을 세서 작업하는 것이 일상이었다.

여기서가 막힌 지점이다.
해오던 것을 습관적으로 하다보니 해봤던 것에 대해선 빠르게 작업할 수 있다.
문제는 이 습관적으로 해온 개발은 결코 좋은 개발이 아니었고
지나치게 제한적인 방법이다.

이 습관에서 벗어나야 수준을 높일 수 있다.

구조를 잡고, 다양한 상황에 쓸 수 있는 범용성을 갖추게 개발한 것은
정말 손에 꼽을 정도였다.

지금도 구조를 설계하기보다는
프로젝트 진행도를 높이려면 어떻게 해야하는지를 고민하고 있다.

마무리

사실 계속 고민은 하고 있다.
어떤 방식이 더 효과적일지 생각 중이다.

근데 최종 프로젝트가 반드시 성공해야하는 프로젝트도 맞지만
이 과정에서도 성장을 할 수 있다면 그것도 좋은 일이지 않을까 싶다.

그래서 이번 주차는 진행도와 완성도를 높이는 것과 별개로
전반적으로 구조를 다시 파악하고, 확장성을 높이는 작업을 병행해보려고 한다.

#내일배움캠프 #스파르타내일배움캠프 #스파르타내일배움캠프TIL

profile
사파 개발자

0개의 댓글

관련 채용 정보