リファクタリング


Yagniの例外クラスを作成する私たちの環境を汚染する.それらを取り除きましょう.

TL;DR: Remove unnecessary and not references empty exception classes.



問題点
  • Emptyクラス
  • の汚染された
  • 名前空間

    関連する匂い



    ステップ
  • 空の例外クラスへの参照はありません.
  • スロー文を一般的なものに置き換えます.

  • サンプルコード

    以前
    class RangeNotSatisfiedException < StandardError
    end
    
    begin
        raise RangeNotSatisfiedException.new "Range must be betweet 0 and 10"
    rescue RangeNotSatisfiedException => e
        puts e.message 
        puts e.exception_type 
    end
    
    
    

    アフター
    # 1. Check there are no references to the empty exception class.
    
    # 2. Replace the throw sentence with a generic one.
    
    begin
        raise StandardError.new "Range must be betweet 0 and 10"
    rescue StandardError => exception
        puts exception.message 
        puts exception.exception_type 
    end
    

    種類
    自動化
    例外クラスが参照を持たない場合は、例外クラスを使用して安全な削除と置換を実行できます.

    なぜコードがより良いですか?
  • 私たちは空のクラスを使いません.
  • 私たちはコード
  • を縮小します

    制限
    APIモジュールのドキュメントとして空の例外クラスを宣言する必要がある場合、クライアントはそれをキャッチする必要があります.
    これはgold platingYAGNIの例です.

    タグ
    クリーンアップ

    関連リファクタリング
  • 安全な削除

  • クレジット
    danielkirschからのPixabayによるイメージ
    この記事はリファクタリングシリーズの一部です.