ていうか、プログラミングにクラスとかやっぱいらんよな?

サムネイル
1 : 2023/07/25(火) 09:48:36.682 ID:Rbv3/oQY0
Golang勉強してるけどクラスなんて概念ないしやっぱ俺の考えに間違いなかったか
オブジェクト指向とか頭悪いなって思ってた
2 : 2023/07/25(火) 09:50:46.026 ID:JMe5l8HOd
なくてもいいっちゃなくてもいいけど
あったらあったでやっぱ便利なんよなぁ
3 : 2023/07/25(火) 09:51:20.352 ID:4w18hj1C0
あった方が良い便利だよ
俺は使いこなせないが
4 : 2023/07/25(火) 09:52:08.694 ID:Rbv3/oQY0
あった方が直感的に書きやすいのはある
でもオブジェクト指向はスマートじゃないなと思ってた
5 : 2023/07/25(火) 09:55:23.402 ID:4w18hj1C0
クラスの方がスマートだよw
C++とかメイン部分数行とかに出来る
WinAPIとか叩けばわかるけど
初期化だけで100行とかになるけど
クラス使えば数行
6 : 2023/07/25(火) 09:56:53.506 ID:z4s/2aTb0
プログラムにとかプログラミング言語にとかならわかるけどプログラミングにってのはおかしい
7 : 2023/07/25(火) 09:57:34.367 ID:4w18hj1C0
まず関数化プログラミングの方がスマートに書ける
ただ複雑化する
更にクラスってのは関数と構造体を一緒にしたものだから更にスマートで便利
ただただたださらに複雑化して、設計が難解になる
13 : 2023/07/25(火) 10:05:49.324 ID:Rbv3/oQY0
>>7
それだけなら便利なんだよな
実際Golangにも構造体と関数をセットにする仕組みはある。

継承とか意味不明なことやってないで部品として1つのファイルで完結すべき

15 : 2023/07/25(火) 10:07:33.996 ID:4w18hj1C0
>>13
継承は10年前からネットで使わない方が良いって言ってる派閥が出てきて
増えてきてると俺は思ってる
ゲーム会社勤務してる人が
自分たちでは新しく書かないようにしてると言ってた
継承はやればわかるけどどんどん設計が複雑になっていく
8 : 2023/07/25(火) 09:58:15.287 ID:Rbv3/oQY0
クラスってもコンポーネント指向とかあるやん?俺そっちの方がオブジェクト指向より良いと思ってる派。

クラスAを継承したクラスBからクラスCを作ってクラスCからクラスDとEを作るとか頭おかしなるで

9 : 2023/07/25(火) 09:59:40.262 ID:kpK+0o1n0
他人の作った便利な機能を利用しやすい
10 : 2023/07/25(火) 10:00:28.999 ID:CFvcsscga
軽症があるからこそ便利
11 : 2023/07/25(火) 10:00:52.674 ID:4w18hj1C0
10年くらい前から継承は使わないってのが暗黙のルールになってきてる
複雑化する、設計もおかしくなる
14 : 2023/07/25(火) 10:07:09.295 ID:Rbv3/oQY0
>>11
やっぱり?
オブジェクト指向正義みたいなん気に入らなかったんだよなjavaと基本情報の学習してるときに。
16 : 2023/07/25(火) 10:08:49.305 ID:4w18hj1C0
>>14
三項演算子とかも知らない?
あとマクロ関数とか
同じように継承も
書くな。っていう派閥
12 : 2023/07/25(火) 10:04:44.966 ID:JMe5l8HOd
設計がおかしくなるのは設計者が無能だったり
無能に設計させようとする企業が歪だったりだけどな
17 : 2023/07/25(火) 10:09:31.941 ID:4w18hj1C0
勿論読めるか?と、書くな?別だから
読めないと駄目だけど
18 : 2023/07/25(火) 10:11:16.871 ID:Rbv3/oQY0
三項演算子も書いたらダメみたいなのはgiitaのコーディングベストプラクティス記事みたいなので見たことあるな。

三項演算子くらいは流石に読めろよって感じだけど、使う場面が正しいかどうかだよなって解釈。

三項演算子使った方が可読性良い場面もあるだろうし使わないほうが可読性良い場合もあるんだろうなって感じ

20 : 2023/07/25(火) 10:14:37.812 ID:4w18hj1C0
>>18
読めるようにしなきゃ駄目だけど
新しく書くなって感じ
継承も同じ
あと関数もかなり面白い使い方してる
教えて貰ったのはインデントの階層が3つ以上は関数化しちゃうとかw
24 : 2023/07/25(火) 10:16:19.389 ID:Rbv3/oQY0
>>20
なるほど。

