プログラマの雑談部屋 ★376 (202レス)
プログラマの雑談部屋 ★376 http://medaka.5ch.net/test/read.cgi/prog/1762945137/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
112: 仕様書無しさん [sage] 2025/11/15(土) 19:37:20.13 テーブル数数百ってそんな増えるもんなの? http://medaka.5ch.net/test/read.cgi/prog/1762945137/112
113: 仕様書無しさん [sage] 2025/11/15(土) 19:38:46.31 というかそんなもの把握できるもんなの? http://medaka.5ch.net/test/read.cgi/prog/1762945137/113
114: 仕様書無しさん [sage] 2025/11/15(土) 19:39:30.90 すぐだぞ http://medaka.5ch.net/test/read.cgi/prog/1762945137/114
115: 仕様書無しさん [] 2025/11/15(土) 19:58:32.06 数百テーブルは無駄な設計してるわけじゃなければやばいな http://medaka.5ch.net/test/read.cgi/prog/1762945137/115
116: 仕様書無しさん [sage] 2025/11/15(土) 19:59:41.82 それくらいすぐだってば http://medaka.5ch.net/test/read.cgi/prog/1762945137/116
117: 仕様書無しさん [sage] 2025/11/15(土) 20:09:31.70 テーブルの天板が冷たい 手首保護のためそろそろシートを出そうと思うんだけど机の上が散らかってて困る そういう話ではない あそうですか http://medaka.5ch.net/test/read.cgi/prog/1762945137/117
118: 仕様書無しさん [sage] 2025/11/15(土) 20:10:15.18 そんなもんサービスの内容と規模によるだろ当然だけど http://medaka.5ch.net/test/read.cgi/prog/1762945137/118
119: 仕様書無しさん [] 2025/11/15(土) 20:17:49.13 >>117 クソデカマウスパッド敷いてるわ http://medaka.5ch.net/test/read.cgi/prog/1762945137/119
120: 仕様書無しさん [] 2025/11/15(土) 22:08:47.63 >>108 PHPのDoctrineというORMだとエンティティ(クラス)で変数を定義したすぐ上にコメントでどのエンティティを参照するとか多対1であるとか書いてアップデートコマンドを実行するとテーブルにカラムを追加したり外部キーを設定してくれたりする。 http://medaka.5ch.net/test/read.cgi/prog/1762945137/120
121: 仕様書無しさん [sage] 2025/11/15(土) 22:09:38.30 びっくりだ http://medaka.5ch.net/test/read.cgi/prog/1762945137/121
122: 仕様書無しさん [] 2025/11/15(土) 22:14:56.04 >>112 商品とか顧客とかはもちろんだけど何か意味のあるエンティティ(クラス、オブジェクト)を使おうと思ったらそれぞれが一つのテーブルになるからECのWEBシステムとか作ってたらあっという間に増える。もちろんマスタテーブルなんかも次々増えていくし。 http://medaka.5ch.net/test/read.cgi/prog/1762945137/122
123: 仕様書無しさん [sage] 2025/11/15(土) 22:19:06.06 サービスの性格次第だな 成長拡大してくタイプならどうしたってデータは汚くなってくし コードと同じでそりゃ誰だってできるだけきれいに設計したい だが現実、ビジネスがそれを許さない http://medaka.5ch.net/test/read.cgi/prog/1762945137/123
124: 仕様書無しさん [] 2025/11/15(土) 22:22:07.29 >>113 全部を隅から隅まで把握する必要もないと思う。一つのエンティティを取得したらそれに関連するエンティティは勝手にORMがJOINしてDBからロードしてくれるので。もちろん遅延ロードとかも設定できる。 どの変数がどのエンティティ(クラス=テーブル)を参照するかはORM用のコメントとして書いてあるのでひとつのクラスのソースを見ればそのクラスに関連するテーブルはすべてわかるし。 http://medaka.5ch.net/test/read.cgi/prog/1762945137/124
125: 仕様書無しさん [sage] 2025/11/15(土) 22:25:08.92 スパゲティコードなんていうけど、あんなのも根本はデータに原因がある場合がほとんどで、コードはそうした病的データに対する対症療法でしかない システム開発においてデータは将来を左右する http://medaka.5ch.net/test/read.cgi/prog/1762945137/125
126: 仕様書無しさん [sage] 2025/11/15(土) 22:26:34.56 きれいなコードになるデータ構成がどんなのかデータだけ見てわかるのか? http://medaka.5ch.net/test/read.cgi/prog/1762945137/126
127: 仕様書無しさん [sage] 2025/11/15(土) 22:29:45.41 最初は綺麗なんだよなぁ 頑張って設計したし でも追加機能やら改修やらで綺麗にするとソースコードの修正範囲が大きくなるからツギハギして行くうちにゴミ化して来る http://medaka.5ch.net/test/read.cgi/prog/1762945137/127
128: 仕様書無しさん [sage] 2025/11/15(土) 22:36:28.64 事業会社なんかはサービスの売り上げ、 (当然だけど)ビジネスありきであるわけだから、求められるのは巧遅よりも拙速であり、データは自然と継ぎ足しに コードはそうしたデータの尻拭い 結果としてのスパゲティ >>126 少なくとも上記のような環境でなけりゃデータの設計しっかりするでしょ http://medaka.5ch.net/test/read.cgi/prog/1762945137/128
129: 仕様書無しさん [sage] 2025/11/15(土) 22:39:03.74 ・時間によってバージョン切り替えするようなマスタをどうやって設計しますか? 開始時間と終了時間の両方をカラム含めさせますか? ビューを付けたほうがいいでしょうか? ・リカーシブな読み込み前提のテーブルを作ってもいいでしょうか?後々面倒はないでしょうか? ・レコードの版をどうやって管理しますか?結合するときに面倒はないでしょうか? ・論理削除使いますか?部分的に削除したのと、親ごと削除したのと区別が付きますか。削除した情報を見たいなんて要求があるとき、どうしますか? http://medaka.5ch.net/test/read.cgi/prog/1762945137/129
130: 仕様書無しさん [] 2025/11/15(土) 22:42:30.81 協力会社の技術力のあるエンジニアを信用して任せてたらその会社の他のプロジェクトが忙しくなってそちらに手を取られて、うちの仕事はそこの外注の初心者みたいなエンジニアに投げられてぐちゃぐちゃなコードを量産しまくられて挙句の果てに協力会社ごと逃げられたことがある。今でもその時のゴミコードでバグが発生してメンテする手間がかかっている。まぁその当時のうちの人間がすべてをレビューしてなかったのも問題だとは思うが(私はいなかったので知らん) http://medaka.5ch.net/test/read.cgi/prog/1762945137/130
131: 仕様書無しさん [sage] 2025/11/15(土) 22:43:40.69 今はAIが全てのベストプラクティスをご存知なのでまだいい 当時はひとつひとつが鬼門だった いや今でもサボったほうが楽なことが多くて後々地獄になる 簡単そうには見えるんだが 個々のSQLの膨らみ具合と こんなはずじゃない勢いのテーブル増加を見て怖気づく http://medaka.5ch.net/test/read.cgi/prog/1762945137/131
132: 仕様書無しさん [] 2025/11/15(土) 22:48:21.17 >>128 まさにその状態の真っ只中にいる。とにかく責任者が思いついたらその機能を2-3日みたいなスパンで投入しないといけないのでじっくり設計とかしている暇はない。いまこれリリースしたらトラブル可能性ありますよと言ってもとにかく機能が欲しい、トラブっても動かしながら直せばいいみたいな感じ まぁ結論としてはまともなエンジニアリングをしている会社で働こう!ということだなw http://medaka.5ch.net/test/read.cgi/prog/1762945137/132
133: 仕様書無しさん [sage] 2025/11/15(土) 22:51:46.60 うそです会社で設計したことない ジジイなので記憶が改竄されてた http://medaka.5ch.net/test/read.cgi/prog/1762945137/133
134: 仕様書無しさん [] 2025/11/15(土) 22:52:00.47 >>131 テーブルやSQLが複雑になってももう気にしなくてもよいのでは?自分で書く時代は終わってAIに任せておけば複雑なSQLも一瞬で仕上げてくれるんだし。必死で勉強して大量にSQL書いてきたけど、まったくもってAIの書くスピードとSQLの内容のスマートさにはかなわんわ http://medaka.5ch.net/test/read.cgi/prog/1762945137/134
135: 仕様書無しさん [sage] 2025/11/15(土) 22:54:25.35 ああそっか… 時代はかわったんだ… http://medaka.5ch.net/test/read.cgi/prog/1762945137/135
136: 仕様書無しさん [sage] 2025/11/15(土) 22:55:40.21 下剤効いて2kg出た http://medaka.5ch.net/test/read.cgi/prog/1762945137/136
137: 仕様書無しさん [sage] 2025/11/15(土) 22:57:31.70 なにもさせてもらえなかった 社会に影響を与えるチャンスは ことごとく足払いをかけられて潰されてきた http://medaka.5ch.net/test/read.cgi/prog/1762945137/137
138: 仕様書無しさん [sage] 2025/11/15(土) 22:58:56.11 >>132 まともなエンジニアリングしてる大手有名会社がそういう事してるからだよ MSとかAppleとかAWSとかGoogleとかMetaとかその他諸々 http://medaka.5ch.net/test/read.cgi/prog/1762945137/138
139: 仕様書無しさん [sage] 2025/11/15(土) 22:59:28.05 自分の状況は悪くはない 悪くはないが結局は社会に消されたんだ http://medaka.5ch.net/test/read.cgi/prog/1762945137/139
140: 仕様書無しさん [sage] 2025/11/15(土) 23:00:20.40 >>129 >時間によってバージョン切り替え バージョンによって、じゃなくてマスタ切り替えではなくて? >開始時間と終了時間の両方をカラム 判然とせんけどたぶんイエス >ビューを付けたほうがいいでしょうか? サービスによる >リカーシブな読み込み前提のテーブルを作ってもいいでしょうか? おつしるとおり軽々に取り入れるのではなく、運用上アンチパターン化することはないか設計時点で考えるべき >レコードの版をどうやって管理しますか? バージョンカラム? 危惧されている結合における面倒ごととは? >論理削除使いますか? >削除した情報を見たいなんて要求がある このユースケース、要望なら当然論理 物理、保持期間は要件次第 http://medaka.5ch.net/test/read.cgi/prog/1762945137/140
141: 仕様書無しさん [sage] 2025/11/15(土) 23:02:38.39 >>140 標準的な人間の回答をありがとう 見通しが立たなくてわからんから聞いてるんだが結局人間じゃこういう回答が返ってくるよな 当然だ AIなら http://medaka.5ch.net/test/read.cgi/prog/1762945137/141
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 61 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.012s