関数のパラメータを少なくするときの考え方

以下のようにパラメータ数がやたらと多い関数は理解がしづらいです。

const hoge = (size, type, message, options) => {
	//do something
}

可能であれば、パラメータ数は少なくできるかを考えます。

渡しているパラメータを、その関数内で算出できないかを考えてみることがポイントです。

以下のコードは、hoge関数に二つのパラメータを渡していますが、よくみるとmessageはgetMessage関数を

実行することで得られますし、結果(message)は引数によって変動しません。

const price = currentValue * quantity
const message = getMessage()
const reulst = hoge(price, message)

そのため、hoge関数の中でgetMessage関数を呼び出してしまえば、hoge の引数は一つですみます。

const price = currentValue * quantity
const reulst = hoge(price)