💜

副作用の存在を関数名に込める、シンプルな推しルール

2024/02/08に公開

結論

副作用のない関数は名詞として、副作用のある関数は動詞として書く

// これよりも
hogeRepository.getHogeId(hoge)

// こっちの方が宣言的でパっと見て副作用無いことがわかって( ・∀・)イイ!!
hogeRepository.hogeId(hoge)
// なんか副作用ありそう!!
result = hogeRepository.doSomeOperation(hoge)

宣言的に書いて快適プログラミングライフ!

補足

こういったルールを適用する場合、チームの英語力(?)と相談することは大前提です。上記の例のように簡潔な処理の場合はともかく、過去分詞や現在分詞がついた名詞等はパっと見だと動詞に見えちゃうこともあると思うので。

// recommended...?お前さては動詞だな?
someRepository.recommendedBooks()

Discussion