LoginSignup
0
0

More than 5 years have passed since last update.

条件分岐の組み替え(Recompose Conditional)

Posted at

image.png

1つずつリファクタリング技法まとめ
個人的に簡単かつ取り入れ易いと思うものから

目的

すぐ引き出せるようにする

基本作業サイクル

  • システムを動かして仕様を精査
  • テストメソッドを作成
  • テストの失敗を確認
  • テストの成功を確認
  • 小さい変更、随時テスト実行(失敗確認->成功確認)
  • 最後テスト実行
  • 最後動作確認

条件分岐の組み替え(Recompose Conditional)とは

言語独自の構文要素を使うこと
イディオム(条件などに使用できる記号)など完結に実現できるものを使う

ポイント

  • 記述量が減る
  • 誰がみても分かるかという意味ではRubyの習熟度に依存する部分がややある

  • 三項演算子はイディオムのORの演算子を利用して表現できる
user.age = age ? age : '年齢不詳'

   ↓

user.age = age || '年齢不詳'
  • returnはガード節(早期return)以外基本いらない
  • 条件式の中行われている処理が1つだけならば、return if構文を使用できる
def talk(age)
  if age < 2
    'おぎゃー'
  else
    '話せるよ'
  end
end

   ↓

def talk(age)
  return 'おぎゃー'if age < 2
  '話せるよ'
end

書籍情報

Jay Fields (著), Shane Harvie (著), Martin Fowler (著), Kent Beck (著),
長尾 高弘(訳), リファクタリング:Rubyエディション
https://amzn.to/2VlyWML

雑感

凝りすぎずにシンプルさと読み易さを意識する。

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