* 매개변수의 순서가 경계다.
- 매개변수의 순서만 잘지켜도 그것 자체가 경계이다.
- 호출하는 함수의 네이밍과 인자의 순서의 연관성을 고려한다.
- 다양한 관계들을 함수의 네이밍과 인자를 통해서 역할을 유추할 수 있다.
- 함수를 만들때 함수의 네이밍과 인자를 고려해준다.
getRandomNumber(1, 50);
getDates('2021-10-01', '2021-10-31');
getShuffleArray(1, 5);
* 유지보수에 취약한 함수를 만들지 않기 위해서는
- 매개변수를 2개가 넘지 않도록한다.
- 그런데도 인자가 너무 많을거 같으면 arguments, rest parameter를 이용한다.
- 혹은 매개변수를 객체에 담아서 넘긴다.
- 객체이므로 순서가 상관없으므로 다양하게 인자를 다룰수 있다.
- 아래의 예시 참조
function someFund({ someArg1, someArg2, someArg3, someArg4 }) { }
- 이미 만들어진 함수가 있다면 랩핑하는 함수를 이용한다. (정 안되면)
function getFunc(someArg1, someArg3) {
someFunc(someArg1, undefined, someArg3)
}