오늘 고객사의 수정 요청으로 개발을 진행하게 됐는데 아직 개발에 익숙하지 않은 나로써 코드를 분석 후 바로 수정하는 것이 어렵기도 하였고,,,,결국 이리저리 삽질을 하게 되었다,,
그래서 팀의 이사님께서 개발을 진행 할때 분석 하는 방법과 흐름을 파악하는 순서를 알려줘서 잊지 않으려고 끄적,,,끄적여본다,,,
구성

-> 가장 널리 구성되어 있는 View - backendServer - DB 로 우리 솔루션도 구성이 되어있다.
기존 분석 방법
- 코드에 디버깅을 예상이 가는 지점에 걸어둔다.
- 화면에서 추가해야할 부분, 또는 수정해야할 부분에 데이터를 넣어본다.
- 디버깅이 걸리면 해당 코드 부터 DB랑 connection 하는 객체들을 쫓아간다.
기존 분석 방법의 문제점
- 화면을 이곳저곳을 눌러보면서 삽질을 하게 된다.
- 디버깅을 하면서 수정, 추가 해야할 부분을 예측해야해서 삽질하게 된다.
- 데이터가 화면에 뿌려지지 않으면 View - backend 부분만 삽질 하게 되면서 실질적으로 데이터가 DB에 들어가는지 확인을 못한다.
개선 방법
- 수정, 또는 신규 개발 할 경우 해당 서비스가 사용하는 DB의 테이블을 우선 분석한다.
- 테이블을 리스트업 하고, join 해야하는지 여부를 확인 한다.
- 도식화에서 보는 것과 같이 Server - DB의 커넥션이 이루어 지는 곳을 확인 한다.
-> 예를 들면 mybatis인 경우 mapper, 다른 ORM 일 경우 우리는 java 클래스 파일에서 내부에
java로 쿼리를 실행할 경우도 있다.
- 커넥션이 이루어지는 곳부터 시작하여 각각의 객체들의 연관성을 파악한다.
- 어느정도 연관성이 파악하면 디버깅을 하면서 데이터가 흘러들어오는 값들을 확인한다.
이 방법을 이용하여 오전 동안 삽질 한 것을 오후에 한두시간만에 파악할 수 있었고, 수정과 개발을 진행하여 다행히 잘 마무리 할 수 있었다,,,
개발하니 시간이 잘간다,,,물론 야근도 했지,,,,