テクノロジー

概念設計が、その後のコードの命運を左右する

1: nguyen-oi 2026/08/15 08:09

注文と履行を分ける具体例が分かりやすすぎる。これ理解してない設計に当たると地獄見るわ

2: mak_in 2026/08/15 08:15

実装のコストが下がった今、思想がより大事になるはず。そこまで理解できる開発者は少ない。指示を出せばできる、でも指示を言語化するには現実世界を観測する必要がある、観測から言語化にはフィルター≒思想がいる

3: revert 2026/08/15 08:35

とても同意できるし本当に大事だよね。一方で、適切な関心単位に分解することを思いつける人は経験的にはかなり少ない

4: uehaj 2026/08/15 09:55

概念設計=人工的なラングの分節というソシュール記号学の工学的応用。概念の正誤基準は現実との鏡像一致でなく実践での摩擦の少なさ。概念は経験の法廷に体系として問われ帳尻合わせが増えすぎた枠は改訂を迫られる

5: Magicant 2026/08/15 09:56

練習問題が良くできてる

6: tettekete37564 2026/08/15 10:20

“概念を正しく切り分けると、それまで「注意して防ぐ」必要があったバグが、そもそも発生しにくくなる。” < これな。ロジックではなくシステムや構造で解決するのが優秀なエンジニアに必要な素養だと思っている

7: Eiichiro 2026/08/15 10:26

概念設計の大事さは、その通り。 ただこの仕様だと、暗黙の条件分岐になる、再配送と複数配送の区別が難しく、マイページや管理画面でどう見せるか?一番はOrderの変更反映がむずい。とかいろいろ課題がある。

8: mercenne 2026/08/15 10:40

開発者「OrderとFullfilmentを分けましょう。追加工数はかかります」 偉い人「そういう状況は起こらない想定だからやる必要なし」 (数ヶ月後) 偉い人「やっぱやって」

9: u_1roh 2026/08/15 11:01

例示がとても良い。AIに機能要件だけ渡してもこの手の「概念の切り取り直し」は提案してくれないよね。こういう設計はしばらくは人間の手に残るんじゃないかなぁ。

10: north_korea 2026/08/15 11:03

個人開発だととりあえず作ってみて、設計し忘れた概念に気づいて既存コードを捨てて書き直すみたいな事がコーディングエージェントのお陰でやりやすくなった

11: remonoil 2026/08/15 11:18

Amazonとかグローバル企業のシステムを観察するとこういったものが分割されていることが分かる

12: FreeCatWork 2026/08/15 11:19

設計で迷走したらボクが猫パンチで軌道修正してあげるにゃ。任せてにゃ!

13: yarumato 2026/08/15 11:19

“現実世界では何も複雑なことは起きていない。受注担当は1個の注文を受け、1回目の配送では破損が起き、配送担当は2回届けた。受注と出荷を別と認識していれば、Orderに二つの意味を持たせずとも現実をそのまま表現”

14: manimoto 2026/08/15 11:39

Fulfillmentの概念すごい。自分ならShippingStatusを1対多に切り出すまでしか浮かばない気がする/「AIが考えてくれる」論あるが、正直初見でFulfillment出してきたら「複雑だからOrderのみで書き換えて」という人多いのではと思う

15: sgo2 2026/08/15 11:42

一見YAGNIの「実際に必要となるまで機能を追加しない方が良い」と相反する様に見えるけど、土台の設計とその上に乗る機能を混同してはいけない

16: raitu 2026/08/15 12:00

現状を正しく把握し抽象概念化してシステムに落とし込む大切さについて

17: Nihonjin 2026/08/15 12:01

「Jackson, D. (2023). 優れたデザインにとってコンセプトが重要な理由」「Alexander, C. (2013). 形の合成に関するノート/都市はツリーではない」「他に、Emacs Lisp や Clojure に触れてきたことも良かったように思う」

18: nakag0711 2026/08/15 12:05

際限なく細かくなっていくから結局はどこまで必要そうか未来予想するしかないしそれは完全には当たらない

19: Hideshi 2026/08/15 12:11

「二つの世界線の違いは、再配送機能の実装力ではない。システムの中に何という概念を置いたか。もっと言えば、現実の出来事をどういう概念で捉えたか。その違いである。」

20: peketamin 2026/08/15 12:21

なるほどー!

21: awaytabi 2026/08/15 12:53

それって概念設計ではなくモデリングでは?

22: moronbee 2026/08/15 13:14

概念設計とネーミングは本当に大事。ただ上手い人程ドヤらないし上手くやる程自然に見えるので、その洗練さに気づかれにくい

23: masa8aurum 2026/08/15 14:11

よい記事。 ・概念を適切に認識して用語を定義して、使っていくこと。それに適切な名前をつけること。これによってその後のシステムの命運がまるで変わる

24: ducky19999 2026/08/15 15:07

Analysis Patterns

25: chess-news 2026/08/15 15:40

それって、jisの定義で言葉を使ってるの? そういうのないの?

26: T-norf 2026/08/15 17:37

ソフトウェア開発は専門外で、ちょっとだけやる人種だけど、AIコーディングで気軽にプロトタイピングできるようになり、ここらへんのこうしておけば良かったが、ver1.0の実装で簡単に実現できてスッキリな今日この頃

27: toaruR 2026/08/15 19:35

初見だと、なんでこんなに面倒なことしてるんだろう?ってなりがち(ノ∀`)さーせん

28: hitotakuchan 2026/08/15 19:40

DDD の(戦術的設計ではなく)戦略的設計の部分がまさにこの内容。そして DDD の書籍でも戦略的設計が重要だと書いてある。

29: wkpn 2026/08/15 20:27

“局所的な修正で問題を解決できる場合でも、 「なぜこの特殊ケースが必要になったのか」を一段上の抽象度で検討してください”と設定ファイルに書いておけばAIに概念設計まで頼めそうなので試したい。

30: odan3240 2026/08/15 20:38

めちゃわかる。これをするためにドメインへの学習の姿勢を続けたい あと後から必要な概念に気付いたときにリファクタリングでその概念を用意してから新機能実装に入るのが好き

31: ryunosinfx 2026/08/16 06:06

戦略での失敗はいかなる優れた戦術でも取り返すことは難しい問題か…

32: pchatsu 2026/08/16 08:00
33: akahmys 2026/08/16 09:34

世の中のルールなんかにも当てはまるよね。基本的なところをちょっと変えればスッキリするのに、後付け後付けでややこしくなってること。

34: nilab 2026/08/16 11:26

設計で気づければいいけど現実的には気づいたときにリファクタできるといいなぁと。「両者は同じ注文について話している。しかし、頭の中で操作している概念は同じではない」「「それしかない」洗練された名前」

35: mkusaka 2026/08/16 17:21

OrderとFulfillmentを分け、0円の疑似注文を回避。配送statusは分離し新仕様も自然に対応できる設計論。