共有
  • 記事へのコメント28

    • 注目コメント
    • 新着コメント
    その他
    honma200
    変化を予め予測した設計、拡張可能なようにするためにこう作るんだろうけど、自分みたいなのが使うとどこまでValueObjectにしていいか分かんなくなる奴だよね

    その他
    kazuau
    要件定義で業務担当と夏季は条件こそ違うが割引自体の仕様は通常と同じって合意が(間違って)されてしまっているからこそこういうコードになのでは。どちらに倒すにせよ開発者が勝手なことしちゃ駄目だよねと。

    その他
    ssids
    仕様を帰納的に抽象化するならば上位概念を作るべきで、似ている横に雑に寄せてはいけない的な

    その他
    iwasiman
    爆殺のタイトルでミノ駆動さんの記事と思ったらそうだった。解説も丁寧です。

    その他
    yarumato
    “まず定価を考えます。単なるint型変数と定義すると容易に不正値を代入できて正常動作に責任を持てない。オブジェクト指向におけるクラスは、インスタンス変数を正常に制御するメソッド (←ココ重要)を持つのが基本”

    その他
    okzk
    ダメな例がSRPには違反していないように見える。夏季割引仕様が「通常割引に加えて〇〇する」だったら実装としては正しいかもだし、そうじゃなければ流用すべきでないロジックを流用してバグったというだけで。

    その他
    otchy210
    この割引の例だと、唯一の DiscountManager クラスに割引に関する責任を全て与え、外部から割引ルールを指定するように作りたくなるな。新たなキャンペーンの度にクラスが増えるのはちょっと。

    その他
    youko03
    “単一責任原則を遵守するには、ビジネス理解が必須。 ビジネス理解が浅いと細かな概念の違いを区別できなくなる。 概念の違いを区別できないとロジックレベルで密結合になりがち。 ビジネス理解と概念分析には、ドメ

    その他
    tettekete37564
    この概念が理解できていない新人とかに読ませるのに良さげ。

    その他
    blueeyedpenguin
    クソコード書くの楽しそう

    その他
    kotetsu306
    クソコードでは「getDiscountPrice」と英語的に変な名前だったのが、改善コードでは「DiscountedPrice」にさりげなく直してあるの好き

    その他
    katariya0116
    あ、Javaってコンストラクタで例外投げて良いんだ……と思ったC++er

    その他
    itotto
    [雑記[開発]

    その他
    su_zu_ki_1010
    こういう視点は保守運用をやってないと出てこないよなぁ。開発だけして終わり、だと動けばええんねん!なスタイルになるので。

    その他
    Wafer
    読みづらくて目が滑った

    その他
    aukusoe
    “名前は点ではなく範囲 であることです”

    その他
    volx
    “ビジネスへの関心が薄く理解が浅いと単一責任設計が困難“、"単に仕様通りに動くだけのコードを書くのは論外。仕様書には現れないビジネス概念は、意外なほど沢山あります。" ここが刺さりまくって泣いちゃった…

    その他
    yo_waka
    "ビジネスに関心がないと単一責任設計が困難" 分かる

    その他
    kazkun
    ちょっと面白そう。でもこれでもまだビジネスの実装の泥臭さが足りないな。

    その他
    nakag0711
    このケースはむしろビジネス上の方針変更があったということなので、当初の設計はその時点の判断としては間違ってない気がするな

    その他
    hiroaki256
    それは文脈、意味合いが違っていたからです。 「300円割り引く」仕様が最初たまたま同じであっただけで、あれらは 通常割引金額 夏季限定割引金額

    その他
    tkrd
    http://blog.cleancoder.com/uncle-bob/2014/11/24/FPvsOO.html

    その他
    NOV1975
    まあ、最初からこうなることは少ない気もする。

    その他
    peketamin
    "概念が違えばDRYにすべきではないのです" それそれ。

    その他
    password1234
    重箱の隅をつつくようだけどMIN_AMOUNT = 0 とする無駄な定数化は好きではないな

    その他
    buhoho
    こういう型指定で外堀埋めるようガチガチに作れるのがオブジェクト指向のいいところだったなって、改めて勉強になった

    その他
    iekusup
    ほー。

    その他
    rgfx
    お、クソコード動画の人か

    その他

    注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

    アプリのスクリーンショット
    いまの話題をアプリでチェック!
    • バナー広告なし
    • ミュート機能あり
    • ダークモード搭載
    アプリをダウンロード

    関連記事

    単一責任原則で無責任な多目的クラスを爆殺する - Qiita

    この記事は クラウドワークスアドベントカレンダー2020 8日目の記事です。 概要 こんにちは、クソコード...

    ブックマークしたユーザー

    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

    同じサイトの新着をもっと読む

    いま人気の記事

    いま人気の記事をもっと読む

    いま人気の記事 - テクノロジー

    いま人気の記事 - テクノロジーをもっと読む

    新着記事 - テクノロジー

    新着記事 - テクノロジーをもっと読む

    同時期にブックマークされた記事

    いま人気の記事 - 企業メディア

    企業メディアをもっと読む