Home
All Posts
🚙

[캘린더 라이브러리] Util성 함수들을 미리 만들어두기보다, 나중에 분리하기

Created
2024/03/13
Category
Project
3 more properties

Utils를 미리 만들어 두는 습관?

이 프로젝트를 시작하면서 ‘필요할 것 같은’ 유틸성 함수들을 미리 만들어 두었다. 결론부터 말하면 이것이 그리 좋진 못한 습관(?) 이었던 것 같다.
생각해 보니 우아한 테크코스 때 미션을 할 때 종종 유틸 함수를 미리 만들어 두었던 것이 원인이었던 것 같다. 그때는 매 미션마다 약간 반복되는 로직(e.g. 예를 들면 유효성 검사에 쓰이는 메서드들)이 있었기에 유틸 함수들을 미리 만들어 두고, 필요할 때 꺼내 썼었다. 하지만 우테코 미션은 조금 특이한 케이스였던 것 같다.
이번 프로젝트에서도 유틸 함수들을 미리 만들어 두었지만, 기능 구현을 하면서 필요한 메서드들을 쭉 만들고, 나중에 유틸성이라 판단하면 유틸 함수로 빼두었다. 결국 미리 만들어 둔 유틸 함수들은 필요가 없게 되었고 결국 나는 일을 두 번 한 셈이 된 것이었다.
아무튼, 앞으로는 유틸 함수들을 미리 만들어두기 보다, 코드를 짜다가 해당 함수가 유틸의 성격을 띈다고 판단되면 그때가서 분리하고자 한다.

util 함수 분리 시 참고하면 좋을 GPT의 조언

“예를 들어, useState 훅을 포함한 상태 관리 로직과 일부 계산은 직접적인 컴포넌트의 상태와 연결되어 있어서 별도의 유틸리티 파일로 분리하기 어렵습니다. 특히 React의 useState는 컴포넌트의 상태를 관리하고, 이 상태가 변경될 때 컴포넌트를 다시 렌더링하도록 하는 중요한 역할을 합니다.
유틸리티 파일로 분리하기 적합한 코드는 주로 상태에 직접적으로 의존하지 않는, 순수 함수 형태의 로직들입니다.
예를 들어, displayYearMonth과 같이 단순한 문자열 형식 변환을 위한 로직도 유틸리티 함수로 분리할 수 있지만, 이 경우 그렇게 하는 것이 실제로 큰 이점을 가져다주지는 않습니다. 이는 이미 간단하고, 해당 컴포넌트에서만 사용되는 로직이기 때문입니다.
컴포넌트의 가독성과 재사용성을 높이기 위해 복잡한 계산이나 여러 곳에서 사용될 수 있는 로직을 유틸리티 함수로 분리하는 것이 좋습니다. 하지만, 간단한 로직이나 직접적인 상태 관리에 관련된 코드는 컴포넌트 내에 유지하는 것이 더 나을 수 있습니다.”