タグ

ブックマーク / y-nakanishi.hatenadiary.org (2)

  • れすぽんしびりてぃ - Return to Saisse’s Wiki

    何らかの状態を残すと何故、SingleResponsibilityに反するのか、そこがよく理解できていません。 加えて、「ガード節による入れ子条件記述の置き換え」というリファクタリングを適用すると、 メソッドの動作仕様には変化ないのに、なぜ、SingleResponsibilityに反してしまうのか、 という点が疑問です。 ものすごく簡単に書くと↓のどちらかって事だと思うのですが、このレベルではSingleResponsibilityは関係ないです。なぜなら十分に単純なので何かかが埋まっている可能性がないからです。もし、何かが埋まっているようならその実装は2つ以上に分けられる可能性が高いのでSingleResponsibilityに違反している可能性も高いということです。 public boolean hoge() { boolean result = false; if(someStat

    れすぽんしびりてぃ - Return to Saisse’s Wiki
    rryu
    rryu 2009/02/25
  • 途中でreturnの続き - Return to Saisse’s Wiki

    http://d.hatena.ne.jp/Isoparametric/20090122/1232633359 あー、やっぱり。予想通り「ながら」処理の典型的なのが出てきました。「ながら」処理というのは複数の事を一度に実行しようとする実装です。 「ステータスを変更する必要があるかどうか?」を判断しながら「遷移先のステータスを決め」ながら「ステータスを変更する」という。わかりやすく言えば、一輪車に乗りながら頭にボールを乗せてバランスを取りながら焼きそばをべるという必要性がほとんど説明できないコード。 困った事にC言語系だとこれが普通なんですが、こいつが多くのメンテナンス不能なコードとバグを生み出しているフリーザ級の悪の親玉。 リンク先のコードはエントロピーが低い状態だと確かに問題はないんだけど、ある程度の複雑さの増加が予想できる箇所では無視できない問題になります。 一つ目はSingleRe

    途中でreturnの続き - Return to Saisse’s Wiki
    rryu
    rryu 2009/02/09
  • 1