코드 분석 3 - 구조 재설계 분석 방식

mohadang·2022년 4월 23일
0

Soft Skills

목록 보기
3/3
post-thumbnail

어느정도 코드 이해도가 높아지니 코드를 내가 직접 재 설계 할 수 있다는 자신감이 생긴다
그래서 정말 기본적인 코드만 구현된 새로운 프로젝트를 만들어 구현하기로 하였다.

먼저 기존 잘 동작하던 코드들을 잘 백업해 두어야 새 프로젝트에다 복사할 수 있으니 기존 잘 동작하는 코드들을 Backup 디렉터리에 이동 시켰다.

그리고 앞으로 Notification 뿐만 아니라 여러 Control들을 가져와 분석할 것이기 때문에 이들을 모아둘 디렉터리가 필요하다. 1.MyCustomControl 디렉터리를 생성하고 여기에 분석할 Control 들을 넣기로 하였다.

우선 애니메이션 효과, 세부적인 Style 구현, Resourc 등은 제외하고 알림을 출력하면 빨간색 사각형이 패널에 추가되는 기능만 구현하는것을 목적으로 Backup 디렉터리에 존재하는 코드들을 가져왔다.

이렇게 가져와 보니 클래스 파일 양이 정말 적다(MyNotification과 MyWpf 디렉터리 수 차이를 보라, 각 디렉터리에 있는 클래스 파일까지 하면 더 차이가 난다)
클래스 파일안에 존재하는 코드 양도 많이 줄어들었다.

여기에 MyCustomControlLib라는 프로젝트도 1.MyCustomControl 디렉터리에 추가했는데 여기에는 Handy Control이 사용하는 유틸리티 성격의 코드를 넣어두기로 하였다. 이렇게 하면 나중에 다른 Handy Control들을 추가하였을때 MyCustomControlLib 그대로 재사용할 수 있을 것이다.

2.Example 폴더에는 구현한 MyNotification Control을 사용하는 예제 프로그램 프로젝트를 두었다.
Notification에는 버튼을 하나 두어 버튼을 클릭하면 MyNotification Control을 사용해 알림을 띄우도록 하였다.

동작 모습

버튼을 누를때 마다 빨간색 사각형 박스가 Panel에 추가된다

코드 구조 재설계 분석 방식의 장점

새로운 프로젝트에 재설계된 코드를 조금씩 복사하는 과정을 겪으면서 좀더 자세히 코드를 이해할 수 있었다.
기존에는 단순히 코드를 보기만 추측 하였지만 이번에는 코드를 새 프로젝트에 복사하고 실행하면서 추측한 코드가 정말 기대대로 동작하는지 확인할 수 있었다.
이 과정을 계속 반복하니 코드 하나를 더 세부적이고 정확하게 이해할 수 있었다.

코드 추측 -> 코드 복사 -> 실행 이 반복이 코드를 이해하는데 정말 많은 도움을 주는것 같다.
예전에 하던 불필요한 코드 제거 & 주석 넣기와는 차원이 안될정도로 말이다.

profile
mohadang

0개의 댓글