はじめに
レビューで指摘された際に、忘れないようにしたいと思ったのでメモを残します
実装内容
・planのcostが0以下のの場合は、SlackNoticeServiceでSlack通知
・planのcostが0以上の場合は、planのstatusをreceivedへ変更
レビュー指摘前のソースコード
if plan.cost > 0
SlackNoticeService.notice_plan(plan)
else
plan.update(status: :received)
end
レビュー指摘①のソースコード
ネスト深くならないように修正
cost = plan.cost
return SlackNoticeService.notice_plan(plan) if cost > 0
plan.update(status: :received)
レビュー指摘②のソースコード
このメソッドの戻り値にSlackNoticeService...の戻り値を返したいわけではない為、この書き方の方が良い
if plan.cost > 0
SlackNoticeService.notice_plan(plan)
return
end
plan.update(status: :received)
ポイント
単純にネストを深くしないようにreturnを記載していましたが、
returnの内容・位置も考えて記載する必要があると勉強になりました