X



スモールオブジェクトプログラミングってむずくね??
■ このスレッドは過去ログ倉庫に格納されています
0001以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/03/16(水) 18:34:40.019ID:uuihp93I0
これ本当にプログラムが書きやすくなるとは思えんのだけど…
OOP意識しすぎるとドツボにハマる
0002以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/03/16(水) 18:36:27.385ID:ZjTNaWO80
聞いたことないな
0003以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/03/16(水) 18:38:34.427ID:uuihp93I0
いやまあ普通のオブジェクト指向プログラミングなんだけど
とにかくクラスを小さくせよ、という
メソッドは全て1インデント1分岐3行以内、クラスは全て50行以内
0004以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/03/16(水) 18:42:14.507ID:ZjTNaWO80
>>3
それをスモールオブジェクトっていうのか
実際SOLIDの原則に沿ってやっていくとそうなるけど最初から細かく分割しようとするのって普通にアンチパターンだしどうなんだろ
0005以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/03/16(水) 18:43:49.640ID:uuihp93I0
最初適当に書いて後からリファクタリングするのが良いって事?
趣味でやってるから最初書いたのが動けば満足してしまいそうだ
0006以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/03/16(水) 18:46:03.872ID:ZjTNaWO80
>>5
大きく書いてから共通部分の切り出しやらないと密結合になりがち

基本はある程度の大きさの粒度でやって共通部分を見出しながら切り出していく

簡単に見えてこれが一番難しかったりする
0007以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/03/16(水) 18:50:45.100ID:uuihp93I0
なるほど
最初の大枠を書く時点で苦労してる場合はスモールオブジェクトプログラミングは有効な手法じゃなかったのか…
じゃあクラス図とかも大まかに書いて後から修正って感じになるのかな
0008以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/03/16(水) 18:55:41.467ID:uuihp93I0
初手に有効な方法はなんだろう
擬似コードやフローチャートかな?
それで必要な情報を洗い出すとか…
0009以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/03/16(水) 18:56:44.773ID:NXMCaKJmd
めちゃめちゃ抽象的なコードを書くってこと?
0010以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/03/16(水) 18:58:07.029ID:uuihp93I0
>>9
まぁそうなるな
小さい処理のまとまりに名前をつける事を何重にもやれば最終的にかなり抽象的になる
0011以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/03/16(水) 18:59:20.248ID:uuihp93I0
これの良いところはコメントゼロでも処理内容が丸わかりになる所かもね
コードがドキュメントそのものみたいな
0012以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/03/16(水) 19:00:34.211ID:NXMCaKJmd
なんか難しそう
ある程度まとまりが無いと自分が今なんの処理を書いてるかわからなくなりそう
0013以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/03/16(水) 19:05:22.562ID:uuihp93I0
うむ
自然に思い浮かぶ「物」が完全にクラスと1対1対応してくれてると助かるんだけど
時として自然な切り分けだと巨大なクラスになる事がある
これだと途中から何書けばいいか分からなくなったりする
そこで自然ではないモノもクラスにして切り分ける必要があるけど、これがOOPの難しさなんだろうと思う
スモールOOPだと大量に不自然なモノが導入されるので難しさは数段上がりそう
0014以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/03/16(水) 19:06:34.068ID:uuihp93I0
結論としては、不自然なモノのクラス化は節度を持ってやる事にしようと思います…
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況