雑談スレ
前スレ
プログラマの雑談部屋 ★273
https://medaka.5ch.net/test/read.cgi/prog/1681225229/
探検
プログラマの雑談部屋 ★274
■ このスレッドは過去ログ倉庫に格納されています
1仕様書無しさん
2023/04/17(月) 19:11:47.99724仕様書無しさん
2023/04/22(土) 09:58:40.75 みんな手続き型に戻る
時代はREST
オブジェクト志向は間違いだった
時代はREST
オブジェクト志向は間違いだった
726仕様書無しさん
2023/04/22(土) 10:01:33.95 正しいオブジェクト志向はExcelVBAだけ
データに処理がついてる
データに処理がついてる
727仕様書無しさん
2023/04/22(土) 10:01:46.97 オブジェクト指向が間違いとされる理由は、
できるヤツにしかできないから。
属人化しやすいからコストダウンにはつながらない。
できるヤツにしかできないから。
属人化しやすいからコストダウンにはつながらない。
728仕様書無しさん
2023/04/22(土) 10:02:20.00729仕様書無しさん
2023/04/22(土) 10:02:29.72 ExcelVBAでオブジェクト指向で書かんといかんなんて意識したことない
730仕様書無しさん
2023/04/22(土) 10:05:22.90 セル一つ一つが明らかにオブジェクトなのに意識しなくてええなんてむしろ理想的やん
731仕様書無しさん
2023/04/22(土) 10:05:36.84 「このソースをオブジェクト指向にしてください」って
ChatGPTにやってもらえばいいんじゃね?
ChatGPTにやってもらえばいいんじゃね?
732仕様書無しさん
2023/04/22(土) 10:06:26.32 もう古い宗教の話をするな
733仕様書無しさん
2023/04/22(土) 10:06:47.21 動的型付けなのにDimで変数宣言を強要してくる実に面倒くさいVBAさん
735仕様書無しさん
2023/04/22(土) 10:08:49.75 今どき、オブジェクト指向なんて言わなくても
オブジェクトだらけじゃんw
オブジェクトだらけじゃんw
737仕様書無しさん
2023/04/22(土) 10:11:21.38 Smalltalk とか過去のものかな
738仕様書無しさん
2023/04/22(土) 10:12:15.40 VBAはオブジェクト指向だから使いやすいんじゃん
オブジェクト無かったらどんだけ覚えること増えると思ってんのよ
意識してないかもしれんけどプロシージャもほとんどイベント書いてるだけだろ
オブジェクト無かったらどんだけ覚えること増えると思ってんのよ
意識してないかもしれんけどプロシージャもほとんどイベント書いてるだけだろ
739仕様書無しさん
2023/04/22(土) 10:14:55.85 ひととれんけいできない
740仕様書無しさん
2023/04/22(土) 10:20:44.61 好みのパラダイムが異なる人同士でチームを組むと大失敗する法則に名前をつけて業界で誰でも知ってるレベルに啓蒙したい
741仕様書無しさん
2023/04/22(土) 10:20:47.73 がんばったのに
742仕様書無しさん
2023/04/22(土) 10:24:18.78 とりあえずわかってることと言えば、
自分でブロック崩しやゲーム電卓などのチャチゲー作った際に、
これはオブジェクト指向で作っております、みたいなことは
とてもとても自分からは言えないな、恥ずかしくて。
自分でブロック崩しやゲーム電卓などのチャチゲー作った際に、
これはオブジェクト指向で作っております、みたいなことは
とてもとても自分からは言えないな、恥ずかしくて。
743仕様書無しさん
2023/04/22(土) 10:24:32.88 オブジェクト指向は設計手法だー
と何度言えば
思考でもいいわ 順々に処理してくと考えるな
機能単位で処理を分ける考えだけでもいいから持っとけ
と何度言えば
思考でもいいわ 順々に処理してくと考えるな
機能単位で処理を分ける考えだけでもいいから持っとけ
746仕様書無しさん
2023/04/22(土) 10:30:31.96 OOPやデザインパターンの目的はカプセル化による分割統治であってOOPやパターン自体が目的になってはいけない
分割統治する必要がない(将来の変更が少ない/分割統治しなくても設計/テスト時の負担が低い)なら別に適用せんでもよろしい
DDDで全部メッセージングでやりましょう、みたいなポリシーで全部疎結合にしましょう、とか良いアイデアだとは思うけど若干手段先行してる感ある
分割統治する必要がない(将来の変更が少ない/分割統治しなくても設計/テスト時の負担が低い)なら別に適用せんでもよろしい
DDDで全部メッセージングでやりましょう、みたいなポリシーで全部疎結合にしましょう、とか良いアイデアだとは思うけど若干手段先行してる感ある
747仕様書無しさん
2023/04/22(土) 10:33:14.10 おまえら生産性のない話はすぐ夢中になるな
748仕様書無しさん
2023/04/22(土) 10:33:59.46 統治する立場なんてなったこともないくせに
749仕様書無しさん
2023/04/22(土) 10:34:43.97 石原莞爾かおのれは
750仕様書無しさん
2023/04/22(土) 10:34:49.57 だってお
今の現場クソでお
PGの頭に全部DB_connectって書いてあんだよ
クソコード製造機のワイでも目を覆いたくなる惨状!!
今の現場クソでお
PGの頭に全部DB_connectって書いてあんだよ
クソコード製造機のワイでも目を覆いたくなる惨状!!
751仕様書無しさん
2023/04/22(土) 10:39:08.99 おじさん「ひと目でわかって良いじゃん!」
752仕様書無しさん
2023/04/22(土) 10:39:40.41 ポイントテーブルからポイントが1000ポイント以上残ってる情報を読んで、
半年間利用の無いユーザをユーザーテーブルから読んで、ユーザーの年齢が60歳以上で、住んでる地域が、⚪︎×市の場合に、買い物実績テーブルに買い物実績があるユーザーを画面に一覧表示して、ボタンを押したらAマーケットでポイント利用促進の案内をSMSで通知する
みたいな処理って、いちいちオブジェクト思考で考えないで、手続き型でダラダラ書くよね
半年間利用の無いユーザをユーザーテーブルから読んで、ユーザーの年齢が60歳以上で、住んでる地域が、⚪︎×市の場合に、買い物実績テーブルに買い物実績があるユーザーを画面に一覧表示して、ボタンを押したらAマーケットでポイント利用促進の案内をSMSで通知する
みたいな処理って、いちいちオブジェクト思考で考えないで、手続き型でダラダラ書くよね
753仕様書無しさん
2023/04/22(土) 10:40:44.91 いや、先ず言語は何だよ
754仕様書無しさん
2023/04/22(土) 10:42:28.49 データベースならデータベース言語使うだろ
755仕様書無しさん
2023/04/22(土) 10:42:46.84 言語? Javaで十分だろ。
オブジェクト指向対応って謳ってるようだし。
オブジェクト指向対応って謳ってるようだし。
756仕様書無しさん
2023/04/22(土) 10:44:05.80 pyてょん
757仕様書無しさん
2023/04/22(土) 10:45:38.11 >>755 ← この人解ってるわ
そうオブジェクト指向対応言語なんだわな
そうオブジェクト指向対応言語なんだわな
758仕様書無しさん
2023/04/22(土) 10:47:21.85 >>752
嘘だろ?
列挙する、表示する、広告を送る、の少なくとも三つに分けるだろ
その三つだけなら関数でもいいけど大きなシステムだとスパゲティ化を防ぐために構造化しないと保守性墜落すんじゃん
これだから土方は
後釜のことまで考えてコーディングしないからいつまで経っても評価上がらないんだぞ
嘘だろ?
列挙する、表示する、広告を送る、の少なくとも三つに分けるだろ
その三つだけなら関数でもいいけど大きなシステムだとスパゲティ化を防ぐために構造化しないと保守性墜落すんじゃん
これだから土方は
後釜のことまで考えてコーディングしないからいつまで経っても評価上がらないんだぞ
760仕様書無しさん
2023/04/22(土) 10:48:44.20 データベース が デーブスペクター に見えたから休もう
761仕様書無しさん
2023/04/22(土) 10:50:20.41 >>744
手続き型もそうじゃん、関数で分ければいいじゃん
手続き型もそうじゃん、関数で分ければいいじゃん
762仕様書無しさん
2023/04/22(土) 10:50:32.51 なぜ書けないんだよw
列挙メソッドを持つモデルクラス(他にも多くのメソッドがある)
表示を受け持つビュークラス
メッセージを送るモデルクラス
列挙メソッドを持つモデルクラス(他にも多くのメソッドがある)
表示を受け持つビュークラス
メッセージを送るモデルクラス
763仕様書無しさん
2023/04/22(土) 10:54:37.78 OOPとかけまして、プログラマーの日常とときます
そのこころは、クラスを書いて暮らすでしょう
そのこころは、クラスを書いて暮らすでしょう
764仕様書無しさん
2023/04/22(土) 10:56:02.61 えっ、クラスをかいてコード組むことかオブジェクト思考なの
765仕様書無しさん
2023/04/22(土) 10:56:10.08 どっちに転んでも悪くなるやつだという強い予感があった
766仕様書無しさん
2023/04/22(土) 10:56:19.26 ていうかユーザー一覧画面を処理ごとに作ってるのかよ
うわぁ。。。
うわぁ。。。
767仕様書無しさん
2023/04/22(土) 10:56:59.17 ね
なんで業務用システムを
毎回毎回1から作ってるのか
なんで業務用システムを
毎回毎回1から作ってるのか
769仕様書無しさん
2023/04/22(土) 10:58:37.30 >>762
その列挙メソッドを持つクラスってのは、少なくとも3つのテーブルから情報を取得して情報をフィルタして結果を返すラッパークラスだろ
しかも、よっぽどうまく設計しないと、この処理でしか使えないという
そして、本人は上手く設計したつもりでも、他のチームメンバーからは誰からも利用されることのないボッチクラスになる可能性が高い
この程度の処理は、インターフェースとかクラスとか使って無駄に複雑に書かれるより、手続き型で素直に書かれてた方がメンテもしやすかったりするんだよなぁ
その列挙メソッドを持つクラスってのは、少なくとも3つのテーブルから情報を取得して情報をフィルタして結果を返すラッパークラスだろ
しかも、よっぽどうまく設計しないと、この処理でしか使えないという
そして、本人は上手く設計したつもりでも、他のチームメンバーからは誰からも利用されることのないボッチクラスになる可能性が高い
この程度の処理は、インターフェースとかクラスとか使って無駄に複雑に書かれるより、手続き型で素直に書かれてた方がメンテもしやすかったりするんだよなぁ
770仕様書無しさん
2023/04/22(土) 11:00:30.92771仕様書無しさん
2023/04/22(土) 11:01:09.11772仕様書無しさん
2023/04/22(土) 11:01:15.17 クラスのインヘリタンスがどうのこうのなんだよ
774仕様書無しさん
2023/04/22(土) 11:03:19.88 パッケージ(bootstrap)
775仕様書無しさん
2023/04/22(土) 11:03:35.89 >>752
ユーザーリポジトリクラス
ポイント数でユーザー検索する仕様を表現するクラス
半年利用がないでユーザー検索する仕様を表現するクラス
年齢が60〜◯×市って条件を判定するポリシークラス
買い物実績でユーザー検索する仕様を表現するくらす
SMSを送信するクラス
Aマーケットでポイント利用促進の案内メッセージを作るクラス
ユーザーリポジトリクラス
ポイント数でユーザー検索する仕様を表現するクラス
半年利用がないでユーザー検索する仕様を表現するクラス
年齢が60〜◯×市って条件を判定するポリシークラス
買い物実績でユーザー検索する仕様を表現するくらす
SMSを送信するクラス
Aマーケットでポイント利用促進の案内メッセージを作るクラス
776仕様書無しさん
2023/04/22(土) 11:04:47.62777仕様書無しさん
2023/04/22(土) 11:04:51.25 えーあー工場があって車があってタイヤがあるのがオブジェクト至高
778仕様書無しさん
2023/04/22(土) 11:05:29.35 なんかいいソフト思いつきませんか
犬の餌みたいに与えられる業務案件はもういやだ
犬の餌みたいに与えられる業務案件はもういやだ
779仕様書無しさん
2023/04/22(土) 11:05:33.04 >>758
世の中にはUIからのアクションごとに実質一つの関数でまかなう書き方する会社がごまんとあるんやで
ユーザdtoやポイントdtoにvo的な60歳以上や1000ポイント以上みたいな判定プロパティは持たせても、メインの処理は一本手続きや
世の中にはUIからのアクションごとに実質一つの関数でまかなう書き方する会社がごまんとあるんやで
ユーザdtoやポイントdtoにvo的な60歳以上や1000ポイント以上みたいな判定プロパティは持たせても、メインの処理は一本手続きや
784仕様書無しさん
2023/04/22(土) 11:08:00.46 Dtoは構造体だよ
787仕様書無しさん
2023/04/22(土) 11:08:49.85 >>779
アクションはUIからデータを取り出して最小限の入力チェックを行い、サービスを呼び出し、サービスの戻り値をUIに書き戻すだけ、だって教わらないのかね?世の中の平均的プログラマってさ
アクションはUIからデータを取り出して最小限の入力チェックを行い、サービスを呼び出し、サービスの戻り値をUIに書き戻すだけ、だって教わらないのかね?世の中の平均的プログラマってさ
789仕様書無しさん
2023/04/22(土) 11:09:57.99 プログラミング言語なんて1,2つでよくて契約とるところから一人でできることのが大事
790仕様書無しさん
2023/04/22(土) 11:10:46.19791仕様書無しさん
2023/04/22(土) 11:11:03.63 ファンクションキー毎に200行くらいあって
内容がほとんど同じで、キーによって微妙に違う所がある
そんなコピペ方式の実装を見たことがある
内容がほとんど同じで、キーによって微妙に違う所がある
そんなコピペ方式の実装を見たことがある
792仕様書無しさん
2023/04/22(土) 11:11:04.09 何万件ものデータ扱うならDBとか意味あるけど
たかだかすうひゃ
たかだかすうひゃ
794仕様書無しさん
2023/04/22(土) 11:15:07.24 >>787
そりゃ世間はコントローラアクションからドメインクラスを呼び出すのが作法になってるからだが、はっきり言ってトランザクションスクリプトしてるとボイラーテンプレートだしな。
まあ実際にはサービスクラスpublicメソッド呼び出しにaopしてるからコントローラはその呼び出しになってるけど
そりゃ世間はコントローラアクションからドメインクラスを呼び出すのが作法になってるからだが、はっきり言ってトランザクションスクリプトしてるとボイラーテンプレートだしな。
まあ実際にはサービスクラスpublicメソッド呼び出しにaopしてるからコントローラはその呼び出しになってるけど
796仕様書無しさん
2023/04/22(土) 11:16:08.57 >>783
俺のはDDDに忠実な、スタンダードな設計
DDDをよく理解せずに、リポジトリとかサービスって、言っとけばいいんだろ?
みたいな、浅い理解の仕方だと、仕様とか、ポリシーといった概念が抜け落ちて、しまうんだ
すると、リポジトリにやたら複雑な検索を実行するメソッドとか、同じ条件判定が、あちこちにコピーされる、といった、なんとも残念な、エセDDDになってしまう
俺のはDDDに忠実な、スタンダードな設計
DDDをよく理解せずに、リポジトリとかサービスって、言っとけばいいんだろ?
みたいな、浅い理解の仕方だと、仕様とか、ポリシーといった概念が抜け落ちて、しまうんだ
すると、リポジトリにやたら複雑な検索を実行するメソッドとか、同じ条件判定が、あちこちにコピーされる、といった、なんとも残念な、エセDDDになってしまう
797仕様書無しさん
2023/04/22(土) 11:16:44.04 ユーザクラスを生成してポイントと
履歴をテーブルから取得でええんじゃね?
よくあるパターンだとserviceで判定してactionにSMS通知フラグを
返しやるみたいな
履歴をテーブルから取得でええんじゃね?
よくあるパターンだとserviceで判定してactionにSMS通知フラグを
返しやるみたいな
800仕様書無しさん
2023/04/22(土) 11:18:44.21 みんな家に引きこもってないで出かけなさーい
801仕様書無しさん
2023/04/22(土) 11:19:00.28802仕様書無しさん
2023/04/22(土) 11:20:17.82 >>786
ううむ、バッドプラクティス
そのまま進むと、リポジトリの責務が際限なく膨らみ、様々なビジネスロジックの置き場と化す
悪いことはいわん、お若いの
リポジトリはシンプルに保つのじゃ
なお、CQRSで割り切って、短いキャンペーンの間なら、表示までは、テキトーなSQLでええやろ、ならおk
ずっと残すものは、綺麗に作れ。これ大事
ううむ、バッドプラクティス
そのまま進むと、リポジトリの責務が際限なく膨らみ、様々なビジネスロジックの置き場と化す
悪いことはいわん、お若いの
リポジトリはシンプルに保つのじゃ
なお、CQRSで割り切って、短いキャンペーンの間なら、表示までは、テキトーなSQLでええやろ、ならおk
ずっと残すものは、綺麗に作れ。これ大事
804仕様書無しさん
2023/04/22(土) 11:20:32.69806仕様書無しさん
2023/04/22(土) 11:23:23.63 マイクロサービスはそうするよ
という肯定意見がないのでこのスレはその程度なのだろう
という肯定意見がないのでこのスレはその程度なのだろう
807仕様書無しさん
2023/04/22(土) 11:23:25.89 何万件ものデータ扱うならDBとか意味あるけど
たかだか数百件扱うのに導入する意味が分からないよ
たかだか数百件扱うのに導入する意味が分からないよ
808仕様書無しさん
2023/04/22(土) 11:24:25.32809仕様書無しさん
2023/04/22(土) 11:24:32.70 条件をオブジェクトにするやつって複数のキャンペーンにどう対応するんだろう
全部クラス化するのか?
全部クラス化するのか?
810仕様書無しさん
2023/04/22(土) 11:24:50.59 数百件って条件は何処から出て来たんだよ
814仕様書無しさん
2023/04/22(土) 11:28:18.69 >>809
クラス化しても、後でそれでカバーできない条件ってのが絶対出てくるから、クラスの書き直し、それに依存してるコードの修正、そしてテストも失敗するから、大量のテストの修正ってパターンだな
クラス化しても、後でそれでカバーできない条件ってのが絶対出てくるから、クラスの書き直し、それに依存してるコードの修正、そしてテストも失敗するから、大量のテストの修正ってパターンだな
815仕様書無しさん
2023/04/22(土) 11:28:56.78 DBにする理由は永続化でデータ件数とかより
こっちかなと
テキストとかCSVで保存すると排他制御とか
行単位では出来ないし、何がどれやら作った人にしか解らなくなる
こっちかなと
テキストとかCSVで保存すると排他制御とか
行単位では出来ないし、何がどれやら作った人にしか解らなくなる
816仕様書無しさん
2023/04/22(土) 11:28:59.08 検索条件の一つ一つをクラス化しなきゃいけないと思ってるやつは電卓を作るときはボタンの一つ一つを全部クラス化しなきゃいけないとか思ってそうだな
Value Objectを知らんのだな
Value Objectを知らんのだな
818仕様書無しさん
2023/04/22(土) 11:30:15.37 まあ、皆自分の経験で仕事の規模も類推してしまいがちで
そのため過度に大げさになったり、小さくまとまり過ぎる事もあるだろう
そのため過度に大げさになったり、小さくまとまり過ぎる事もあるだろう
820仕様書無しさん
2023/04/22(土) 11:33:59.36 結局、SQLで書きにくい条件は、一旦メモリに読み込んでコードでゴリゴリフィルターかけて抽出するって感じ?
で、ゴリゴリフィルター部分をオレオレクラスで華麗に設計すればいいのか
で、ゴリゴリフィルター部分をオレオレクラスで華麗に設計すればいいのか
821仕様書無しさん
2023/04/22(土) 11:35:50.21 10kmラン54m44s
用もないのに有明まで走ってきた
用もないのに有明まで走ってきた
823仕様書無しさん
2023/04/22(土) 11:36:55.05 >>801
もしかして、仕様クラスを理解してない
エンティティが満たすべき、条件を抽象化するためのクラスだよ
だから仕様っていうの
リポジトリは、渡された仕様を満たすエンティティを、検索するだけ、だから業務の事を知らなくていいので、スッキリ
仕様を満たす、エンティティだけが、メモリに読み込まれるので、メモリ効率も抜群
もしかして、仕様クラスを理解してない
エンティティが満たすべき、条件を抽象化するためのクラスだよ
だから仕様っていうの
リポジトリは、渡された仕様を満たすエンティティを、検索するだけ、だから業務の事を知らなくていいので、スッキリ
仕様を満たす、エンティティだけが、メモリに読み込まれるので、メモリ効率も抜群
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本は「核不拡散リーダー」 高官の保有発言で 米国務省 [ぐれ★]
- 「刑務所よりひどい」"切り身1切れ"の小学校給食に保護者絶句 給食無償化でさらなる予算削減も [少考さん★]
- NY円、一時157円台半ばに下落 日銀総裁の利上げ慎重姿勢を警戒 ★2 [蚤の市★]
- 日本は「核不拡散リーダー」 高官の保有発言で 米国務省 ★2 [ぐれ★]
- 【物価高騰】「クリスマスケーキを用意できない」が7割超 炊き出しにも長蛇の列 生活困窮者に厳しい年の瀬が到来 ★2 [ぐれ★]
- 【北海道】人口500万人割れ 1957年以来 少子高齢化 若者の道外流出進む [ぐれ★]
- 高市政府、外国人の日本語教育ルール習得へ。こういうのでいいんだよ [237216734]
- 【実況】博衣こよりのえちえちドラクエ1&2リメイク🧪
- 「なぜあの戦争を避けられなかったか」 今ならわかりますよね 結局、国民がホルホルと被害妄想でノリノリ天国だったんです [452836546]
- 文科省「教員のなり手がいないどうしよう…そうだ!教員免許取得のための単位を半分に減らそう!!」 [668970678]
- 【画像】JKさん、クラスメイトにあたシコしてしまう
- ワイが今までに経験した恋愛エピソードランキングwww
