인자가 많은 메서드는 왜 나쁠까?
toss.tech
메서드의 시그니처는 메서드의 이름과 파라미터를 의미합니다. 이 두 가지 정보를 통해 메서드를 사용하는 입장(클라이언트)에서는 해당 메서드가 어떤 역할을 하는지 내부 구현을 들여다보지 않아도 쉽게 알 수 있어야 하죠. 최초 메서드 생성 시 그 메서드가 하는 역할에 대한 의미를 메서드 시그니처를 통해 표현했다고 가정해 봅시다. 그 이후 기능의 추가나 변경에 따라 비슷하지만 약간 다르게 동작을 해야 한다면 어떻게 해야 할까요? 간단하게는 파라미터를 추가함과 동시에 내부 로직을 수정하곤 합니다만 이러한 행동들이 반복되어 메서드의 파라미터 즉, 인자가 많아지는 경우 여러 가지 문제가 드러나기 시작합니다. 그래서 메서드에 파라미터를 추가를 할 때는 사용하는 측면에서의 고민을 함께 하면서 '리팩터링' 이 이루어져야 하는데요. 이 글에서는 메서드의 인자가 많을 경우에 어떤 문제가 있는지, 그러한 코드를 직접 리팩터링 해가면서 어떤 부분이 좋아졌는지를 소개하고 있습니다.
글을 쓸 때도, 코드를 작성할 때도 마찬가지로 내가 이해되도록 작성하는 게 아니라 글 또는 코드를 읽거나 사용하는 클라이언트가 이해되는 형태로 작성한다는 생각을 하다 보면 자연스럽게 코드가 좀 더 효율적으로 리팩터링이 되지 않을까 생각을 해봤습니다.
https://toss.tech/article/engineering-note-4
다음 내용이 궁금하다면?
이미 회원이신가요?
2023년 12월 4일 오후 10:39
ChatGPT 사용할 때 어떤 모델을 선택해야할지 망설여집니다. 모델명만 봐서는 어떤게 좋은지 모르겠더라고요.
... 더 보기1
... 더 보기