インデントの回数が3つ以上は関数化しちゃダメってのは面白いな、関数化できるなら全部関数化したほうが良いと思ってたわ

28 : 2023/07/25(火) 10:19:30.145 ID:Rbv3/oQY0
>>24
この書き込みなしにして
普通に文盲発生してた
19 : 2023/07/25(火) 10:12:30.711 ID:CFvcsscga
継承の使い方知らないだけだろ
プラグインみたいなの作るならinterface用意してそれ継承してった方がシンプルになるし
ゲームならキャラクラス作って、それを継承して様々な種族作って、さらに色違いとか個別キャラに派生してける
22 : 2023/07/25(火) 10:15:03.649 ID:Rbv3/oQY0
>>19
それって後々機能変更したいときに問題でないの?自分だけが管理するならともかく色んな人が関わったらぐちゃぐちゃになりそうなイメージがある
29 : 2023/07/25(火) 10:20:05.962 ID:CFvcsscga
>>22
人数増えるほど便利だぞ。逆に一人ならそんなことしなくてもいい
入出力がきっちりしてるからテストも楽だし
23 : 2023/07/25(火) 10:16:04.486 ID:4w18hj1C0
>>19
そうなんだけどそれやると設計が複雑化するからやめようぜって流れ
どうせ使い回しも出来ないから
必要なら新しく作ればいいっていう派閥が10年前くらいから
増えてきてる気がする
もちろん読めなきゃ話にならないのは認める
21 : 2023/07/25(火) 10:14:45.535 ID:TA+IKeBf0
バカの一つ覚えでなんでもクラスの継承で解決させようとするから複雑化するんであって、そいつらにやめろっていったところで何も解決しない
25 : 2023/07/25(火) 10:17:03.203 ID:JMe5l8HOd
JavaとC#両方触った事があればJavaのライブラリ設計が如何に汚いかがよく分かる
26 : 2023/07/25(火) 10:18:26.402 ID:4w18hj1C0
昔は容量が少なかったからってのもある気はする
いまはPS3くらいから使いきれてないから
30 : 2023/07/25(火) 10:20:37.419 ID:4w18hj1C0
Javaはそもそも全部最初にロードする時点で・・・
C++は必要な時に読み込み、いらない場合は消すを繰り返してる
31 : 2023/07/25(火) 10:22:00.947 ID:4w18hj1C0
動けば良い派閥と、綺麗なソースコード派閥があるw
33 : 2023/07/25(火) 10:23:01.379 ID:JMe5l8HOd
Javaがクラス指向言語の代表みたいに言われてるけどJavaの思想は大分無能
34 : 2023/07/25(火) 10:25:05.872 ID:i0wyExEX0
最近は継承はなるべく避ける風潮があるよな
35 : 2023/07/25(火) 10:26:18.214 ID:9CxNiKho0
リーダブルコードって本読んだらいいよ
クラス要らねーは別の話
君の作ってるものが小規模ならクラス設計要らなくね?って話になるのは分かる
39 : 2023/07/25(火) 10:33:37.005 ID:Rbv3/oQY0
>>35
大規模開発はしたことないな。

リーダブルコード読んでみるわ。
リーダブルコードってオライリー・ジャパンってのがだしてる本よな?ちょうど最近貰ったんだけどまだ読めてない。

36 : 2023/07/25(火) 10:27:24.847 ID:Rbv3/oQY0
ぶっちゃけある程度汚いコードでも見れるっちゃ見れるしね。
俺は半分趣味程度に可読性も意識しようとしてるけど。
37 : 2023/07/25(火) 10:28:21.676 ID:JMe5l8HOd
Javaって一括りにしたらいかんなSpringはわりと綺麗な設計だった
40 : 2023/07/25(火) 10:35:16.747 ID:Rbv3/oQY0
springはモデルとビューとコントローラで分割してる設計だったはずだから綺麗になりやすそうではあるよね
41 : 2023/07/25(火) 10:37:19.577 ID:4w18hj1C0
逆に大規模なら設計がしっかりしてそうなイメージ
そういうのは設計書通りに作ればいいんじゃない?
小規模になればなるだけお察しです
42 : 2023/07/25(火) 10:45:51.356 ID:0DfnzSja0
継承しないなら何のためのクラスなん?

コメント

タイトルとURLをコピーしました