LoginSignup
0
0

More than 5 years have passed since last update.

引数の追加(Add Parameter)

Last updated at Posted at 2019-03-05

image.png

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

目的

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

基本作業サイクル

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

引数の追加(Add Parameter)とは

メソッドを変更するにあたって以前渡されていなかった情報が必要になり、引数を追加するもの

ポイント

  • 他の選択肢があることが多く、その場合は他の選択肢を選択した方が良い
  • 既存で引数がある状態から追加する場合、「引数オブジェクトの導入」が適用できないか検討する
  • 同じシグネチャのメソッドが存在しないか確認する(同じように追加する必要がある可能性がある)

def load_file
  local = make_local_file
  load(local)
end

   ↓

def load_file(local)
  load(local)
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