LoginSignup
0
0

More than 1 year has passed since last update.

returnの位置について

Last updated at Posted at 2023-04-03

はじめに

レビューで指摘された際に、忘れないようにしたいと思ったのでメモを残します

実装内容

・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の内容・位置も考えて記載する必要があると勉強になりました

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0