LoginSignup
0
0

More than 5 years have passed since last update.

引数の削除(Remove Parameter)

Posted at

image.png

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

目的

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

基本作業サイクル

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

引数の削除(Remove Parameter)とは

メソッド本体が引数を使わなくなり、引数を削除するもの
引数の追加の逆

ポイント

  • 必要じゃなくなったものは消す。
  • インスタンス変数として扱うべきでないか検討する
  • 同じシグネチャのメソッドが存在しないか確認する(同じように削除する必要がある可能性がある)

def setting(url, id, password, date, logger)
  @date = date
  @logger = logger
  login = {
    url: url,
    id: id,
    password: password
  }
end

   ↓

def initialize(url, id, password, date, logger)
  @date = date
  @logger = logger
end

def setting(url, id, password)
  login = {
    url: url,
    id: id,
    password: password
  }
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