Study/Java

넌 지금 전혀 util 하고 있지 않아.

dev_kong 2023. 3. 12. 18:48
728x90
728x90

util이 util한가?

레벨1 사다리미션의 리뷰 중 이제껏 한번도 생각해보지 않았던 의문을 갖게 만든 리뷰가 있었다.

평소 아무 생각없이 utils 패키지를 만들고, 그 안에 Validator 클래스를 두어 검증로직을 관리했다. 사다리미션 역시 마찬가지의 방식으로 패키지를 구성했었다. 그리고 이에 대해 이번 리뷰어는 Validator 클래스가 정말 utils 패키지에 어울리는지에 대한 의문을 안겨줌과 동시에 utils 패키지의 역할에 대한 의문 또한 안겨주었다. 그냥 너무나도 흔하게 사용하고 자주 사용하다보니, util이란 패키지 또는 클래스에 대해 한번도 깊게 생각해본적이 없는 것 같다. 우테코는 나에게 정말 많은 의문들을 안겨준다. 해결은 내 몫이니 파고들어보자.

소프트웨어에서의 util

utilutil한가? 라는 문장을 곱씹고 있다보니, util의 뜻을 내가 잘못 알고 있는게 아닌가 싶어서 바로 네이버 영어사전을 뒤져봤다. 뭐 당연한 얘기지만 util이란 단어는 사전에 존재하지 않는다. utility를 줄여서 흔히 util이라 부르기 때문에 utility의 뜻을 검색해봤다.

내가 기존에 알고있던 뜻과 정확하게 일치한다. 사전적 의미에 따르면 여기저기서 다용도로 유용하게 사용할 수 있는 무엇인가라면 util한 것 아닌가?? 라는 의문이 든다.

 

진짜 아무생각없이 구글에다가 validator util 패키지 라는 키워드를 검색했다. 왜 그런거 있자늠. 결과를 바라지 않는 검색. 예를 들면, 아아아 배고파ㅏ아아아 같은 거 딱 그 느낌으로 검색을 한건데 벨로그 글 하나를 발견했다. 놀랍게도 우테코 센빠이의 블로그였는데 내가 고민하던 내용이 딱 들어있었다.

 

블로그 내용을 갖다써도 되냐는 댓글을 남겨놓긴 했지만, 아직 허락을 받지 못해서 대충 정리만 해보자면 다음과 같다.

utils 패키지 내에 있는 구현들은 최대한 단순하고, 변경가능성이 낮고, 또한 도메인 로직과는 관계가 없어야 한다.

해당 내용바탕으로 고민의 내용을 정리해서, 리뷰어에게 답변을 남겼다.

매우 기분이 좋다.


어쩌면 이미 다들 지나온 고민을 이제서야 하는 것일 수도 있지만, 지금이라도 해서 다행이지 않을까 싶은 마음이다.

728x90
728x90