読者です 読者をやめる 読者になる 読者になる

はむはむエンジニアぶろぐ

このブログのコンセプトは"ハッキングの為なら愛する家族を傷つけることをいとわない" 自分にとってエンジニアリングは "手段ではなく生きる目的" である

メソッド名 deliverとsendの使い分け

ネーミング

とあるクラスのメソッド名で、何かを送るメソッド名を考えた時に、何個か候補が浮かぶと思います。
例えば、「 deliver 」とか「 send 」とかパッと思いつくと思います。


この両者の単語ですが、同じ送るという意味でも少しニュアンスが違います。
deliver は、相手の手元に届けるという意志がありますが、sendは単に送るという意味で相手の手元に届けるという意志まで含みません。


メールを送信するメソッド名や関数名としては、 send が圧倒的に多いと思いますが、メールの仕組み上必ず相手に届けることを担保できないので send がふさわしいネーミングです。

逆に、相手に届けますという意志を持っているのであれば deliver というメソッド名をつけましょう。
相手に届いていない状況が、例外処理の対象であったりリカバリ対象にあたるのであれば、 deliver がふさわしいと思います。