본문 바로가기
개발 관련 학습 및 문제해결

개발하기전 설계하는 법[20221107-TIL]

by 날파리1 2022. 11. 7.

오늘은 코딩의 신 아샬님이 직접 오셔서 코드 리뷰 겸 특강을 해주셨다. 

기획 설계 모든 걸 처음하는 터라 우리 동기 코드 모두가 난해하고 파악하기 어려웠는데 특히 구조 부분이 그랬다.

 

문제파악 - 복잡한 구조

코드를 구현하는 것도 애먹었던 우리라 일단 구현만 하자 라는 마음가짐으로 했던 것 같은데 그러다보니 코드를 구성하는 방식이 구현을 따라가고 마치 인간의 진화과정 처럼 허리가 약간 구조로 진화된 사람처럼 불완전성이 커졌다. 

처음에는 데이터베이스를 어찌 구성하지라는 고민때문에 코드가 데이터 베이스를 따라가게 되었고 이번에는 복잡한 객체를 자꾸 물고 있다보니 상하관계를 가진 구조를 가지게 되었다. 

따라서 자연스럽게 테스트 코드를 짜기 어려워지게 되었다.

 

설계를 잘하자

위의 해결법은 일단 설계에 대한 깊은 고민이 있어야한다는 것인데. 사실 내가 한 설계에 대해 반성할 것은 많다. 

첫째, 일단 왜 어떻게 설계할지를 고민하지 않았다.

근데 나는 왜 이렇게 멍청했을까보다는 당연하다고 생각한다. 한번도 해보지 않은 설계기때문에 어떻게 왜 그렇게 짜야하지라는 고민이 깊게 되지 않고 오히려 뭘해야하지 라며 인터넷만 슬슬 뒤지고 행동력이 너무 떨어졌다.

배경지식이 없는 상황에서 깊은 생각은 사고하지 않음으로 이어지고 이는 행동력과 의지력 저하로 이어진다. 일단 뭐든 생산을 하고 이번처럼 트레이너 분께 코드를 다 지우고 다시 설계해야한다는 식의 피드백으로 필요성을 느끼는게 반드시 필요악처럼 필요한 것 같다.

 

둘째, 가치를 진지하게 고민하지 않았다.

아샬님께서 사용자 스토리 및 개발 사전 문서중에서 첫 기능 구현에서 홈화면을 보시고 한 말씀이 있었는데 정말로 이 홈화면이 사용자에게 어떤 가치를 줄 지 고민해서 만든걸까? 아니면 당연히 홈화면이 처음 오기때문에 만든걸까요? 라고 했는데 너무 와닿았다.

당연히 그냥 고민하지 않고 일단 서류를 써야하니 홈 화면 기능을 당연하게 넣어놨는데 많이 찔렸다.

정말로 사용자가 어떤 가치를 가지고 이를 사용하면서 어떤 이익을 가질지를 생각하면 더 좋은 결과물이 나온다고 했는데 많이 공감했다.

 

액션플랜

위 두사항을 들고 다시 개발 문서 고치자 ^^;

오늘도 깨달아서 좋았다.

 

댓글