본문 바로가기
공부/CleanCode

2021.12.29 CleanCode 일지 #1. 단항함수 작성

by 미네밍 2021. 12. 30.

CleanCode 책의 3장 함수 챕터에 보면, 함수의 인수에 대한 얘기가 나온다.

가장 이상적인 함수는 인수를 0개 가지는 함수이며, 차선은 인수를 1개 가지는 함수다.

 

오늘 javascript 에서 함수 하나를 작성했는데, 내가 년도와 학기의 데이터를 넘기면, 그에 해당하는 강의의 시작종료일을 가지고 와야하는 기능을 하는 함수였다.

년도와 학기 두개 파라미터를 넘기는 함수를 작성하려고 하다가, 이 두 인수를 모두 포함할 수 있는 객체를 넘겼다. (객체 안에 접근해 년도와 학기정보를 가져올 수 있다.)

 

즉, getDate(year, semester) 와 같이 2개 인수를 가지는 함수를 작성하지 않고, getDate(schDateInfo) 와 같이 함수를 작성하였다.

 

대단한 뭔가를 한 건 아니지만, 사실 개발을 하면서 인수갯수가 많은 함수를 많이 마주친다.

책을 읽으며 굉장히 공감을 했었는데, 이 함수를 사용하기 위해 인수를 넘겨주고 싶은데, 몇 번째에 어떤 인수를 넣어야하는지 한눈에 알 수 없는 경우가 많았다. 그 경우, 함수에 대해 주석이라도 잘 달아두면 도움을 받을 수 있건만 가끔은 그마저도 부족해 직접 함수를 까보고 로직을 이해하고서야 이 인수의 의미가 무엇인지에 대해 깨닫는 순간들이 많았다.

 

물론 2개 이상의 인수를 꼭 가져야하는 경우들도 있겠지만, 되도록이면 쓸데없이 인수의 갯수를 많이 요구하는 함수를 작성하지 않도록 노력해야겠다. 

 

끝.

 

댓글