반응형
처음 보는 소스라 쫄아서 남한테 미뤄서 안보게 되는 게 최악이다.  난 어떤 소스를 봐도 끄딱없어 다 분석할 수 있다는 자신감이 중요하다.  - 어느 모 유튜브 개발자의 조언

 

 

너무 잘하려고 하지마세요. 그렇다고 못하진 마세요. 개발자는 코드를 읽을 줄 알아야합니다. 겁먹지 마세요. 구글링으로 코드 한줄한줄 이해할 수 있는 시대입니다. 앞으로 그러한 태도를 가지면 됩니다. - 어느 개발자 조언

 

 레거시 코드란 IT업계에서 자신이 짠 코드가 아닌 남한테 물려받은 코드를 의미합니다. 보통 처음 부서에 오게되면 기존의 코드를 보게됩니다. 많은 양의 코드와 내부 구조를 알 수 없어 손도 댈 수 없는 상황이 생깁니다. 하지만 우리가 유지보수를 하기 위해 들어온 개발자라면 혹은 기존 코드에 어떤 기능들을 추가해야하는 개발자라면 반드시 기존 코드를 이해해야 작업이 가능할 겁니다. 이해가 없이는 손도 댈 수 없죠.

 

 그래서 코드를 이해해야합니다. 어떻게 이해해야할까요? 필자의 생각은 "코드 보는 눈을 기르는 건 꼼수가 없다. 시간노력 그리고 방법에 있다." 라고 생각합니다.

 이런 생각을 합니다. 레거시 코드를 분석을 한 사람과 못한 사람이 있을 때 분석을 했던 사람이 가진 건 무엇일까? 그것을 생각하며 레거시 코드를 위해 신입 개발자가 가져야할 태도, 분석법들에 대해서 포스팅해보았습니다.

 

가져야할 태도는 아래와 같습니다.

0. 참고할 팀 내부 문서를 찾고 개발자 문서를 마련해 두어라

 

1. 반드시 코드를 한줄한줄 이해해라.

 영어문장 해석하듯, 한줄한줄 어떤 역할을 하는 지 머릿 속에서 상상하며 이해해라. 코드의 의미를 해석하여 읽어야합니다. 이해했으면 자신만의 주석을 달아 놓으세요.

 

2. 코드를 복기해라. 코드를 많이 읽고 보라. (단, 눈에 익숙할 때 까지)

 

3. Open source를 많이 보라.

Open source를 많이 보면 눈이 길러집니다. 이유는 많은 사람들이 고뇌해서 만든 소스이기 때문입니다. Open source를 많이 보라.

 

4. 네이밍에 대해서 공부해라.

변수명에서 이게 무슨 역할을 하는 지 바로 네이밍을 지을 수 있게 한다.

 

5. 시스템을 문서화, 시각화해라.

- 만능 변수, 객체, 클래스 찾아보기 (디펜던시가 높은)

- 만능 변수, 객체, 클래스의 역할 문서화 시각화

- 핵심 로직 문서화 -시각화

- UML 클래스 다이어그램

 

6. 주석 달아라.

- 기본 주석을 충분히 활용

- 주석으로 코드의 의미, 중요성, 위험성 등을 파악

- 분석이 오래 걸린 코드의 주석 추가

- TODO 주석 찾아보기

 

7. 기존 코드를 리팩터링 해라.

결과의 변경없이 코드 재구성

- 변수, 클래스명을 의미가 명확하도록 변경

- IDE(통합 개발 환경) 도움 받기

- public 클래스를 private 클래스로 변경

- 중복코드 변경

이런 작업은 구조 변경보단 부담없이 시도해볼 수 있는 리팩터링 입니다.

 

8. TC(테스트 케이스) 추가해라.

- TC는 리팩터링의 부담을 줄여줌.

- 전체 코드에서 커버되지 않은 부분을 찾아주는 툴도 존재함. 많이 활용하기

 

 개발자 신입에게 기대하는 건 기존 시스템의 리프레쉬입니다. 그러려면 기존 코드를 어떻게든 숙지하고 이해하고 있어야 합니다. 레거시 코드를 분석하여 자신의 것으로 만들어 보는 건 어떨까요? 자신만의 코드의 이해도도 높아지고 개발 실력도 향상될 것입니다.

 

 

 

 

참고자료

www.youtube.com/watch?v=h1Qj7LEIVVQ


www.youtube.com/feed/history

반응형