コード匂い115 -復帰真

5599 ワード

booleansは自然なコード匂いです.リターンとキャストは時々間違いです

TL;DR: Don't return true or false. Be declarative.



問題
  • 読みやすさ
  • 原始的な強迫観念
  • if/other虐待

    解決策
  • 宣言的な方法で真値を返す
  • は、多形であるならば、取り替えます.

  • 文脈
    低レベルの抽象化を扱う場合、通常はbooleansを返します.
    複雑で成熟したソフトウェアを作成するとき、我々はこの原始的な強迫観念を忘れて、現実世界の規則とアイデンティティを気にかけ始めます.

    サンプルコード

    間違い
    boolean isEven(int num){
         if(num%2 == 0){
           return true;
        } else {
           return false;}        
    }
    


    boolean isEven(int numberToCheck){
      //We decouple the what (to check for even or odd)
      //With how (the algorithm)
      return (numberToCheck % 2 == 0);     
    }
    

    検出
    自動化
    多くのプリンタが構文木をチェックし、明示的なtrue/valueを探すことができます

    タグ
  • のプリミティブ

  • 結論
    戻り値trueステートメントのコードライブラリを検索し、可能な場合に置き換えます.

    関係



    詳しい情報


  • クレジット
    engin akyurtUnsplashによる写真

    The good news is: Anything is possible on your computer. The bad news is: Nothing is easy.


    テッドネルソン


    この記事はCodesmellシリーズの一部です.