2016-09-20

http://anond.hatelabo.jp/20160919121645

内容によりけりだけれど、よくやるリファクタリングの例を紹介しておきます

// したいことは英語でいい名前をつける
void したいこと(){
  // したいこと
}

if( param==0 && 判定(param2) ){
  したいこと();
}else if( !param3 ){
  したいこと();
}

ただし、こういう複雑で奇妙な条件分岐がここに入ってくる時点で設計面の問題があるのではないかと感じます

paramが0の時には何か例外的動作なのではないかとか、「したいこと」の中でさらに何度もparamたちを判定して汚いコードになっているのではないか、などです。

他にも指摘している人がいますが、リーダブルコードを読むのがいいと思います

  • トラバ全部読んでないけど、 boolean したいことをする? () { if( param==0 && 判定(param2) ){ return true; }else if( !param3 ){ return true; } return false; } if(したいことをする?()) { し...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん