기존 컴포넌트를 리팩토링 해야 하는 일이 생겼다.
기존에 보이고 있었던 화면이므로 사용자가 보기엔 차이가 없어야 하지만
코드는 새롭게 쓰여진다.
이때 가져야 할 마음가짐으로는 보이는것과 동작하는것에 만족하면 안된다는 것이다.
UI나 기능은 *당연히* 동작 해야 하는것이고
리팩토링을 한다면 현재 팀의 문화에 100% 적합하게 코드를 작성해야 한다.
리팩토링을 하면서 코드를 가져와서 기존의 코드가 곳곳에 녹여져 있는 경우가 많을 텐데
이때에도 이 코드가 현재 팀의 코드 스타일과 맞는지, 생각하며 가져와야 한다.
그렇지 않다면 내가 새로 만들었지만 만들자마자 레거시로 전락하게 된다.
레거시를 리팩토링 하는것인데 새롭게 레거시를 바로 만들어 버리는 것이여서
리팩토링의 의미가 많이 퇴색되어 버린다.
그리고 만약 구조를 개선한다 라고 했을때, 예를 들어 MVC -> MVVM 구조 이나
MVVM -> VIP 구조로 변경을 하는 경우가 있다.
저는 팀에서 VIP 구조를 사용하고 있는데 기존 화면을 VIP 구조에 맞추어 다시 개발해야 했었다.
이때에도 기존의 코드들을 interacter, presenter이렇게 코드를 쪼개는것에 집중하는게 아니라
새로운 구조에 맞추어서 하나하나 직접 코드를 작성하면서 리팩토링을 하는게 좋다.
그러는 과정에서 현재의 코드문화에 맞추어서 다시 작성할 수 있고
구조적으로 달라지는것이 때문에 기존 코드를 그대로 사용하지 않는게 그 구조에 맞는 상황일 수 있기 때문에
다시 한번 고민하며 코드를 작성해야 한다.
'오늘의일기' 카테고리의 다른 글
오늘의 생각 - iOS개발자의 커뮤니케이션이란? (2) | 2024.01.25 |
---|---|
오늘의 생각 24.1.24 (2) | 2024.01.24 |
[오늘의 일기] 객체지향을 어떻게 더 깊게 공부해야 할까? (0) | 2021.08.01 |
[오늘의일기] 애플 개발자 계정 구입 (0) | 2021.07.17 |
[오늘의 일기] 재대로 살아가기 (0) | 2021.07.11 |