4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SENSYN RoboticsAdvent Calendar 2022

Day 18

長い条件式に改行を入れるときの細かいTips

Last updated at Posted at 2022-12-17

総論

論理演算子(&&とか||)で条件式をつなげる時、長くなって改行を入れることはあると思います。

そのときに、論理演算子を前につけるように書くと、条件の増減があったときに変更がその行だけで済むのでお勧めです。

  return hogehogeFoo == "foo" && hogehogeBar == "bar" && hogehogeBaz == "baz"

は横に長いので

  return hogehogeFoo == "foo"
    && hogehogeBar == "bar"
    && hogehogeBaz == "baz"

とします。条件が増減した場合、

  return hogehogeFoo == "foo"
    && hogehogeBar == "bar"
    && hogehogeBaz == "baz"
    && hogehoge == "hoge"   // この行だけ追加
  return hogehogeFoo == "foo"
    && hogehogeBar == "bar"

のように行の追加や削除だけで済むので、diffが見やすくなります。

後ろにつけるパターンだと、

  return hogehogeFoo == "foo" &&
    hogehogeBar == "bar" &&
    hogehogeBaz == "baz"

増減があったときに前の行も編集する必要が出てきてdiffが増えます

  return hogehogeFoo == "foo" &&
    hogehogeBar == "bar" &&
    hogehogeBaz == "baz" && // この行も編集
    hogehoge == "hoge"      // この行を追加
return hogehogeFoo == "foo" &&
    hogehogeBar == "bar"  // この行も編集

付随効果

読むときに「条件1、かつ条件2、かつ条件3」のように読んで「条件1かつ、条件2かつ、条件3」のようには読まないと思うので、前に論理演算子を置いたほうが自然に読めるのではないか、というのもお勧めする理由の一つです。

4
1
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
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?