PG、SE歴17年だが
いまだに良く分からん
もやっとしてる
教えてくれ
探検
オブジェクト指向とは 分かりやすく教えてくれ
レス数が1000を超えています。これ以上書き込みはできません。
2018/03/24(土) 14:39:26.84
2018/03/24(土) 15:27:32.69
本が一杯出てるからそれ読めばいいだろ
読んで理解できないのならここで説明した所で無理だろ
読んで理解できないのならここで説明した所で無理だろ
3仕様書無しさん
2018/03/24(土) 16:36:10.31 どっちが欲しいの? ボケ? マジレス?
2018/03/24(土) 16:57:08.73
OOPはポインタ
5仕様書無しさん
2018/03/24(土) 17:27:25.63 全部staticでいいじゃん
6仕様書無しさん
2018/03/24(土) 17:29:16.62 まず、Cの構造体の勉強をすることだな。
2018/03/24(土) 18:50:15.40
ウンコ
2018/03/24(土) 19:05:28.24
プログラミング関連はWikipediaが割と良い
2018/03/24(土) 20:20:18.00
オブ脳本でも読めば?
10仕様書無しさん
2018/03/24(土) 20:43:41.2411仕様書無しさん
2018/03/24(土) 21:30:17.97 メリットの説明はできた者がいない
どや顔でやって来るやつは大抵意味不明なことをのたまって終わり
オブジェクト指向に脳をやられている
どや顔でやって来るやつは大抵意味不明なことをのたまって終わり
オブジェクト指向に脳をやられている
12仕様書無しさん
2018/03/24(土) 22:14:51.5613仕様書無しさん
2018/03/24(土) 22:15:36.11 なんてこったい
オーノー
オーノー
16仕様書無しさん
2018/03/25(日) 00:08:40.33 ところで「チンボがシコシコする」という日本語表現は、文法的に正しいのか?
チンボ「を」シコシコするのではなくて、チンボ「が」シコシコする。この場合、「チンボ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンボ)が繋がっている場合と、
全体(俺)と部分(チンボ)が別々になっている場合とが考えられる。けれども「チンボ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「頭がズキズキする」は良いが、「チンボがシコシコする」はダメな理由を、50字以内で述べろ!
チンボ「を」シコシコするのではなくて、チンボ「が」シコシコする。この場合、「チンボ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンボ)が繋がっている場合と、
全体(俺)と部分(チンボ)が別々になっている場合とが考えられる。けれども「チンボ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「頭がズキズキする」は良いが、「チンボがシコシコする」はダメな理由を、50字以内で述べろ!
17仕様書無しさん
2018/03/25(日) 00:14:32.10 (第1章 はじめに 2頁)
たとえば、CycはFredという名前の男が朝にひげをそるという話が理解できなかった。
Cycの推論エンジンは、この話の中に矛盾を見つけた。Cycは人間には電気の部品がないことは知っているが、
Fredが電気カミソリを持っていたので、エンティティ「Fredがひげそり中(FredWhileShaving)」
には電気の部品が含まれていると考えた。したがって、CycはFredがひげをそっている間、
Fredはそれでも人間なのかと尋ねた。
『深層学習』
著者:
Ian Goodfellow, イアングッドフェロー,
Yoshua Bengio, ヨシュアベンジオ,
Aaron Courville, アーロンカービル
たとえば、CycはFredという名前の男が朝にひげをそるという話が理解できなかった。
Cycの推論エンジンは、この話の中に矛盾を見つけた。Cycは人間には電気の部品がないことは知っているが、
Fredが電気カミソリを持っていたので、エンティティ「Fredがひげそり中(FredWhileShaving)」
には電気の部品が含まれていると考えた。したがって、CycはFredがひげをそっている間、
Fredはそれでも人間なのかと尋ねた。
『深層学習』
著者:
Ian Goodfellow, イアングッドフェロー,
Yoshua Bengio, ヨシュアベンジオ,
Aaron Courville, アーロンカービル
18仕様書無しさん
2018/03/25(日) 00:35:27.13 凄いな完璧にオブジェクト指向を表現した
完璧にだ
完璧にだ
19仕様書無しさん
2018/03/25(日) 01:28:13.4920仕様書無しさん
2018/03/25(日) 11:24:17.96 人類のスーパクラスはネズミの祖先だと思うんだ
21仕様書無しさん
2018/03/25(日) 12:02:46.92 まだ進化論信じてんだ
22仕様書無しさん
2018/03/25(日) 12:03:24.49 まだextendしてきたと思ってんだ
23仕様書無しさん
2018/03/25(日) 13:46:32.99 人類のスーパクラスは哺乳類
OOPが理解できない最大の理由
OOPが理解できない最大の理由
24仕様書無しさん
2018/03/25(日) 14:44:38.63 自然言語処理の知識はゼロなのでわからないです。面白いアイデアだと思うので、Twitterの自然言語処理が専門の方々に聞いてみては?
https://peing.net/ja/q/417c9e29-35de-4c95-8323-afd6a50fcbc7
https://peing.net/ja/q/417c9e29-35de-4c95-8323-afd6a50fcbc7
25仕様書無しさん
2018/03/25(日) 15:05:25.8926仕様書無しさん
2018/03/25(日) 15:07:37.24 マジレスすると、OOPが有用かどうかは分からないが、継承がフレームワーク作成側、利用側の両者で直感的なのは間違いない。
また、クラスに対してC#拡張メソッドより PHPtraitの方が色々問題もありそうだが直感的なmixinだ
また、クラスに対してC#拡張メソッドより PHPtraitの方が色々問題もありそうだが直感的なmixinだ
30仕様書無しさん
2018/03/26(月) 23:25:05.78 人間にわからんものは神か悪魔のせいにしとけば間違いない
31仕様書無しさん
2018/03/27(火) 01:55:18.27 全て乾巧って奴の
32仕様書無しさん
2018/03/31(土) 02:03:04.5033仕様書無しさん
2018/03/31(土) 02:14:23.88 タービンだっけ?
34仕様書無しさん
2018/03/31(土) 04:05:36.68 まだ進化出来ないから仕方ないな
35仕様書無しさん
2018/03/31(土) 04:43:13.93 進化の石がないだけやで
36仕様書無しさん
2018/03/31(土) 06:53:43.60 人類はとっくに自ら進化を促せるだけの力はあるのに神だの悪魔だの呪縛で出来ないでいる
つまり、extendedじゃなくrevolutionというキーワードにすべきだった
つまり、extendedじゃなくrevolutionというキーワードにすべきだった
37仕様書無しさん
2018/03/31(土) 08:46:12.73 OOPの説明に犬猫だすのは無能
38仕様書無しさん
2018/03/31(土) 09:09:40.69 カモノハシで説明してくれないとよくわからないよな
39仕様書無しさん
2018/03/31(土) 09:36:45.70 データをまとめた構造体に、そのデータを扱うメソッドも入れてしまおうというのは自然な流れだし
メソッドを入れたんなら、それで内部データにアクセスできるから、外部から勝手に変更されないようにアクセス制限を儲けようというのも自然な流れだし、
型を拡張したり、拡張した型によって呼ばれるメソッドを変えられるようにしたら便利だなという考えに行き着くのも自然な流れだった。
つまり、オブジェクト指向はプログラミング工学の進化の仮定で発生したごく必然的な考え方なのであーる。
メソッドを入れたんなら、それで内部データにアクセスできるから、外部から勝手に変更されないようにアクセス制限を儲けようというのも自然な流れだし、
型を拡張したり、拡張した型によって呼ばれるメソッドを変えられるようにしたら便利だなという考えに行き着くのも自然な流れだった。
つまり、オブジェクト指向はプログラミング工学の進化の仮定で発生したごく必然的な考え方なのであーる。
41仕様書無しさん
2018/03/31(土) 10:21:23.83 何をするメソッドなのか
43仕様書無しさん
2018/03/31(土) 10:54:48.19 鶴亀ソルバってクラスを作って、Animalクラスを引数にとるSetAnimal関数を作る
Animalクラスを継承したTsuruクラスとKameクラスを作る
鶴亀ソルバを作る人は、引数のクラスを気にせず実装出来る
Butaクラスを作る人やNekoクラスを作る人も、そのクラスがどう扱われるかを気にせず実装できる
Animalクラスを継承したTsuruクラスとKameクラスを作る
鶴亀ソルバを作る人は、引数のクラスを気にせず実装出来る
Butaクラスを作る人やNekoクラスを作る人も、そのクラスがどう扱われるかを気にせず実装できる
44仕様書無しさん
2018/03/31(土) 11:06:35.55 進化の過程で必要なのはバージョン管理
46仕様書無しさん
2018/03/31(土) 12:19:33.53 足の本数が整数でわかれば計算できるときに
なぜAnimalクラスが必要か!?
なぜAnimalクラスが必要か!?
47仕様書無しさん
2018/03/31(土) 12:22:24.94 自然界はオブジェクト指向ではない。
生物の分類なんて完璧にはできない
だが、人間が理解しやすいように分類したものは
オブジェクト指向で表現することが可能
完璧な表現なんか誰も求めていない
目的が達成できれば良いのだよ
生物の分類なんて完璧にはできない
だが、人間が理解しやすいように分類したものは
オブジェクト指向で表現することが可能
完璧な表現なんか誰も求めていない
目的が達成できれば良いのだよ
48仕様書無しさん
2018/03/31(土) 12:22:35.99 Animalじゃなかったその下
49仕様書無しさん
2018/03/31(土) 12:33:04.42 Animalの下っていうと
Humanか?
Humanか?
50仕様書無しさん
2018/03/31(土) 13:20:04.83 class Human extended Ameba
51仕様書無しさん
2018/03/31(土) 13:32:39.80 new 動物("鶴", 2)
new 動物("亀", 4)
new 動物("亀", 4)
52仕様書無しさん
2018/03/31(土) 13:51:09.60 ムカデサポート
53仕様書無しさん
2018/03/31(土) 14:30:15.36 Tsurukame t = new Tsurukame();
t.setAnimal(0, new Tsuru());
t.setAnimal(1, new Kame());
Result r = t.calc(20, 60);
println(r.get(0))
println(r.get(1))
t.setAnimal(0, new Tsuru());
t.setAnimal(1, new Kame());
Result r = t.calc(20, 60);
println(r.get(0))
println(r.get(1))
54仕様書無しさん
2018/03/31(土) 14:42:40.12 自然界こそオブジェクト指向だと思います
55仕様書無しさん
2018/03/31(土) 16:20:17.18 class 鶴 extends 鳥類{}
class 亀 extends 爬虫類{}
new 鶴();
new 亀();
class 亀 extends 爬虫類{}
new 鶴();
new 亀();
56仕様書無しさん
2018/03/31(土) 16:23:18.96 だから足の本数だけでいいんだって
なんで継承…
なんで継承…
57仕様書無しさん
2018/03/31(土) 16:31:46.26 足の数はメンバ変数で定義されてるに決まってんじゃん。
なんで外から渡すんだよ。
なんで外から渡すんだよ。
58仕様書無しさん
2018/03/31(土) 16:37:23.87 足の本数ごとに親をまとめてるのか…
59仕様書無しさん
2018/03/31(土) 16:44:28.00 LegCountable というインターフェスだけでいい
Animalクラスもいらん
Animalクラスもいらん
60仕様書無しさん
2018/03/31(土) 16:44:38.04 4本足あったら、それは鳥類じゃねえよボケナス
61仕様書無しさん
2018/03/31(土) 17:00:27.55 頭の数も欲しいと言われたらHeadCountable作るの?
63仕様書無しさん
2018/03/31(土) 17:16:12.31 LegCountableもいらん
このつくりなら
足の数以外なんもいらんのだから整数でいいだろ!
このつくりなら
足の数以外なんもいらんのだから整数でいいだろ!
64仕様書無しさん
2018/03/31(土) 17:19:26.00 鶴亀算をオブジェクト指向で作る意味がないとは思うが、
オブジェクト指向のスレだからな
オブジェクト指向のスレだからな
65仕様書無しさん
2018/03/31(土) 17:20:05.19 と思ったけど要素と動物をふやして3元連立に拡張できるからあったほうがいいのか?
66仕様書無しさん
2018/03/31(土) 17:59:40.91 このように考え過ぎるのがオブジェクト思考の特徴
とにかく無駄な拡張性だけ考えておくのです
とにかく無駄な拡張性だけ考えておくのです
67仕様書無しさん
2018/03/31(土) 18:04:25.37 うん、やっぱりいらないな
業務的な切り口を考えたら鶴亀固定で計算を行うクラス
処理的な切り口を考えたら二元一次方程式クラスになる
動物クラスの出る幕がない
業務的な切り口を考えたら鶴亀固定で計算を行うクラス
処理的な切り口を考えたら二元一次方程式クラスになる
動物クラスの出る幕がない
68仕様書無しさん
2018/03/31(土) 18:38:22.52 そして神クラスへ
69仕様書無しさん
2018/03/31(土) 18:52:44.69 今いるところは神クラスはないがサービスクラスという手続き型だけだわ
70仕様書無しさん
2018/03/31(土) 19:05:10.25 足の数は属性なんでクラスじゃないな
インターフェースでもない
インターフェースでもない
71仕様書無しさん
2018/03/31(土) 19:11:54.45 足はhas Aで実装でしょ
例えば手や足って将来的に機械で拡張される場合もあるし
ほかにも羽が生えてくるかもしれない(工学的な意味で)
そんなわけで親子関係をもった部位クラスとして実装すべき
例えば手や足って将来的に機械で拡張される場合もあるし
ほかにも羽が生えてくるかもしれない(工学的な意味で)
そんなわけで親子関係をもった部位クラスとして実装すべき
72仕様書無しさん
2018/03/31(土) 19:22:06.32 お前の腕機能拡張して増やせるんだ。すげーや。
73仕様書無しさん
2018/03/31(土) 20:14:55.74 だからいらんちゅーに
もともとあるならまだしも鶴亀算したいだけだろうがw
もともとあるならまだしも鶴亀算したいだけだろうがw
76仕様書無しさん
2018/03/31(土) 20:58:55.10 >>61
鶴亀算は足の数をもとに計算する仕様だから、頭の数も考慮するとなると前提条件の見直しになる。恐らくインターフェース名と前提条件の変更を余儀なくされるだろう
インターフェスーに抽象メソッドを追加し、クラスにもメソッドを追加しないといけない。しかしそれでも変更箇所は限定的で、コンパイルエラーによって実装漏れも教えてくれる。
しかし、そもそも頭が複数ある般的な生物なんているのか?
鶴亀算は足の数をもとに計算する仕様だから、頭の数も考慮するとなると前提条件の見直しになる。恐らくインターフェース名と前提条件の変更を余儀なくされるだろう
インターフェスーに抽象メソッドを追加し、クラスにもメソッドを追加しないといけない。しかしそれでも変更箇所は限定的で、コンパイルエラーによって実装漏れも教えてくれる。
しかし、そもそも頭が複数ある般的な生物なんているのか?
77仕様書無しさん
2018/03/31(土) 22:11:19.03 唐傘小僧参戦決定!
79仕様書無しさん
2018/03/31(土) 22:15:10.00 ヤマタノオロチがこっちを見ている!
80仕様書無しさん
2018/03/31(土) 22:25:52.42 キメラクラス
81仕様書無しさん
2018/03/31(土) 22:38:26.5482仕様書無しさん
2018/03/31(土) 22:40:33.48 自然界をオブジェクト指向で表現することができないのは
例外や突然変異があるから
だからといってオブジェクト指向は使えないのではなく
大半の要求を満たせるのだから問題ないのだ
100%の仕事なんか求められていないし不可能
例外や突然変異があるから
だからといってオブジェクト指向は使えないのではなく
大半の要求を満たせるのだから問題ないのだ
100%の仕事なんか求められていないし不可能
83仕様書無しさん
2018/03/31(土) 23:11:56.1584仕様書無しさん
2018/03/31(土) 23:13:21.90 >>81 のシステム、クズ過ぎwwwwwwwwwwwww
85仕様書無しさん
2018/04/01(日) 00:12:58.66 class 生き物{
head;
leg;
}
class 鶴 extends 生き物{
head = 1;
leg = 2;
}
class 亀 extends 生き物{
head = 1;
leg = 4;
}
class ケルベロス extends 生き物{
head = 3;
leg = 4;
}
class 案山子 extends 生き物{
head = 1;
leg = 1;
}
class 鶴亀ソルバ{
void SetAnimal(生き物 animal);
Result Solve();
生き物[] m_Animal;
}
でもこれだと、あんまりポリモーフィズムのメリットが活かせてないな
生き物クラスにメソッドを持たせないと
head;
leg;
}
class 鶴 extends 生き物{
head = 1;
leg = 2;
}
class 亀 extends 生き物{
head = 1;
leg = 4;
}
class ケルベロス extends 生き物{
head = 3;
leg = 4;
}
class 案山子 extends 生き物{
head = 1;
leg = 1;
}
class 鶴亀ソルバ{
void SetAnimal(生き物 animal);
Result Solve();
生き物[] m_Animal;
}
でもこれだと、あんまりポリモーフィズムのメリットが活かせてないな
生き物クラスにメソッドを持たせないと
86仕様書無しさん
2018/04/01(日) 00:19:02.73 俺も理解するまで時間がかかったけど
RPGのゲームを考えると理解できた
例えば敵キャラのスライム10匹との戦闘をプログラミングで表現しようとした場合、
ライフやMPを配列で管理しようとすると大変だ
それよりも一つスライムというクラスを作りその中にライフやMPという変数をもたせたほうが、
何匹いようが個々のメソッドでライフやMPを減らすように作った方が楽になる
また、そのスライムというクラスを継承してメタルスライムやキングスライムといった派生クラスを作れば
それぞれのクラスをを1から作らなくても良い
RPGのゲームを考えると理解できた
例えば敵キャラのスライム10匹との戦闘をプログラミングで表現しようとした場合、
ライフやMPを配列で管理しようとすると大変だ
それよりも一つスライムというクラスを作りその中にライフやMPという変数をもたせたほうが、
何匹いようが個々のメソッドでライフやMPを減らすように作った方が楽になる
また、そのスライムというクラスを継承してメタルスライムやキングスライムといった派生クラスを作れば
それぞれのクラスをを1から作らなくても良い
87仕様書無しさん
2018/04/01(日) 00:41:04.8488仕様書無しさん
2018/04/01(日) 00:42:54.88 オブジェクト指向ってのは設計が大事なんだよ
理解できてなくてもプログラムを書くことは出来るし要件を満たせるが
オブジェクト指向を理解することによって保守性とかプログラムの美しさに繋がる
理解できてなくてもプログラムを書くことは出来るし要件を満たせるが
オブジェクト指向を理解することによって保守性とかプログラムの美しさに繋がる
89仕様書無しさん
2018/04/01(日) 00:45:07.79 class スライム:ウンコ
91仕様書無しさん
2018/04/01(日) 02:42:16.23 >>88
プログラムなんて
車のシャーシどころか設計図みたいなもん
なんて美しい設計図なんだ!ってあほか
車が走らんとどうしょうもない
多少汚くたって困るのプログラマーだけじゃねえか
賃金やすいんだから工数倍になったってたかが知れてる
プログラムなんて
車のシャーシどころか設計図みたいなもん
なんて美しい設計図なんだ!ってあほか
車が走らんとどうしょうもない
多少汚くたって困るのプログラマーだけじゃねえか
賃金やすいんだから工数倍になったってたかが知れてる
92仕様書無しさん
2018/04/01(日) 02:53:57.04 保守性がよくなるってのもうそっぱち
状態がある分、クラスのメンテは関数のメンテよりはるかに大変
処理自体も基本わかりづらくなる。
いっぺんイテレーター作ってみやがれ
標準ライブラリのように完膚なきまでにテストされ、作りこまれて安定したクラスを
使うとき
だけ、保守性や生産性が向上するんだ…
状態がある分、クラスのメンテは関数のメンテよりはるかに大変
処理自体も基本わかりづらくなる。
いっぺんイテレーター作ってみやがれ
標準ライブラリのように完膚なきまでにテストされ、作りこまれて安定したクラスを
使うとき
だけ、保守性や生産性が向上するんだ…
94仕様書無しさん
2018/04/01(日) 03:00:57.96 >>90
こんな感じじゃね?
class Charactor {
int HP;
int MP;
render() { // 自キャラデザインを描画する }
action() { // 自ターンでの行動 }
damaged() { // ダメージを受けた時 }
}
class Slime extends Charactor {}
class SlimeBeth extends Slime { // デザインとステータスが違うだけで攻撃パターンなどは同じ }
class MetalSlime extends Charactor {}
class KingSlime extends Charactor {}
メタルスライムだからって必ずしもスライムを継承する必要はないしねw
キングスライムは、(キングスライム化可能な)スライムが
次ターンんで仲間を呼んで、8匹そろったら合体アニメーション表示
終わったらキングスライムに変化って感じだろうね
(内部的には新たなキングスライムを呼び出しして自分達はdeleteする)
こんな感じじゃね?
class Charactor {
int HP;
int MP;
render() { // 自キャラデザインを描画する }
action() { // 自ターンでの行動 }
damaged() { // ダメージを受けた時 }
}
class Slime extends Charactor {}
class SlimeBeth extends Slime { // デザインとステータスが違うだけで攻撃パターンなどは同じ }
class MetalSlime extends Charactor {}
class KingSlime extends Charactor {}
メタルスライムだからって必ずしもスライムを継承する必要はないしねw
キングスライムは、(キングスライム化可能な)スライムが
次ターンんで仲間を呼んで、8匹そろったら合体アニメーション表示
終わったらキングスライムに変化って感じだろうね
(内部的には新たなキングスライムを呼び出しして自分達はdeleteする)
96仕様書無しさん
2018/04/01(日) 09:48:34.07 >>95
俺もいいことないと思うな
結局、中の状態を把握した上でないと使えないし
なんの説明もないくせにinitメソッド2回呼ぶとバグるし
initメソッド2回呼ぶとバグるのはソース見ないとわからんし
だったらC言語時代に戻ろうぜ
俺もいいことないと思うな
結局、中の状態を把握した上でないと使えないし
なんの説明もないくせにinitメソッド2回呼ぶとバグるし
initメソッド2回呼ぶとバグるのはソース見ないとわからんし
だったらC言語時代に戻ろうぜ
97仕様書無しさん
2018/04/01(日) 10:53:24.38 データを変更するメソッドが、そのクラス内にしかないと分かっているの楽
99仕様書無しさん
2018/04/01(日) 11:02:50.87 観測する人間クラスの中に決まってんじゃん
101仕様書無しさん
2018/04/01(日) 11:19:29.37 なんでだよ ヴァカ
104仕様書無しさん
2018/04/01(日) 11:27:36.67 鶴亀算コントローラで鶴亀算に必要なクラス呼べばいいだけだし
105仕様書無しさん
2018/04/01(日) 11:28:07.57106仕様書無しさん
2018/04/01(日) 11:35:30.27 オブジェクト思考は人間の都合のいい解釈で抽象化なされた現実離れしたもの。
しかし、人間の都合のいい解釈によって、使い方の提案を含めたオブジェクトが作成できることは
その利用者の思考コストを減らすから、それがメリットみたいなこと書いてあった。
ttps://qiita.com/tutinoco/items/7f7568cc7dbf7e2276c8
個人的にしっくりきたんだけど、どうなん?
もしオブジェクト指向がいらないものだったら
ここまで使われてる理由がわからんし、やはり利用者のためのオブジェクト指向なのかなと。
実際使う時便利だし。モジュールのためのオブジェクト指向って感じなのかなぁ
しかし、人間の都合のいい解釈によって、使い方の提案を含めたオブジェクトが作成できることは
その利用者の思考コストを減らすから、それがメリットみたいなこと書いてあった。
ttps://qiita.com/tutinoco/items/7f7568cc7dbf7e2276c8
個人的にしっくりきたんだけど、どうなん?
もしオブジェクト指向がいらないものだったら
ここまで使われてる理由がわからんし、やはり利用者のためのオブジェクト指向なのかなと。
実際使う時便利だし。モジュールのためのオブジェクト指向って感じなのかなぁ
107仕様書無しさん
2018/04/01(日) 11:38:17.87 今のsiは似たような部品とかを一から作って水増し工数をしてるんだな
だからオブジェクト指向は使われてない効率よくしようとはされてない
そもそも寄せ集めだからプログラマーのレベルもバラバラ
だからオブジェクト指向は使われてない効率よくしようとはされてない
そもそも寄せ集めだからプログラマーのレベルもバラバラ
108仕様書無しさん
2018/04/01(日) 11:44:16.63 下級プログラマはオブジェクト指向のことは考えなくていい
そういうのは上級プログラマが考えるから、下級プログラマは提供されたフレームワークなりライブラリなりの
使い方だけ知っていればいい
そういうのは上級プログラマが考えるから、下級プログラマは提供されたフレームワークなりライブラリなりの
使い方だけ知っていればいい
110仕様書無しさん
2018/04/01(日) 14:26:36.47 標準apiとかフレームワークこそがオブジェクト指向の良い教材
誰でも簡単に使えるやん
誰でも簡単に使えるやん
112仕様書無しさん
2018/04/01(日) 15:12:47.23 オブジェクト指向=再利用の認識の人ってまだいるんだ
114仕様書無しさん
2018/04/01(日) 18:48:36.51 人間クラスとか現実世界を再現しようとするなよ
115仕様書無しさん
2018/04/01(日) 19:49:08.77116仕様書無しさん
2018/04/01(日) 19:56:19.28 バカの話は相変わらず長いな
117仕様書無しさん
2018/04/01(日) 21:29:46.71 例え話の正しい使い方
○ A. 相手に説明する時に相手がすでに知ってる知識を利用してわかりやすく伝えるために使う
× B. 何かを馬鹿にしたい時に、悪いものと認識されているものに例えることで印象操作を行う
(カレーはウンコと似ている所があるとウンコに例えることでカレーを臭い排泄物だと思わせること)
例え話に対する反論方法
A. に対して例えが正確じゃないということ。もともと知らない人に対して
わかりやすく伝えることが目的であり、正確な例えをしているわけじゃない。
例えなのだから正確ではないのは当たり前で、それを承知の上で
相手への説明のために例えを使ってる人に対して
その例えは正確じゃないと反論するのは只のマヌケ
B. に対しては、その例えは正確じゃないと反論するのが正しい。
なぜなら印象操作は例えが正しいことを前提として意味があるので
その例えが間違いであると言うことは、反論として成り立つ
(カレーとウンコは違うので、いくらウンコが臭い排泄物だと言った所でカレーには関係ない話)
例えなのだから正確ではないのは当たり前でそこを指摘すると言い返せない
(カレーはウンコではないのは常識)
○ A. 相手に説明する時に相手がすでに知ってる知識を利用してわかりやすく伝えるために使う
× B. 何かを馬鹿にしたい時に、悪いものと認識されているものに例えることで印象操作を行う
(カレーはウンコと似ている所があるとウンコに例えることでカレーを臭い排泄物だと思わせること)
例え話に対する反論方法
A. に対して例えが正確じゃないということ。もともと知らない人に対して
わかりやすく伝えることが目的であり、正確な例えをしているわけじゃない。
例えなのだから正確ではないのは当たり前で、それを承知の上で
相手への説明のために例えを使ってる人に対して
その例えは正確じゃないと反論するのは只のマヌケ
B. に対しては、その例えは正確じゃないと反論するのが正しい。
なぜなら印象操作は例えが正しいことを前提として意味があるので
その例えが間違いであると言うことは、反論として成り立つ
(カレーとウンコは違うので、いくらウンコが臭い排泄物だと言った所でカレーには関係ない話)
例えなのだから正確ではないのは当たり前でそこを指摘すると言い返せない
(カレーはウンコではないのは常識)
118仕様書無しさん
2018/04/01(日) 21:41:14.57 バカの話は相変わらず長いな
119仕様書無しさん
2018/04/01(日) 22:49:51.85 その程度の中長文で理解できない人間はプログラミングに向いてないよな
拒絶反応から否定の逃げ台詞を吐いて逃亡するしかない
拒絶反応から否定の逃げ台詞を吐いて逃亡するしかない
121KAC
2018/04/01(日) 23:08:32.06 なにやら変な話題で盛り上がってんのな
オブジェクト指向なんてのは、考え方の一つなんだから、
オブジェクト指向言語じゃなきゃ実現できないアプリなんて無い。
「オブジェクト指向じゃなくてもできる」
という指摘はオブジェクト指向を否定するものじゃ無い。
オブジェクト指向なんてのは、考え方の一つなんだから、
オブジェクト指向言語じゃなきゃ実現できないアプリなんて無い。
「オブジェクト指向じゃなくてもできる」
という指摘はオブジェクト指向を否定するものじゃ無い。
122仕様書無しさん
2018/04/02(月) 10:10:08.67 お前じゃなきゃ実現できない仕事なんて無い。
「お前じゃなくてもできる」
という指摘はお前を否定するものじゃ無い。
「お前じゃなくてもできる」
という指摘はお前を否定するものじゃ無い。
125仕様書無しさん
2018/04/02(月) 12:59:33.19126仕様書無しさん
2018/04/02(月) 16:14:28.23 人間の認識に近いんよ
OOP指向言語なら逆引きができる。
OOP指向言語なら逆引きができる。
129仕様書無しさん
2018/04/02(月) 20:33:04.06 自分以外にできるやつがいなくなるまで
コミュニティを小さくすればいいんだ!
コミュニティを小さくすればいいんだ!
132仕様書無しさん
2018/04/03(火) 23:20:42.41 >>106
> オブジェクト思考は人間の都合のいい解釈で抽象化なされた現実離れしたもの。
その「現実」っていうのがずれてるんだろうねw
システム開発してる人にとってはシステム開発で必要なものも「現実」
だけど、人間の都合に良いように〜とか言ってる奴の「現実」って
現実世界のシミュレーション限定だろw
> オブジェクト思考は人間の都合のいい解釈で抽象化なされた現実離れしたもの。
その「現実」っていうのがずれてるんだろうねw
システム開発してる人にとってはシステム開発で必要なものも「現実」
だけど、人間の都合に良いように〜とか言ってる奴の「現実」って
現実世界のシミュレーション限定だろw
133仕様書無しさん
2018/04/03(火) 23:22:07.73 オブジェクト思考は人間の都合のいい解釈で抽象化なされたもので
シミュレーションとして生物などを正確に表現することには適してない
と言いたいんだろうなw
シミュレーションとして生物などを正確に表現することには適してない
と言いたいんだろうなw
134仕様書無しさん
2018/04/03(火) 23:28:37.78 やりたいことを抽象化したデザインパターンを
常識として受け入れましょうってのがオブジェクト指向だろ
常識として受け入れましょうってのがオブジェクト指向だろ
135仕様書無しさん
2018/04/03(火) 23:43:06.63 違う。人間が大雑把に考えてる考え方はオブジェクト指向に近いので、
コンピュータ寄りではなくより人間的な考え方をしましょう
っていうのがオブジェクト指向
オブジェクト指向は人間の考え方を表現できるように進化してきた
コンピュータ寄りではなくより人間的な考え方をしましょう
っていうのがオブジェクト指向
オブジェクト指向は人間の考え方を表現できるように進化してきた
136仕様書無しさん
2018/04/03(火) 23:47:11.47 ソースコードが長くなると、複数の関数に分けたくなる
↓
関数をバラバラにわけていると、どうしても引数の数が多くなる
↓
関数によって共通する引数があるので、それを構造体にまとめて引数の数を減らす
↓
どうせなら構造体の中に関数を入れてしまえばいいじゃない
↓
構造体の中の値を気にしないように実装したら、なんかソースコードが読みやすくなった気がする
↓
これに名前を付けたのが、カプセル化
↓
関数をバラバラにわけていると、どうしても引数の数が多くなる
↓
関数によって共通する引数があるので、それを構造体にまとめて引数の数を減らす
↓
どうせなら構造体の中に関数を入れてしまえばいいじゃない
↓
構造体の中の値を気にしないように実装したら、なんかソースコードが読みやすくなった気がする
↓
これに名前を付けたのが、カプセル化
137仕様書無しさん
2018/04/04(水) 04:46:26.02 グローバル変数は便利だが管理が面倒だからクラスに入れてその変数に対する処理をクラス関数にする程度にしか思ってない
138仕様書無しさん
2018/04/04(水) 08:20:43.18 public変数の機能を禁止する法案を提出したい
マイクロソフトやオラクルがpublic変数禁止法で訴訟されるような世の中を作りたい
ひさびさにひっかかった・・・orz
マイクロソフトやオラクルがpublic変数禁止法で訴訟されるような世の中を作りたい
ひさびさにひっかかった・・・orz
140仕様書無しさん
2018/04/04(水) 12:47:34.68 モノつくる時みたいに役割分担を明確にして設計しましょう
カプセル化とか継承とかはそのための手段
程度の認識だわ
カプセル化とか継承とかはそのための手段
程度の認識だわ
141仕様書無しさん
2018/04/04(水) 21:10:53.00 指向だからええんじゃね
グローバル変数禁止で
グローバル変数禁止で
142仕様書無しさん
2018/04/05(木) 00:28:53.41 ALLシングルトン
143仕様書無しさん
2018/04/05(木) 07:01:04.00 ALLシングルトンというか手続き型なクラスだらけで
staticと変わらない
staticと変わらない
144仕様書無しさん
2018/04/06(金) 01:03:31.62 デザパタを批判するときは唯一わかるシングルトンを
持ち出すことしかできない
持ち出すことしかできない
146仕様書無しさん
2018/04/06(金) 11:39:18.39 ウイングルトンとシングル、どっちもテニス用語なので
シングルトンもテニス関係の言葉だと思っていました。
シングルトンもテニス関係の言葉だと思っていました。
147仕様書無しさん
2018/04/06(金) 19:47:11.73 俺もお前もシングルトン
148仕様書無しさん
2018/04/06(金) 19:49:43.96 そしていつでも疎結合
149仕様書無しさん
2018/04/07(土) 04:32:57.07 ガバガバなんですね
150仕様書無しさん
2018/04/08(日) 16:13:10.05 OOPの本質は疎結合
まったく結合を無くしたいんだが良い方法は無いか
まったく結合を無くしたいんだが良い方法は無いか
151仕様書無しさん
2018/04/08(日) 16:39:24.28 動的オブジェクト言語を使えばいいのでは
153仕様書無しさん
2018/04/08(日) 19:43:48.98 DIが思い付くが型を特定しなくともインターフェースが固定されるから駄目だな
じゃあ呼び出しコードも含めて依存性を注入すりゃあ?って事になる
じゃあ呼び出しコードも含めて依存性を注入すりゃあ?って事になる
154仕様書無しさん
2018/04/08(日) 19:48:29.64 >>153
え? どんなインターフェースでも使える
メソッドなんてあるの?
コンテナクラスならobjectの中身はとわないんで、
objectであれば十分だから作れるけど
渡すオブジェクトのメソッドを呼ぶなら
そのメソッドがあるインターフェースを持ってないとだめでしょ
え? どんなインターフェースでも使える
メソッドなんてあるの?
コンテナクラスならobjectの中身はとわないんで、
objectであれば十分だから作れるけど
渡すオブジェクトのメソッドを呼ぶなら
そのメソッドがあるインターフェースを持ってないとだめでしょ
155仕様書無しさん
2018/04/08(日) 19:58:03.19 まさにそれさ!インターフェースに依存してるって事は依存性はゼロじゃないって事さ
それでは丸ごとすげ替えるって事は出来ない
更に依存を注入するための機構にも依存してしまう
それでは丸ごとすげ替えるって事は出来ない
更に依存を注入するための機構にも依存してしまう
156仕様書無しさん
2018/04/08(日) 20:02:41.75 >>155
意味が分からん。
実装に依存すると問題が多いから
インタフェースに依存することが
いい方法ですって話なのに、
インタフェースに依存してるじゃんって言われても
だからその素晴らしい方法を目指してるんだがとしか
言えないんだが?
意味が分からん。
実装に依存すると問題が多いから
インタフェースに依存することが
いい方法ですって話なのに、
インタフェースに依存してるじゃんって言われても
だからその素晴らしい方法を目指してるんだがとしか
言えないんだが?
157仕様書無しさん
2018/04/08(日) 20:16:23.28 あと丸ごとすげ替えしたいって言うけど、目的ないでしょ?w
例えば、ボタンオブジェクトを要求されてる場面で
セレクトボックスオブジェクトを渡した所で
正しく動くことはない
すげ替えたくなる対象は互換性がある型
その互換性っていうのがインターフェースそのもの
例えば、ボタンオブジェクトを要求されてる場面で
セレクトボックスオブジェクトを渡した所で
正しく動くことはない
すげ替えたくなる対象は互換性がある型
その互換性っていうのがインターフェースそのもの
158仕様書無しさん
2018/04/08(日) 20:18:32.13 例えば「このオブジェクトはfooメソッドを持っていること」
というのもインターフェースだからね
明示的に書かない言語も有るけど、コードはfooメソッドを持っていること
というのはfooメソッドを使うからであって
明示的に書いてないだけでインターフェースは存在する
というのもインターフェースだからね
明示的に書かない言語も有るけど、コードはfooメソッドを持っていること
というのはfooメソッドを使うからであって
明示的に書いてないだけでインターフェースは存在する
159仕様書無しさん
2018/04/08(日) 20:23:58.93 そうだね、明示的になくてもインターフェースは存在するね
しかも実行時に実装が無ければ余計にタチが悪い
ではそもそも結合度をゼロにするなんて事は出来ないんじゃないか?
しかも実行時に実装が無ければ余計にタチが悪い
ではそもそも結合度をゼロにするなんて事は出来ないんじゃないか?
160仕様書無しさん
2018/04/08(日) 20:31:42.75 ゼロにできないから何?
エアバッグ付けても交通事故はゼロにならないよな
で、ゼロにできないから何だって言いたいの?
エアバッグ付けても交通事故はゼロにならないよな
で、ゼロにできないから何だって言いたいの?
161仕様書無しさん
2018/04/08(日) 20:32:45.75 > しかも実行時に実装が無ければ余計にタチが悪い
それはタチが悪いんじゃなくて動きませんが?
動かすために実装作るんでしょ
なにが言いたいんですか?
それはタチが悪いんじゃなくて動きませんが?
動かすために実装作るんでしょ
なにが言いたいんですか?
162仕様書無しさん
2018/04/08(日) 21:12:12.47 AとBの結合度がゼロってことは、AとBは無関係ってのと同じこと
結合度は低い方が良いと言ったって、ゼロにしろってことじゃないわな
結合度は低い方が良いと言ったって、ゼロにしろってことじゃないわな
164仕様書無しさん
2018/04/08(日) 22:09:09.99 そもそも結合度を気にしたい箇所ってお金がかかるとことお金がかからないところを明確にしないと正当性が主張できないよね
全部入れ替えたって大して金のかからない箇所を一生懸命疎結合とか言ってる奴は本当にアホにしか見えないじゃん
サーバー側をいじらずにクライアント側だけ新しくするってのも
俺には難しく見えるがな
っていうか経験上一見関係ないように見えるけど
データって見せるためのまとまりであるから実際は難しいんだよね
アプリ単位でこんなこと気にしてるなんて本当は無意味なんじゃねーの?
って思う
全部入れ替えたって大して金のかからない箇所を一生懸命疎結合とか言ってる奴は本当にアホにしか見えないじゃん
サーバー側をいじらずにクライアント側だけ新しくするってのも
俺には難しく見えるがな
っていうか経験上一見関係ないように見えるけど
データって見せるためのまとまりであるから実際は難しいんだよね
アプリ単位でこんなこと気にしてるなんて本当は無意味なんじゃねーの?
って思う
166仕様書無しさん
2018/04/09(月) 02:21:02.04 インターフェイスのクラスを継承する場合はやっぱり結合度高いとおもうんだよな。
個人的に疎結合といえばC++のテンプレートだと思う
個人的に疎結合といえばC++のテンプレートだと思う
168仕様書無しさん
2018/04/09(月) 06:14:09.96 まさか
呼び出し関係を結合
って思ってる人居ないよね
基礎からやり直したら?
呼び出し関係を結合
って思ってる人居ないよね
基礎からやり直したら?
169仕様書無しさん
2018/04/09(月) 07:23:37.69 コピペするとき一緒にコピペする必要があったら結合
170仕様書無しさん
2018/04/09(月) 07:34:02.61 ユニットテストのしやすさが尺度じゃ?
171仕様書無しさん
2018/04/09(月) 08:06:57.70 C++テンプレートなら特定のクラスに依存しない事も可能だぞ。
vectorやlistなんか管理方法を抽象化してる。
他にも走る事を仕様にすれば
template<typename T>
void obj_run(T obj){
obj.run();
}
これならオブジェクトはrun()という関数さえ持ってればいい。
※オブジェクト思考についてよく知らないのは認める
vectorやlistなんか管理方法を抽象化してる。
他にも走る事を仕様にすれば
template<typename T>
void obj_run(T obj){
obj.run();
}
これならオブジェクトはrun()という関数さえ持ってればいい。
※オブジェクト思考についてよく知らないのは認める
173仕様書無しさん
2018/04/09(月) 21:24:10.59 C++のテンプレートは的外れだなw
あれは極端な言い方をすればクラス定義を作るものなんだから
単体のクラスを作る範囲なら、他のクラスと依存しないという
当たり前のことを言ってるだけだよ
テンプレートで作ったクラスを実際に使う段階で
どちらにしろ依存してしまう
>>171がその例だね
他のクラスから呼び出すために、オブジェクトはrun()という
関数(インターフェース)が必要という事になってしまった。
あれは極端な言い方をすればクラス定義を作るものなんだから
単体のクラスを作る範囲なら、他のクラスと依存しないという
当たり前のことを言ってるだけだよ
テンプレートで作ったクラスを実際に使う段階で
どちらにしろ依存してしまう
>>171がその例だね
他のクラスから呼び出すために、オブジェクトはrun()という
関数(インターフェース)が必要という事になってしまった。
174仕様書無しさん
2018/04/09(月) 22:05:50.79 インターフェイスに依存するのは悪くないのでは?
175仕様書無しさん
2018/04/09(月) 22:22:45.97 静的言語のインターフェースは実体がありよるからな
どうがんばっても一方が一方を知ってないといけない
依存が拡大しがちだし
モジュールのすげ替えがやりにくい
きがする
どうがんばっても一方が一方を知ってないといけない
依存が拡大しがちだし
モジュールのすげ替えがやりにくい
きがする
176仕様書無しさん
2018/04/09(月) 22:27:27.23 インタフェースをありがたがるのは周回遅れって感じ
177仕様書無しさん
2018/04/09(月) 22:29:02.46 今どきなら?
178仕様書無しさん
2018/04/09(月) 22:47:17.50 >>168
浅学ですまないのだが少し教えてもらえないだろうか?
モジュールXのクラスAのメソッドが、モジュールYのクラスBのメソッドを呼び出すなら、それは結合してるって言えるんじゃないの?
それとも、その呼び出し関係ってのはもっと別の話?
浅学ですまないのだが少し教えてもらえないだろうか?
モジュールXのクラスAのメソッドが、モジュールYのクラスBのメソッドを呼び出すなら、それは結合してるって言えるんじゃないの?
それとも、その呼び出し関係ってのはもっと別の話?
179仕様書無しさん
2018/04/10(火) 00:55:45.03 >>178
モジュールXのインターフェースZを作成し
モジュールYのメソッドでZを使い
モジュールXの外でモジュールYをnewして
モジュールXのコンストラクタなどで
モジュールYを渡してれば(依存性注入)
モジュールYはインターフェースZに依存するので疎結合。
モジュールBの中でnewしたら完全に依存するってことだと思ってる。
モジュールXのインターフェースZを作成し
モジュールYのメソッドでZを使い
モジュールXの外でモジュールYをnewして
モジュールXのコンストラクタなどで
モジュールYを渡してれば(依存性注入)
モジュールYはインターフェースZに依存するので疎結合。
モジュールBの中でnewしたら完全に依存するってことだと思ってる。
181仕様書無しさん
2018/04/10(火) 01:10:21.61 >>178
わかりにくかったのでもっかい書く
ポイントは「インターフェースに対してプログラミングすること」が疎結合の前提であり、「どこでnewするか」の判断を誤ると一気に取り返しのつかない結合が起こるということ。
つまり、クラスBをクラスAの外でnewして依存性注入(コンストラクタなどでnewしたクラスBを渡す)してれば疎結合性は保たれるが
クラスBのメソッドでインターフェースのワンクッションを挟まずに直接プログラムしたり、クラスBのコンストラクタなどでクラスAを直接newしたりすると疎結合性が一気に崩壊する。
そして結合疎結合の本質は>>169が良いこと言ってて、コピペした時に芋ずる式に他モジュールが付いてくるか否かで測れる。
C++のテンプレートの疎結合性は的外れ的なコメントがあったけど、個人的にはコピペの原則に当てはめると立派な疎結合してるように感じた。
わかりにくかったのでもっかい書く
ポイントは「インターフェースに対してプログラミングすること」が疎結合の前提であり、「どこでnewするか」の判断を誤ると一気に取り返しのつかない結合が起こるということ。
つまり、クラスBをクラスAの外でnewして依存性注入(コンストラクタなどでnewしたクラスBを渡す)してれば疎結合性は保たれるが
クラスBのメソッドでインターフェースのワンクッションを挟まずに直接プログラムしたり、クラスBのコンストラクタなどでクラスAを直接newしたりすると疎結合性が一気に崩壊する。
そして結合疎結合の本質は>>169が良いこと言ってて、コピペした時に芋ずる式に他モジュールが付いてくるか否かで測れる。
C++のテンプレートの疎結合性は的外れ的なコメントがあったけど、個人的にはコピペの原則に当てはめると立派な疎結合してるように感じた。
182仕様書無しさん
2018/04/10(火) 01:14:07.38 疎結合合戦をしたいわけじゃなくて
関連があるなら結合があるべきだし
関連がないならあるべきでないしって話であるべきだよね?
ネジでくっつけるところをマグネットで付けて喜んでるアホに見える
関連があるなら結合があるべきだし
関連がないならあるべきでないしって話であるべきだよね?
ネジでくっつけるところをマグネットで付けて喜んでるアホに見える
183仕様書無しさん
2018/04/10(火) 01:18:55.41 >>182
ワロタww
その通りだよ
だからネジでいいところはネジで作らなければ、それはオーバーインプリメンツだおw
ハローワールドを画面に出力するのに、いろんなモジュール作ったりして遠回しに実現することは、イケてない。
ワロタww
その通りだよ
だからネジでいいところはネジで作らなければ、それはオーバーインプリメンツだおw
ハローワールドを画面に出力するのに、いろんなモジュール作ったりして遠回しに実現することは、イケてない。
185仕様書無しさん
2018/04/10(火) 02:03:59.52 なんとなく思った事を、一言だけ言わせてくれ
マ板じゃなくて厶板でやれ
マ板じゃなくて厶板でやれ
186仕様書無しさん
2018/04/10(火) 06:53:32.48 ここでいいよ
188仕様書無しさん
2018/04/10(火) 09:10:01.78 C++のテンプレートみたいにインターフェース以外で
疎結合を実現する方法って他に何があるの?
疎結合を実現する方法って他に何があるの?
189仕様書無しさん
2018/04/10(火) 10:45:43.04 自然言語処理の知識はゼロなのでわからないです。面白いアイデアだと思うので、Twitterの自然言語処理が専門の方々に聞いてみては?
https://peing.net/ja/q/417c9e29-35de-4c95-8323-afd6a50fcbc7
コンピューターのための自然言語理解シミュレ
ーターというのは可能ですか?
例えば第二次大戦の推移について、言葉ではな
くて動画で理解する方法もあります。
言葉で説明するよりもマインクラフトのような
創作ゲーム表現に変えたほうが分かりやすいで
す。
けれども自分が読み漁った人工知能や自然言語
処理の本にはそうしたアプローチは見つからな
かったです。
言語はただの記号の羅列で機械は現実世界を全
く知らない。でもそういうことなら、
テレビゲームのような仮想世界をインプットし
て、自然言語で操作したらいいと思います。
というか自然言語入力でときめきメモリアルみ
たいなゲームをやってみたいてす。
https://peing.net/ja/q/417c9e29-35de-4c95-8323-afd6a50fcbc7
コンピューターのための自然言語理解シミュレ
ーターというのは可能ですか?
例えば第二次大戦の推移について、言葉ではな
くて動画で理解する方法もあります。
言葉で説明するよりもマインクラフトのような
創作ゲーム表現に変えたほうが分かりやすいで
す。
けれども自分が読み漁った人工知能や自然言語
処理の本にはそうしたアプローチは見つからな
かったです。
言語はただの記号の羅列で機械は現実世界を全
く知らない。でもそういうことなら、
テレビゲームのような仮想世界をインプットし
て、自然言語で操作したらいいと思います。
というか自然言語入力でときめきメモリアルみ
たいなゲームをやってみたいてす。
192仕様書無しさん
2018/04/10(火) 23:28:17.29193仕様書無しさん
2018/04/11(水) 00:21:14.21 >>192
なるほど
ダックタイピングって言うんだっけ?pythonやJavaScriptみたいな言語は型に縛られないからC++のようなテンプレートを必要としないってことか。
うーんと、C++のテンプレートがただ型の異なるコードに対応できるものと考えると、C++のテンプレートって疎結合関係ないような気がしてきた。型専用のマクロみたいなものか
なるほど
ダックタイピングって言うんだっけ?pythonやJavaScriptみたいな言語は型に縛られないからC++のようなテンプレートを必要としないってことか。
うーんと、C++のテンプレートがただ型の異なるコードに対応できるものと考えると、C++のテンプレートって疎結合関係ないような気がしてきた。型専用のマクロみたいなものか
194仕様書無しさん
2018/04/11(水) 00:51:38.94 クラスに依存しないで仕様に依存するのが疎結合じゃないの?
196仕様書無しさん
2018/04/11(水) 22:43:47.41 >>193
> ダックタイピングって言うんだっけ?pythonやJavaScriptみたいな言語は型に縛られないからC++のようなテンプレートを必要としないってことか。
関数の引数は型に縛られないが、
関数の中身は型に縛られるんだよね
foo(obj) { ← 確かに型に縛られないよ
obj.hello(); ← でも結局ここでhelloメソッドがあること縛られてる。
}
んで、コードが長くなったら見通しが悪くなって、
objって一体何のメソッドを必要とするんだ?ってなる。
そこでコメントとしてて書くのさ
// objはhelloメソッドを持っていること ← 結局これがインターフェース
foo(obj) {
obj.hello();
}
> ダックタイピングって言うんだっけ?pythonやJavaScriptみたいな言語は型に縛られないからC++のようなテンプレートを必要としないってことか。
関数の引数は型に縛られないが、
関数の中身は型に縛られるんだよね
foo(obj) { ← 確かに型に縛られないよ
obj.hello(); ← でも結局ここでhelloメソッドがあること縛られてる。
}
んで、コードが長くなったら見通しが悪くなって、
objって一体何のメソッドを必要とするんだ?ってなる。
そこでコメントとしてて書くのさ
// objはhelloメソッドを持っていること ← 結局これがインターフェース
foo(obj) {
obj.hello();
}
198仕様書無しさん
2018/04/12(木) 07:07:30.91 疎結合の話が途中に出てくる
https://qiita.com/carotene555/items/942bef4c7b1529cff572
https://qiita.com/carotene555/items/942bef4c7b1529cff572
199仕様書無しさん
2018/04/14(土) 11:50:31.79200仕様書無しさん
2018/04/14(土) 11:51:40.87 コピペしなくて良いよ
201仕様書無しさん
2018/04/14(土) 11:51:47.87 ウンコの子
202仕様書無しさん
2018/04/14(土) 12:05:02.07 設計にこだわりすぎるとダメよね
203仕様書無しさん
2018/04/14(土) 12:28:36.90 >>202
そりゃお前程度が設計にこだわったところで大したもんは出てこないし、そもそもしっかり設計されてないと構築できないほどの難度のものには縁がないだろうし
そりゃお前程度が設計にこだわったところで大したもんは出てこないし、そもそもしっかり設計されてないと構築できないほどの難度のものには縁がないだろうし
204仕様書無しさん
2018/04/14(土) 13:51:43.02 設計して実装して
実装が増えてくると設計がダメって気が付いて
コンバータ作って設計やり直して、
の繰り返し
いきなり完璧な設計できる人尊敬するわ
実装が増えてくると設計がダメって気が付いて
コンバータ作って設計やり直して、
の繰り返し
いきなり完璧な設計できる人尊敬するわ
205仕様書無しさん
2018/04/14(土) 13:55:39.43207仕様書無しさん
2018/04/14(土) 14:59:44.24 >>206
当たり前だろ?
例えば家をリフォームすると言っても
既存の部分に手を入れずにリファームなんてできない
そこまで見積もりに含める
2階建ての家を3階に改築する時に、3階部分を
追加するだけの費用を見積もるやつはいない。
3階に改築できるかどうか調べて場合によっては基礎工事からやり直し
追加部分だけ請求すればいいわけじゃないんだよ?
もしそんな事してれば、それは馬鹿かマヌケのどちらかだ
当たり前だろ?
例えば家をリフォームすると言っても
既存の部分に手を入れずにリファームなんてできない
そこまで見積もりに含める
2階建ての家を3階に改築する時に、3階部分を
追加するだけの費用を見積もるやつはいない。
3階に改築できるかどうか調べて場合によっては基礎工事からやり直し
追加部分だけ請求すればいいわけじゃないんだよ?
もしそんな事してれば、それは馬鹿かマヌケのどちらかだ
208仕様書無しさん
2018/04/14(土) 15:05:03.69 そうなるとリファクタリングって言葉が何で存在するのかわからん
ただの改修作業じゃん
ただの改修作業じゃん
209仕様書無しさん
2018/04/14(土) 15:14:49.00 >>208
改修作業に用いるテクニックのことだけど?
リファクタリングは、新しい完成図に持っていくときに使うテクニック。
リファクタリングと仕様変更を交互に繰り返しながら修正を行う
リファクタリングを行うと仕様変更が楽になる(そのために行う)から
不具合率も低下するし、テスト済みの既存のコードを活かせる
リファクタリングを行わないで仕様変更しようとすると
構造的に無理な所が出てくるのですぐに破綻する
改修作業に用いるテクニックのことだけど?
リファクタリングは、新しい完成図に持っていくときに使うテクニック。
リファクタリングと仕様変更を交互に繰り返しながら修正を行う
リファクタリングを行うと仕様変更が楽になる(そのために行う)から
不具合率も低下するし、テスト済みの既存のコードを活かせる
リファクタリングを行わないで仕様変更しようとすると
構造的に無理な所が出てくるのですぐに破綻する
210仕様書無しさん
2018/04/14(土) 15:19:27.46 リフォームするときに既存の部分に手を入れるのは
当たり前の話なんで「既存の部分修正代」して
別に見積もりを出すことはないだろう
リファクタリングも同じ。既存の部分を修正するのは
当たり前の話なんだから、わざわざ分離して見積もりを
する必要はない。改修作業の中に自動的に組み込まれるもの
それを組み込まないで、追加部分だけで考えるから
デスマになる
当たり前の話なんで「既存の部分修正代」して
別に見積もりを出すことはないだろう
リファクタリングも同じ。既存の部分を修正するのは
当たり前の話なんだから、わざわざ分離して見積もりを
する必要はない。改修作業の中に自動的に組み込まれるもの
それを組み込まないで、追加部分だけで考えるから
デスマになる
211仕様書無しさん
2018/04/14(土) 15:23:41.83213仕様書無しさん
2018/04/14(土) 15:26:41.54 > やってもやらなくても実現できる要件は同じなんでしょ?
リファクタリングすることで要件を楽に実現できる
全体の時間も短くなる
リファクタリングすることで要件を楽に実現できる
全体の時間も短くなる
215仕様書無しさん
2018/04/14(土) 15:27:57.46 リファクタリングはどの工程で何をするの?
216仕様書無しさん
2018/04/14(土) 15:29:15.38 オブジェクトとはすなわち物質、本来形のないバーチャルなものまで、例えば仮想通貨やゲーム内で使われるコインなどの加熱した取引を戒める言葉
217仕様書無しさん
2018/04/14(土) 15:29:30.04 リファクタリングとは、ソフトウェアの外部的振る舞いを保ちつつ、理解や修正が簡単になるように、内部構造を改善することです。
改修作業のことではありません
改修作業のことではありません
218仕様書無しさん
2018/04/14(土) 15:30:11.12219仕様書無しさん
2018/04/14(土) 15:30:32.02 納品段階で要件定義書をこっそり修正する
Re-Fact
代替的事実、事実の再構成
それこそがリファクタ
Re-Fact
代替的事実、事実の再構成
それこそがリファクタ
222仕様書無しさん
2018/04/14(土) 15:32:55.86 もちろん新規作成でもリファクタリングは行う。
最初から無駄のないコードを書ける人なんていない
リファクタリングを行って(最後にやるという意味ではない)
それでコードは完成する。だからコードを書くときには
必然的にリファクタリングが含まれてる
最初から無駄のないコードを書ける人なんていない
リファクタリングを行って(最後にやるという意味ではない)
それでコードは完成する。だからコードを書くときには
必然的にリファクタリングが含まれてる
224仕様書無しさん
2018/04/14(土) 15:34:58.27 改修を仕様どおりに作らなかったっっものを
直すことだと思ってるんだろw
直すことだと思ってるんだろw
225仕様書無しさん
2018/04/14(土) 15:36:32.78 リファクタリングとかいいから仕事しろよ
226仕様書無しさん
2018/04/14(土) 15:38:52.19 ほらみてみw
またリファクタリングが仕事の一部だと理解してないやつが来たw
釣れる釣れる釣りまくれーw
またリファクタリングが仕事の一部だと理解してないやつが来たw
釣れる釣れる釣りまくれーw
227仕様書無しさん
2018/04/14(土) 15:40:34.31231仕様書無しさん
2018/04/14(土) 15:48:07.00 >>230
簡単に言えば、1000行のコード見てバグを探すのと
100行のコード見てバグを探すの
どちらが時間少なくて済むかって話。
また10000行のコードは、1000行の10倍の時間で足りると思う?
そう全然足りない。増えた行数以上に時間がかかる
同じことを実現するのでも少なくてわかりやすいほうが
コードをレビューする時間は減るし、
バグを入れ込むすきも減る。テストの時間も減る
簡単に言えば、1000行のコード見てバグを探すのと
100行のコード見てバグを探すの
どちらが時間少なくて済むかって話。
また10000行のコードは、1000行の10倍の時間で足りると思う?
そう全然足りない。増えた行数以上に時間がかかる
同じことを実現するのでも少なくてわかりやすいほうが
コードをレビューする時間は減るし、
バグを入れ込むすきも減る。テストの時間も減る
233仕様書無しさん
2018/04/14(土) 15:50:45.35 反論ないならレスいらないよw
234仕様書無しさん
2018/04/14(土) 15:51:50.24 虚構だよな
235仕様書無しさん
2018/04/14(土) 15:52:19.62 一人で作っていて書いたコード全部覚えてますってなら
1万行のコードでも良いかもしれないが、
仕事だと、コードのレビューがあって自分以外の人が読むし
バグった時の修正だって、自分以外の人がやるかもしれない
その時に理解しやすいコードとそうでないコードでは
数倍の差がでる。コスト意識を持っていれば
リファクタリングしてようやく完成っていうのがわかるはず
1万行のコードでも良いかもしれないが、
仕事だと、コードのレビューがあって自分以外の人が読むし
バグった時の修正だって、自分以外の人がやるかもしれない
その時に理解しやすいコードとそうでないコードでは
数倍の差がでる。コスト意識を持っていれば
リファクタリングしてようやく完成っていうのがわかるはず
236仕様書無しさん
2018/04/14(土) 15:53:31.77 リファクタリングして完成だし、
仕様が変わって設計も変わったら、
新しい設計にそってコードを変更する必要がある
設計無視した(つまり旧設計の)コードのままではだめ
仕様が変わって設計も変わったら、
新しい設計にそってコードを変更する必要がある
設計無視した(つまり旧設計の)コードのままではだめ
237仕様書無しさん
2018/04/14(土) 16:16:51.53 先輩がリファクタリングしたコード、僕には読みにくかったんで、僕にとって読みやすいようにリファクタリングしときました
239仕様書無しさん
2018/04/14(土) 16:20:04.90 大体リファクタってそんなのばかりだなあ
240仕様書無しさん
2018/04/14(土) 16:23:12.67 >>238
お前らのコードはリファクタリングすべきだとコンサルに言われたから、外部の業者に入ってもらってリファクタリングするわ、
お前らのコードはリファクタリングすべきだとコンサルに言われたから、外部の業者に入ってもらってリファクタリングするわ、
244仕様書無しさん
2018/04/14(土) 17:23:54.47 リファックタリング
245仕様書無しさん
2018/04/14(土) 19:03:13.39 コミットのコメントがリファクタリングだらけで
246仕様書無しさん
2018/04/14(土) 19:05:16.63 だから間違った使い方すんなって
"あるべき設計・コード" を考えることがリファクタリングなんじゃなくて
"あるべき設計・コード" に移行していくやり方がリファクタリング
お前らが言ってる読みにくかったんで〜は
リファクタリングじゃなくて、
あるべきコードの話になってるだろ
"あるべき設計・コード" を考えることがリファクタリングなんじゃなくて
"あるべき設計・コード" に移行していくやり方がリファクタリング
お前らが言ってる読みにくかったんで〜は
リファクタリングじゃなくて、
あるべきコードの話になってるだろ
249219
2018/04/14(土) 20:45:00.22 まじめにいってるのに
おそらく本当にそうだったんだ
政治的レッテルに使われるのを嫌がって単語がしょうもないIT用語として上書きされたんだ
もっと適切な言葉もあったろうに
胡散臭い呼び方がされてるのは
きっと本当にそのせいなんだ
おそらく本当にそうだったんだ
政治的レッテルに使われるのを嫌がって単語がしょうもないIT用語として上書きされたんだ
もっと適切な言葉もあったろうに
胡散臭い呼び方がされてるのは
きっと本当にそのせいなんだ
250仕様書無しさん
2018/04/14(土) 20:54:25.34 あの客ムカツクんで動かなくなるようにリファクタリングしておきました
253仕様書無しさん
2018/04/14(土) 20:57:52.54 本来の意味の話
257仕様書無しさん
2018/04/14(土) 21:46:59.35 リファクタリングやるのでお金ちょーだいって?
通らないし必要があるとも思えない
通らないし必要があるとも思えない
258仕様書無しさん
2018/04/14(土) 21:48:50.97 だいたい本当に効果あるなら
素直な改修より費用下がるはずだしな
素直な改修より費用下がるはずだしな
259仕様書無しさん
2018/04/14(土) 21:57:51.90 >>257
仕事だろ?なんで必要な仕事で金もらえないんだ?
それはお前が重要性を分かってないだけじゃねーか
客のせいにするな。お前の問題だ
> だいたい本当に効果あるなら
> 素直な改修より費用下がるはずだしな
ただで良いものが作れると思ってんの?
仕事だろ?なんで必要な仕事で金もらえないんだ?
それはお前が重要性を分かってないだけじゃねーか
客のせいにするな。お前の問題だ
> だいたい本当に効果あるなら
> 素直な改修より費用下がるはずだしな
ただで良いものが作れると思ってんの?
260仕様書無しさん
2018/04/14(土) 22:00:02.06 そんなコードに拘り過ぎてもね
261仕様書無しさん
2018/04/14(土) 22:00:37.11 コード無しで動くものが作れるというのなら
やってみると良い
やってみると良い
263仕様書無しさん
2018/04/14(土) 22:33:53.14 >>262
アホかw
動きを変える時に既存の部分に手を入れやすくするために
行うのがリファクタリングなんだよw
なんで既存の部分を拡張するときに、
既存の部分に一切手を入れずに拡張しないといかんのだ
そんなことをするとシステムが破綻するだろ
そんなの客は望んでない
アホかw
動きを変える時に既存の部分に手を入れやすくするために
行うのがリファクタリングなんだよw
なんで既存の部分を拡張するときに、
既存の部分に一切手を入れずに拡張しないといかんのだ
そんなことをするとシステムが破綻するだろ
そんなの客は望んでない
264仕様書無しさん
2018/04/14(土) 22:48:28.81 ま、客の心理としては、リファクタリングに金なんて出したくないよな
効果があるならちゃんと定量的に示さないと
効果があるならちゃんと定量的に示さないと
266仕様書無しさん
2018/04/14(土) 22:52:35.01 >そんなことをするとシステムが破綻するだろ
おれの知る限り実態とはかけ離れてるが
いい脅し文句だな
おれの知る限り実態とはかけ離れてるが
いい脅し文句だな
267仕様書無しさん
2018/04/14(土) 22:57:51.82 >>266
設計を改善しないで拡張ばかり繰り返して
手がつけられなくなったプロジェクトは山ほどあるぞ
リファクタリングの概念がなかったCOBOL時代のプロジェクトなんか
そんな感じで一行修正するだけでもその影響範囲が
どこまであるのかさっぱりわからない状態になってるぞ
設計を改善しないで拡張ばかり繰り返して
手がつけられなくなったプロジェクトは山ほどあるぞ
リファクタリングの概念がなかったCOBOL時代のプロジェクトなんか
そんな感じで一行修正するだけでもその影響範囲が
どこまであるのかさっぱりわからない状態になってるぞ
268仕様書無しさん
2018/04/14(土) 22:59:08.23 ってか不必要に改変してテスト工数が増えるだけ
そしてそれは既存コードの破壊の可能性を意味する
最も客の信頼を破壊する行為だ
リファクタリングで工数が増える要素はいくらでもあるが
お前が主張する工数が減る要素は欠片も見えない
そしてそれは既存コードの破壊の可能性を意味する
最も客の信頼を破壊する行為だ
リファクタリングで工数が増える要素はいくらでもあるが
お前が主張する工数が減る要素は欠片も見えない
269仕様書無しさん
2018/04/14(土) 22:59:44.75 >>264
> ま、客の心理としては、リファクタリングに金なんて出したくないよな
> 効果があるならちゃんと定量的に示さないと
なんでそこに客が出てくるのか分からんのだが?
修正=リファクタリング+機能追加・変更だろ
> ま、客の心理としては、リファクタリングに金なんて出したくないよな
> 効果があるならちゃんと定量的に示さないと
なんでそこに客が出てくるのか分からんのだが?
修正=リファクタリング+機能追加・変更だろ
270仕様書無しさん
2018/04/14(土) 23:00:19.54271仕様書無しさん
2018/04/14(土) 23:01:38.09 実際問題普通に改修したほうが安い
既存部分に手を入れやすくなるっていうのが
具体的に何を示してるんかはわからんが
テスト工数が減るとか増えるとか具体的なリスクやメリットを説明しないといけないのはもちろん
思ったより工数がかさんだら客は受注そのものをしなくなる
へたなこと言ったら将来にわたって改修の割引を要求されるかもしらん
既存部分に手を入れやすくなるっていうのが
具体的に何を示してるんかはわからんが
テスト工数が減るとか増えるとか具体的なリスクやメリットを説明しないといけないのはもちろん
思ったより工数がかさんだら客は受注そのものをしなくなる
へたなこと言ったら将来にわたって改修の割引を要求されるかもしらん
274仕様書無しさん
2018/04/14(土) 23:04:27.75 ソースが汚いので綺麗にしておきました
動作は変わりません
とか勝手にやったらちゃんと管理してるようなとこは検収拒否もあり得るレベルだと言うことは認識したほうがいい
動作は変わりません
とか勝手にやったらちゃんと管理してるようなとこは検収拒否もあり得るレベルだと言うことは認識したほうがいい
275仕様書無しさん
2018/04/14(土) 23:12:05.78276仕様書無しさん
2018/04/14(土) 23:19:02.03 混ぜ込んでばれない程度ならいいけどな
277仕様書無しさん
2018/04/14(土) 23:19:58.46 っていうか、見積もりだす時に
既存のコードの状態に関係なく、
まったく同じ費用を出すのか?
デスマの未来しか見えないなw
既存のコードの状態に関係なく、
まったく同じ費用を出すのか?
デスマの未来しか見えないなw
279仕様書無しさん
2018/04/14(土) 23:27:05.74 派遣や請け負いだとコードが自分達の資産である意識が低いから読みやすさとかどーでもいい、動いて検収に通りさえすればいいという意識が働く
リファクタリングとかは時間が余った時の暇潰し
リファクタリングとかは時間が余った時の暇潰し
280仕様書無しさん
2018/04/14(土) 23:30:29.87 意識が低いというか実際自分のものじゃないじゃないか
そのうえコード所有者の客が工数くれないのになぜ勝手にやろうとするのか
そのうえコード所有者の客が工数くれないのになぜ勝手にやろうとするのか
282仕様書無しさん
2018/04/14(土) 23:37:04.32284仕様書無しさん
2018/04/14(土) 23:39:11.64 じゃあ工数の中に、やるべきことを含めないで
ぎりぎりの見積もりを出すんだろうねw
ぎりぎりの見積もりを出すんだろうねw
285KAC
2018/04/14(土) 23:40:38.16 というか、下請け作業の発注元を「客」と表現するのやめとけ。
話が混乱してるぞ。
話が混乱してるぞ。
286仕様書無しさん
2018/04/14(土) 23:41:30.22 客のせいにしているけど、結局は自分がやるべきことを
やらなくてもいいと思ってるから、低い見積もりだして
どんどんシステムをダメにしていってるってのが
分かってないんだろうね
やらなくてもいいと思ってるから、低い見積もりだして
どんどんシステムをダメにしていってるってのが
分かってないんだろうね
287仕様書無しさん
2018/04/14(土) 23:44:41.22 やらないほうが安いからやるのがどうかって話してんのに
なんでいつの間にか「やるべきこと」になってんの?
なんでいつの間にか「やるべきこと」になってんの?
289仕様書無しさん
2018/04/14(土) 23:46:41.99 >>287
まともなものを作るにはどちらにしろ金がかかる。
まともなものを作るという前提においては
リファクタリングしたほうが安くなる
それに対して、バグばかりでろくに動かない
品質が低いものをでいいだろ、どうせ検収に通ればOK
使うのは俺らじゃないし、で作れば金はかからないだろうが
できるのはゴミ。
まともなものを作るにはどちらにしろ金がかかる。
まともなものを作るという前提においては
リファクタリングしたほうが安くなる
それに対して、バグばかりでろくに動かない
品質が低いものをでいいだろ、どうせ検収に通ればOK
使うのは俺らじゃないし、で作れば金はかからないだろうが
できるのはゴミ。
290仕様書無しさん
2018/04/14(土) 23:49:46.95 >>287
リファクタしたら少なくともそれまでの手動テストはやりなおしじゃん
稼働実績も影響範囲内でリセットになるし
一般的にいってリファクタすると一時的にせよ品質は下がる
おまえのいってる品質向上の根拠ってどこにあんの?
リファクタしたら少なくともそれまでの手動テストはやりなおしじゃん
稼働実績も影響範囲内でリセットになるし
一般的にいってリファクタすると一時的にせよ品質は下がる
おまえのいってる品質向上の根拠ってどこにあんの?
292仕様書無しさん
2018/04/14(土) 23:58:30.24 >>290
> リファクタしたら少なくともそれまでの手動テストはやりなおしじゃん
リファクタしなくても修正するんだろ?
じゃあその修正箇所はどちらにしろやり直しじゃん
なら修正箇所のリファクタリングしても同じなんだけど
> 一般的にいってリファクタすると一時的にせよ品質は下がる
用語の使い方が間違ってる。
お前はただ単に「修正」の意味で使ってる
定義からしてリファクタリングは品質を上げるものなので
下がることはない。(下がる時点でそれはリファクタリングになっていない)
> おまえのいってる品質向上の根拠ってどこにあんの?
客観的な計測ツールで計測できることをわざわざ質問しないでくれないかな?
コードの品質を調べるツールならいくらでもあるだろ
http://blog.y-yuki.net/entry/2017/05/13/000000
> リファクタしたら少なくともそれまでの手動テストはやりなおしじゃん
リファクタしなくても修正するんだろ?
じゃあその修正箇所はどちらにしろやり直しじゃん
なら修正箇所のリファクタリングしても同じなんだけど
> 一般的にいってリファクタすると一時的にせよ品質は下がる
用語の使い方が間違ってる。
お前はただ単に「修正」の意味で使ってる
定義からしてリファクタリングは品質を上げるものなので
下がることはない。(下がる時点でそれはリファクタリングになっていない)
> おまえのいってる品質向上の根拠ってどこにあんの?
客観的な計測ツールで計測できることをわざわざ質問しないでくれないかな?
コードの品質を調べるツールならいくらでもあるだろ
http://blog.y-yuki.net/entry/2017/05/13/000000
294仕様書無しさん
2018/04/15(日) 00:07:00.26 >>292
おまえさっき改修のために既存部分にも手を入れるって言ってたやん!
つまりコードメトリクス上のスコアを上げるために改修部分に合わせて既存部分も修正するんだろ?
UTまでで図れる品質は多少上がるだろうが、結合試験以降の分は?
>定義からしてリファクタリングは品質を上げるものなので
>下がることはない。(下がる時点でそれはリファクタリングになっていない)
ちょっと背筋さむくなった
主張が変わってもこのヤバい思考は見覚えがある
…else…
おまえさっき改修のために既存部分にも手を入れるって言ってたやん!
つまりコードメトリクス上のスコアを上げるために改修部分に合わせて既存部分も修正するんだろ?
UTまでで図れる品質は多少上がるだろうが、結合試験以降の分は?
>定義からしてリファクタリングは品質を上げるものなので
>下がることはない。(下がる時点でそれはリファクタリングになっていない)
ちょっと背筋さむくなった
主張が変わってもこのヤバい思考は見覚えがある
…else…
295仕様書無しさん
2018/04/15(日) 00:08:01.95 >>292
意味不明なこと言ってんなよ
客側でした試験もやり直しだし
検収もやり直しだし
今までの実績も無価値になっちゃうし
一体どこに品質を上げる要素があんだよ
寝ぼけてんのかよ
テメーみてーな単価50万じゃすまねーヤツの工数まで無価値にしてんだぞ
テメーだけで仕事やってんのかよ
意味不明なこと言ってんなよ
客側でした試験もやり直しだし
検収もやり直しだし
今までの実績も無価値になっちゃうし
一体どこに品質を上げる要素があんだよ
寝ぼけてんのかよ
テメーみてーな単価50万じゃすまねーヤツの工数まで無価値にしてんだぞ
テメーだけで仕事やってんのかよ
296仕様書無しさん
2018/04/15(日) 00:10:16.66 >>294
> おまえさっき改修のために既存部分にも手を入れるって言ってたやん!
> つまりコードメトリクス上のスコアを上げるために改修部分に合わせて既存部分も修正するんだろ?
え? 既存の部分と結合するのに、その部分のテストはしないつもり?
まさか自分が書いた部分だけをテストすればOKだと思ってる?
> おまえさっき改修のために既存部分にも手を入れるって言ってたやん!
> つまりコードメトリクス上のスコアを上げるために改修部分に合わせて既存部分も修正するんだろ?
え? 既存の部分と結合するのに、その部分のテストはしないつもり?
まさか自分が書いた部分だけをテストすればOKだと思ってる?
297仕様書無しさん
2018/04/15(日) 00:11:26.96 シチュエーションに対する想像力なさすぎやしませんかね
298仕様書無しさん
2018/04/15(日) 00:12:49.27299仕様書無しさん
2018/04/15(日) 00:13:10.47 >>295
> 一体どこに品質を上げる要素があんだよ
素直に、品質を上げる要素がわかりませんって
いったほうが良いのでは?
何度も言ってる。コードをあるべき姿に修正すると
レビューする時間も減るしバグの見逃しも減る。
客からの要請でコードを修正するとき、
修正したコード(とそれに関連する部分)の
レビューとテストが大幅に減る。
コードが単純であればるほど、問題ないねと判断するのが速くなる
逆にコードが複雑だと、なにをやってるのか「解析」しなければいけない
> 一体どこに品質を上げる要素があんだよ
素直に、品質を上げる要素がわかりませんって
いったほうが良いのでは?
何度も言ってる。コードをあるべき姿に修正すると
レビューする時間も減るしバグの見逃しも減る。
客からの要請でコードを修正するとき、
修正したコード(とそれに関連する部分)の
レビューとテストが大幅に減る。
コードが単純であればるほど、問題ないねと判断するのが速くなる
逆にコードが複雑だと、なにをやってるのか「解析」しなければいけない
300仕様書無しさん
2018/04/15(日) 00:14:51.21 >>298
> 要点は変更する必要もない
客が機能等を追加変更する時の話をしてるのに
なんで変更する必要がないの?
なにかを変更する時、そこにリファクタリングは
必ず含まれるってだけなんだけど
リファクタリングせずに闇雲に修正していったら
すぐに破綻する
> 要点は変更する必要もない
客が機能等を追加変更する時の話をしてるのに
なんで変更する必要がないの?
なにかを変更する時、そこにリファクタリングは
必ず含まれるってだけなんだけど
リファクタリングせずに闇雲に修正していったら
すぐに破綻する
301仕様書無しさん
2018/04/15(日) 00:14:53.02303仕様書無しさん
2018/04/15(日) 00:16:49.68 >>298
> コードを見通しが悪いとかいう意味不明な理由で
> 実績のあるコードを変更してしまうこと
実績のあるコードをそのまま使えるなら修正しなくて良いのでは?(笑)
ブラックボックスとして使えばいいでしょ。
それでその「実績のあるそのコード」に関連する部分を修正する時に
その修正にブラックボックスが耐えられるかどうか、
どうやって判断するの?
実績があるのは修正が入らない状態で、
修正が入るなら実績は意味なくなるよ。
> コードを見通しが悪いとかいう意味不明な理由で
> 実績のあるコードを変更してしまうこと
実績のあるコードをそのまま使えるなら修正しなくて良いのでは?(笑)
ブラックボックスとして使えばいいでしょ。
それでその「実績のあるそのコード」に関連する部分を修正する時に
その修正にブラックボックスが耐えられるかどうか、
どうやって判断するの?
実績があるのは修正が入らない状態で、
修正が入るなら実績は意味なくなるよ。
304仕様書無しさん
2018/04/15(日) 00:18:46.54 >>302
> お前は見通しが悪いってだけでコードを修正しちまうんだよな?
お前順番が逆w
コードを修正するときは、客の要請など理由がある時
修正するのは大前提で、理由は今の話と関係ない。
修正する時に、リファクタリングして修正するか
闇雲に修正するかの話だ。
お前は見通しが悪いものを修正するときに
見通しが悪いまま修正するんだな?
そして見通しが悪いまま他の人にレビューさせるわけだよな?
せっかくお前が時間かけて見通しが悪いものを理解しても
その理解は残さず、見通しが悪いまま残しておくと
> お前は見通しが悪いってだけでコードを修正しちまうんだよな?
お前順番が逆w
コードを修正するときは、客の要請など理由がある時
修正するのは大前提で、理由は今の話と関係ない。
修正する時に、リファクタリングして修正するか
闇雲に修正するかの話だ。
お前は見通しが悪いものを修正するときに
見通しが悪いまま修正するんだな?
そして見通しが悪いまま他の人にレビューさせるわけだよな?
せっかくお前が時間かけて見通しが悪いものを理解しても
その理解は残さず、見通しが悪いまま残しておくと
306仕様書無しさん
2018/04/15(日) 00:20:04.21 正直既存部分でも
Eclipse機能でメソッド抽出するぐらい見逃してくれとおもわんでもない
Eclipse機能でメソッド抽出するぐらい見逃してくれとおもわんでもない
307仕様書無しさん
2018/04/15(日) 00:22:58.36 >>305
> え?修正があるかもしれない?って状況であって修正があるわけじゃないんだよね?
お前ひどいな。修正があるかもしれない?状況って
俺言ってないじゃん。
そうやってお前は、嘘つきまくるわけか
嘘つき
修正するのは大前提。客が修正したいって言ってるんだから
修正するのは決定事項で、修正するかどうかは今の話に関係ない
> え?修正があるかもしれない?って状況であって修正があるわけじゃないんだよね?
お前ひどいな。修正があるかもしれない?状況って
俺言ってないじゃん。
そうやってお前は、嘘つきまくるわけか
嘘つき
修正するのは大前提。客が修正したいって言ってるんだから
修正するのは決定事項で、修正するかどうかは今の話に関係ない
313仕様書無しさん
2018/04/15(日) 00:27:42.96 サイコパスもいいとこだな
結局リファクタリングのビジネス的なメリットを一切挙げることができてないことに気づいてるの?彼は
結局リファクタリングのビジネス的なメリットを一切挙げることができてないことに気づいてるの?彼は
314仕様書無しさん
2018/04/15(日) 00:28:43.22 中身の無い奴ほど長文を書く
316仕様書無しさん
2018/04/15(日) 00:31:15.72 そうではないといいたいところだが実は喧嘩売りたい
マーチンファウラーは悪魔
マーチンファウラーは悪魔
317仕様書無しさん
2018/04/15(日) 00:31:28.12318仕様書無しさん
2018/04/15(日) 00:33:28.86 権威に根差してものを考えるタイプなんだろう
たぶん幼少時の教育が悪すぎた
たぶん幼少時の教育が悪すぎた
320仕様書無しさん
2018/04/15(日) 00:44:24.24 ジャップ君もといelse不要ガイジのいなくなった上級雑談スレの惨状を見るにつけ
それはどうか微妙なところ
滅茶苦茶でも一応相手の言うこと聞いてきっちり答えてるから会話が成立する
茶化すだけならサルでもできるし
それはどうか微妙なところ
滅茶苦茶でも一応相手の言うこと聞いてきっちり答えてるから会話が成立する
茶化すだけならサルでもできるし
321仕様書無しさん
2018/04/15(日) 01:38:37.55 機能追加のために既存コードを改修することをリファクタリングと言ってる人と、設計改善をリファクタリングと言ってる人で平行線
322仕様書無しさん
2018/04/15(日) 02:14:19.62 https://medaka.5ch.net/test/read.cgi/prog/1523721765/
Javaじじいをこれ以上だませなくなったのでターゲット変えた模様
コードのにおいとか言われて
他人のコードを場当たり的にぐちゃぐちゃにする新人がまたどれだけ出ることやら
Javaじじいをこれ以上だませなくなったのでターゲット変えた模様
コードのにおいとか言われて
他人のコードを場当たり的にぐちゃぐちゃにする新人がまたどれだけ出ることやら
324仕様書無しさん
2018/04/15(日) 04:50:40.58 http://www.atmarkit.co.jp/ait/articles/1403/25/news033_2.html
> Scenario: TDDのサイクルはRED、GREEN、REFACTORからなっています。
> GREENからREFACTORを飛ばすことはありますが、REDからGREENを飛ばしてREFACTORしないのが特徴です。
> これはテストなどによって保証されている範囲でのみ内部を変更することを「REFACTORING」と呼ぶという定義によるものです。
これはテストなどによって保証されている範囲でのみ内部を変更することを
「REFACTORING」と呼ぶという定義によるものです。
これはテストなどによって保証されている範囲でのみ内部を変更することを
「REFACTORING」と呼ぶという定義によるものです。
定義ぐらい知っておけよ
> Scenario: TDDのサイクルはRED、GREEN、REFACTORからなっています。
> GREENからREFACTORを飛ばすことはありますが、REDからGREENを飛ばしてREFACTORしないのが特徴です。
> これはテストなどによって保証されている範囲でのみ内部を変更することを「REFACTORING」と呼ぶという定義によるものです。
これはテストなどによって保証されている範囲でのみ内部を変更することを
「REFACTORING」と呼ぶという定義によるものです。
これはテストなどによって保証されている範囲でのみ内部を変更することを
「REFACTORING」と呼ぶという定義によるものです。
定義ぐらい知っておけよ
325仕様書無しさん
2018/04/15(日) 06:49:51.02 定義が現実の課題の何を解決してくれるんだ
326仕様書無しさん
2018/04/15(日) 07:27:26.07 ちゃんと定義しないと何議論してるか分かんないじゃん
327仕様書無しさん
2018/04/15(日) 07:34:53.60 リファクタリングのメリットを定義して欲しい
328仕様書無しさん
2018/04/15(日) 07:41:54.33 リファクタリングをしない工程とはどんな手順を想定していて
リファクタリングをする工程とはどんな手順をを想定しているのか?
工数が減るならそれのどの手順でどんな理由で工数が減るのか?
品質が上がるならそれのどの手順でどんな理由で品質が上がるのか?
また、その品質を判定する基準は何か?
おおよその目処となる数字を入れて説明して欲しい
リファクタリング
→無条件で品質は上がり工数は削減できる
って言われても
( ゚д゚)はぁ?
としか
リファクタリングをする工程とはどんな手順をを想定しているのか?
工数が減るならそれのどの手順でどんな理由で工数が減るのか?
品質が上がるならそれのどの手順でどんな理由で品質が上がるのか?
また、その品質を判定する基準は何か?
おおよその目処となる数字を入れて説明して欲しい
リファクタリング
→無条件で品質は上がり工数は削減できる
って言われても
( ゚д゚)はぁ?
としか
329仕様書無しさん
2018/04/15(日) 07:48:33.45 仕様をねじ曲げる事ではない
リファクタするにはユニットテストが重要
リファクタするにはユニットテストが重要
330仕様書無しさん
2018/04/15(日) 07:50:21.74331仕様書無しさん
2018/04/15(日) 07:51:49.97 コードを整理するには広くて先を見通す視野、ある程度の経験が必要
332仕様書無しさん
2018/04/15(日) 07:53:04.79 振る舞いが変わっていないことを担保するのがユニットテスト
334仕様書無しさん
2018/04/15(日) 08:04:44.80 だって求める品質によるもの
複雑さを品質に求める分野もあれば
動きゃよいんだよどうせ派遣だしもあるし
後者にリファクタリングもテストコードも要らんだろ
ところでOOPのスレじゃないのかココ
複雑さを品質に求める分野もあれば
動きゃよいんだよどうせ派遣だしもあるし
後者にリファクタリングもテストコードも要らんだろ
ところでOOPのスレじゃないのかココ
336仕様書無しさん
2018/04/15(日) 08:24:47.34 結合通った後はコードに触ってはいけないという思想はシステムの硬直化を招き定期的なリプレースが必要となる
337仕様書無しさん
2018/04/15(日) 08:40:17.41 リファクタ推奨するメリケン人どもはどうやってそのへんクリアしてるのか知りたい
ほんとに
ほんとに
340仕様書無しさん
2018/04/15(日) 09:50:17.26 オブジェクト指向とelseは無関係ではないからelseを使うことの是非について議論したい
341仕様書無しさん
2018/04/15(日) 09:53:16.31 elseとかどうでもいい死ね
342仕様書無しさん
2018/04/15(日) 09:57:01.98 どうでもいいっていうのは、elseを使わないことでどれだけコードの見通しがよくなるかを知らない奴の意見
343仕様書無しさん
2018/04/15(日) 10:01:46.42 1メソッドの行数が長いゴミの意見
344仕様書無しさん
2018/04/15(日) 10:26:46.73 リファクタリングすれば短くなるし問題ない
346仕様書無しさん
2018/04/15(日) 11:02:17.65350仕様書無しさん
2018/04/15(日) 13:04:27.43351仕様書無しさん
2018/04/15(日) 13:05:51.89 日本ではアジャイルが流行らないわけだ
352仕様書無しさん
2018/04/15(日) 13:14:22.09353仕様書無しさん
2018/04/15(日) 17:47:40.29 2つもたてたんかい
354仕様書無しさん
2018/04/15(日) 18:59:09.34 まだまだあるぜ
リファクタリングなんて金の無駄
https://medaka.5ch.net/test/read.cgi/prog/1523780004/
ソースコードだけじゃなく設計もリファクタリングしよう!
https://medaka.5ch.net/test/read.cgi/prog/1523772587/
リファクタリングなんて金の無駄
https://medaka.5ch.net/test/read.cgi/prog/1523780004/
ソースコードだけじゃなく設計もリファクタリングしよう!
https://medaka.5ch.net/test/read.cgi/prog/1523772587/
355仕様書無しさん
2018/04/15(日) 19:50:19.56 勝手に変更する行為をリファクタリングと思い込んでるバカへ
https://medaka.5ch.net/test/read.cgi/prog/1523772103/
https://medaka.5ch.net/test/read.cgi/prog/1523772103/
356仕様書無しさん
2018/04/15(日) 20:08:29.70 汚いコードを修正のたびに何度も解析するのがプロだろ
https://medaka.5ch.net/test/read.cgi/prog/1523790217/
https://medaka.5ch.net/test/read.cgi/prog/1523790217/
357仕様書無しさん
2018/04/15(日) 20:51:53.26 こちとら1関数平均1000行コードを相手にしてるんだ
https://medaka.5ch.net/test/read.cgi/prog/1523791012/
https://medaka.5ch.net/test/read.cgi/prog/1523791012/
358仕様書無しさん
2018/04/15(日) 21:50:17.18 リファクタリングでなにがあったの?
359仕様書無しさん
2018/04/15(日) 21:52:29.67360仕様書無しさん
2018/04/16(月) 14:27:02.06 ところで、オブジェクト指向ってなんですか?
わかりやすく教えてください。
わかりやすく教えてください。
361仕様書無しさん
2018/04/16(月) 14:33:22.45 リファクタリングのことです
362仕様書無しさん
2018/04/16(月) 15:11:03.41 COBOLをリファクタリングしてもオブジェクト指向にはならなくね?
363仕様書無しさん
2018/04/16(月) 15:28:12.64 C言語でもオブジェクト指向な実装はできるんだから、COBOLでも頑張ってやれば出来んじゃね?
366仕様書無しさん
2018/04/16(月) 21:43:36.62 なんとなく漠然とオブジェクトのほうを指さしているイメージ
370仕様書無しさん
2018/04/16(月) 23:03:26.64 えらそうに振り回すだけで情報出さないくそSEの鏡
371KAC
2018/04/16(月) 23:55:16.32 調べられる事くらい調べといて貰わないと
時間とスレが無駄に消費されるだけで
百害あって一利無しだろ?
時間とスレが無駄に消費されるだけで
百害あって一利無しだろ?
372仕様書無しさん
2018/04/16(月) 23:57:31.81 百害あって一利なし
確かに
確かに
373仕様書無しさん
2018/04/17(火) 00:01:45.95 たぶんお前と一緒にオブジェクト指向の意味を考察したいわけじゃなくて
知ってる人に教えてほしかっただけだとおもうが
知った気な顔しといた挙句横から人に指図するだけで
なんの役にも立ってないおまいはなんなんだ
知ってる人に教えてほしかっただけだとおもうが
知った気な顔しといた挙句横から人に指図するだけで
なんの役にも立ってないおまいはなんなんだ
374仕様書無しさん
2018/04/17(火) 02:16:14.68 じゃあせめてオブジェクト指向とは何か三行で教えて
375仕様書無しさん
2018/04/17(火) 03:03:16.01 ち
ん
ぽ
ん
ぽ
376仕様書無しさん
2018/04/17(火) 10:18:35.28 三行もいらない。
オブジェクト指向とはポインター
オブジェクト指向とはポインター
377仕様書無しさん
2018/04/17(火) 10:52:13.75 宗教の一種だな
現実に追い詰められたプログラマの心の拠り所
OOP教FP教、DDD教、アジャイル教
経典に描かれた楽園を夢見ても、
クソ客クソPMクソ外注クソコード、現実の苦しみからは救ってくれないのが悲しいね
現実に追い詰められたプログラマの心の拠り所
OOP教FP教、DDD教、アジャイル教
経典に描かれた楽園を夢見ても、
クソ客クソPMクソ外注クソコード、現実の苦しみからは救ってくれないのが悲しいね
378仕様書無しさん
2018/04/17(火) 10:56:28.98 ジハードが必要だな。
380仕様書無しさん
2018/04/17(火) 19:29:42.72 まあC言語のファイル操作の関数を考えてみればいいんじゃね?
データ(ファイルポインタ)を内包出来ないから毎回持ち回らないといけない
データとその操作をワンセットで扱えるのが利点だと思うが
データ(ファイルポインタ)を内包出来ないから毎回持ち回らないといけない
データとその操作をワンセットで扱えるのが利点だと思うが
381仕様書無しさん
2018/04/17(火) 19:31:02.46 持ち回るというのは引数で指定する必要があるって意味ね
382仕様書無しさん
2018/04/23(月) 11:43:52.16 疎結合というのは倦怠期でセックスをしなくなった中年夫婦のようなもの
383仕様書無しさん
2018/04/27(金) 01:15:37.94 誰でもいいから早くオブジェクト指向が何か答えてくれない?
389384
2018/04/27(金) 18:35:06.26 だからまずWikipedia読もうよ
390仕様書無しさん
2018/04/27(金) 18:40:35.63 >>389
読んだらおまえが報告しろよw
読んだらおまえが報告しろよw
391仕様書無しさん
2018/04/27(金) 19:29:55.50 関連するデータと手続きを一まとめにしたもの、こいつをオブジェクトと呼ぶことにします
オブジェクトを基本単位にプログラムを作ること、そいつをオブジェクト指向と呼ぶことにします
オブジェクトを基本単位にプログラムを作ること、そいつをオブジェクト指向と呼ぶことにします
392仕様書無しさん
2018/04/27(金) 21:07:25.85 オブジェクト指向に必須ではないものを取り除いた
最小限のたオブジェクト指向には
なにがあるのでしょうか?
最小限のたオブジェクト指向には
なにがあるのでしょうか?
393仕様書無しさん
2018/04/27(金) 21:55:38.27 オブジェクト
395仕様書無しさん
2018/04/27(金) 22:50:28.34 結局戦争はなくならなかった
だが変化はあった
だが変化はあった
397仕様書無しさん
2018/04/27(金) 23:41:22.95 更に、オブジェクトを作るための型、これをクラスと呼ぶこととします(便宜上クラスから作られた実体をインスタンスと表現したりもします)
クラスの定義はまだ台本を書いただけで、インスタンス化されたときにはじめて役者がステージに上がり実際に演技をします
クラスの定義はまだ台本を書いただけで、インスタンス化されたときにはじめて役者がステージに上がり実際に演技をします
399仕様書無しさん
2018/04/28(土) 05:35:11.99 オブジェクト指向って何?に対してよくある
バカな説明レベルに戻っとる
バカな説明レベルに戻っとる
401仕様書無しさん
2018/04/28(土) 09:50:08.01 猫とかステージとか、例えが出てくるとバカっぽく見える事はあるな
解りやすければ、どんなにバカでもかまわないけど
解りやすければ、どんなにバカでもかまわないけど
402仕様書無しさん
2018/04/28(土) 10:21:26.84 もっとお馬鹿っぽいのがよかったな
403仕様書無しさん
2018/04/28(土) 10:45:42.82 わかりやすく例えて説明する
↓
その例えでは完璧に表現できないといちゃもんをつける
例えは所詮例えであって、
わからない人にわかりやすく伝えるための手段なのに
オブジェクト指向の限界みたいな話に持って
いこうとするやつがいるんだよなあぁ
あれは本当に馬鹿
↓
その例えでは完璧に表現できないといちゃもんをつける
例えは所詮例えであって、
わからない人にわかりやすく伝えるための手段なのに
オブジェクト指向の限界みたいな話に持って
いこうとするやつがいるんだよなあぁ
あれは本当に馬鹿
404仕様書無しさん
2018/04/28(土) 10:58:36.25 キャットドア…
406仕様書無しさん
2018/04/28(土) 11:15:50.89 萌えキャラに擬人化するともっとお馬鹿っぽく出来るかも知れない
407仕様書無しさん
2018/04/28(土) 11:55:28.97 これぐらい単純な例のほうがいいわ
https://qiita.com/Nekonecode/items/d194c66ddb8a27dc4345
https://qiita.com/Nekonecode/items/d194c66ddb8a27dc4345
408仕様書無しさん
2018/04/28(土) 11:59:49.19 ゲームはイメージしやすいかもな
409仕様書無しさん
2018/04/28(土) 12:45:59.35 やっぱりクラスを使わない場合の実装とかクラスライブラリの成長過程を体験しないと本当に理解は出来ないからな
411仕様書無しさん
2018/04/28(土) 19:03:29.48 犬猫の説明は有害
あれ誰が始めたんだか
あれ誰が始めたんだか
412仕様書無しさん
2018/04/28(土) 19:28:15.44 別に有害じゃない。
動物がたくさん出てくるゲームを作ろうと思ったら
CatクラスDogクラスは普通に作る。
動物がたくさん出てくるゲームを作ろうと思ったら
CatクラスDogクラスは普通に作る。
414仕様書無しさん
2018/04/28(土) 19:37:19.66416仕様書無しさん
2018/04/28(土) 21:40:47.91417仕様書無しさん
2018/04/28(土) 22:18:39.34 ある程度の経験者なら余計なイメージを経由したくは無いだろうな
418仕様書無しさん
2018/04/28(土) 22:47:23.43 ある程度の経験者なら犬猫に惑わされたりしないだろ
419仕様書無しさん
2018/04/28(土) 22:48:31.00420仕様書無しさん
2018/04/28(土) 22:50:11.70 オブジェクト指向が主流になってもうどれだけ経つよ?
いまだに使いこなせてない意味がわかんないんだけど
いまだに使いこなせてない意味がわかんないんだけど
421仕様書無しさん
2018/04/28(土) 22:57:29.79 使えるけど作れない人はいまだに五万といるよ
おまじない的にコピペで出来てしまうからね
おまじない的にコピペで出来てしまうからね
422仕様書無しさん
2018/04/29(日) 06:01:59.48 >>414
いいや、有害なのはあんただね!
オブジェクト指向で犬や猫を作ることなんてできたか?
俺はできなかったね!!俺が作ることができたのはボタンを押したら猫の声が出るおもちゃだ。
わかりやすい例え話をするんだったら、ホイールやハンドル、エンジンを使って車を作る例え話をするべきなんだ。
いいや、有害なのはあんただね!
オブジェクト指向で犬や猫を作ることなんてできたか?
俺はできなかったね!!俺が作ることができたのはボタンを押したら猫の声が出るおもちゃだ。
わかりやすい例え話をするんだったら、ホイールやハンドル、エンジンを使って車を作る例え話をするべきなんだ。
423仕様書無しさん
2018/04/29(日) 06:37:46.24 だって種分類とOOPは何の関係もないし
もし
人類のスーパクラスがあったら
それはネズミの祖先だわい
(ループ開始)
もし
人類のスーパクラスがあったら
それはネズミの祖先だわい
(ループ開始)
425仕様書無しさん
2018/04/29(日) 07:06:24.08 ネズミの祖先が人類のスーパークラスになるの?
426仕様書無しさん
2018/04/29(日) 07:06:54.48 犬猫とかのあまり実用的でない例を出さなくても
実用的な例で説明したらいいんじゃない?
例えばstringクラスとかなら、実用的だし理解しやすいだろ
実用的な例で説明したらいいんじゃない?
例えばstringクラスとかなら、実用的だし理解しやすいだろ
427仕様書無しさん
2018/04/29(日) 08:57:23.25 犬猫で納得する奴はOOPを理解していないよ
429仕様書無しさん
2018/04/29(日) 09:52:58.94 適当にいったつもりだったが
思いの外みんな賛同してくれてビビったww
思いの外みんな賛同してくれてビビったww
430仕様書無しさん
2018/04/29(日) 09:56:39.30 OOPを知っている人は犬猫をOOPで扱うことができるけど、
OOPを知らない人に犬猫をOOPとして考えた時の話をしても
正しい意味で理解できない。
OOPの犬猫の話はOOPを知っている前提の上で成立しているんだよ。
OOPを知らない人に犬猫をOOPとして考えた時の話をしても
正しい意味で理解できない。
OOPの犬猫の話はOOPを知っている前提の上で成立しているんだよ。
433仕様書無しさん
2018/04/29(日) 10:20:02.29 生きてる価値のないごみクズってホントやだね
せめて生きててごめんなさいって自害でもしてくれれば
少しは可愛げもうまれるんだろうけど
せめて生きててごめんなさいって自害でもしてくれれば
少しは可愛げもうまれるんだろうけど
434仕様書無しさん
2018/04/29(日) 10:22:54.35 お前が決めた生きてる価値とやらに合わなければ死ねとかw
435仕様書無しさん
2018/04/29(日) 10:31:17.81 死ねじゃなくて、死んでくださいってお願いだろ?
その願いが聞き届けられることはないけどw
かわいそうwwww
あ、100年後には聞き届けられてるかもなーwww
その願いが聞き届けられることはないけどw
かわいそうwwww
あ、100年後には聞き届けられてるかもなーwww
436仕様書無しさん
2018/04/29(日) 10:43:13.01 >>430
> OOPを知らない人に犬猫をOOPとして考えた時の話をしても
> 正しい意味で理解できない。
正しい意味で理解できないからだめだっていう
考え方がそもそも間違いだからなぁw
中学生ぐらいのレベルでは、原子はそれ以上分解できないという
教えられるが、実際には分解できる。
電流はプラスからマイナスに流れると教えられるが
実際にプラスからマイナスに流れているものはない
例えというのは正しく理解させるためではなく
理解するのに必要な壁を低くするためにある
小さい壁を何度も登っていけば高いところまでいけるが
最初が高いと最初の壁すら登ることさえできない
例えで必要なのは正確さではなく、身近でよく知ってるものに例えることだ
車のパーツとか趣味で車をよく知っている人じゃないとピンとこない
> OOPを知らない人に犬猫をOOPとして考えた時の話をしても
> 正しい意味で理解できない。
正しい意味で理解できないからだめだっていう
考え方がそもそも間違いだからなぁw
中学生ぐらいのレベルでは、原子はそれ以上分解できないという
教えられるが、実際には分解できる。
電流はプラスからマイナスに流れると教えられるが
実際にプラスからマイナスに流れているものはない
例えというのは正しく理解させるためではなく
理解するのに必要な壁を低くするためにある
小さい壁を何度も登っていけば高いところまでいけるが
最初が高いと最初の壁すら登ることさえできない
例えで必要なのは正確さではなく、身近でよく知ってるものに例えることだ
車のパーツとか趣味で車をよく知っている人じゃないとピンとこない
438仕様書無しさん
2018/04/29(日) 10:45:40.52 stringでいいじゃん
439仕様書無しさん
2018/04/29(日) 10:47:03.91 どこでもいいから高いところへ行ければいいと思ってる時点で馬鹿
そんな考えだと行きたいところから遠ざかることもある
そんな考えだと行きたいところから遠ざかることもある
442仕様書無しさん
2018/04/29(日) 10:52:59.05443仕様書無しさん
2018/04/29(日) 10:53:15.44 途中で方向転換とか、アジャイル厨は消えろ
445仕様書無しさん
2018/04/29(日) 10:54:58.78 >>442
進み方が知らないのは初心者
初心者にわかりやすく押している俺は理解してる
普通に目的地につけるが?
え?なに?お前初心者が一人で
頑張ってることを想定してんの?
たとえ話を使って教えている人は誰だよw
進み方が知らないのは初心者
初心者にわかりやすく押している俺は理解してる
普通に目的地につけるが?
え?なに?お前初心者が一人で
頑張ってることを想定してんの?
たとえ話を使って教えている人は誰だよw
449仕様書無しさん
2018/04/29(日) 11:00:57.06 > それは理解できない人間の詭弁だね
そうですね、あなたがそう思うのならそうなんでしょうね。お好きにどうぞ。
別に俺は困りません。
完
そうですね、あなたがそう思うのならそうなんでしょうね。お好きにどうぞ。
別に俺は困りません。
完
450仕様書無しさん
2018/04/29(日) 11:09:29.58 長文は詭弁と定義する
451仕様書無しさん
2018/04/29(日) 11:10:44.68 それが詭弁
452仕様書無しさん
2018/04/29(日) 14:40:29.58 本読めないな
453仕様書無しさん
2018/04/29(日) 15:44:55.30 長文が詭弁であって詭弁を読まないとは言っていない
454仕様書無しさん
2018/04/29(日) 15:50:59.82 読んだ後、詭弁だなで終わるから
なにも学習しない
なにも学習しない
455仕様書無しさん
2018/04/29(日) 15:54:12.49 よっぽど悔しかったらしいw
457仕様書無しさん
2018/04/29(日) 16:11:56.61 悔しくねーしw
458仕様書無しさん
2018/04/29(日) 16:14:39.14 すべてのメソッドが怒りに継承されているんですね
461仕様書無しさん
2018/04/29(日) 18:51:50.74 アジャイル界では、日本の企業で"正しく"アジャイルを導入できてるケースは皆無って言われてるからね
そもそも日本人にアジャイルは向いてないとオレは思う
だからといって、ウォーターフォールが糞であることに変わりはないけどな
そもそも日本人にアジャイルは向いてないとオレは思う
だからといって、ウォーターフォールが糞であることに変わりはないけどな
462仕様書無しさん
2018/04/29(日) 19:50:46.18 元々はトヨタの看板方式のソフトウエア版なんだけどね
463仕様書無しさん
2018/04/29(日) 20:25:35.35 >>410
だから読んだらおまえが報告しろよw
だから読んだらおまえが報告しろよw
464仕様書無しさん
2018/04/29(日) 20:28:53.39 あれ以上まとまっているものに要約は要らんわな
465仕様書無しさん
2018/04/30(月) 12:44:42.99468仕様書無しさん
2018/04/30(月) 15:01:45.98470仕様書無しさん
2018/04/30(月) 19:52:30.01471仕様書無しさん
2018/04/30(月) 20:00:08.45472仕様書無しさん
2018/04/30(月) 20:01:57.13 オブジェクト指向スレにいつも現実世界の物を作ってみろー
というバカが出てくるのか不思議で仕方ない
というバカが出てくるのか不思議で仕方ない
473仕様書無しさん
2018/04/30(月) 20:07:09.29474仕様書無しさん
2018/04/30(月) 20:11:47.79 >>473
それって、課題の複雑さにお前がついていけなかっただけじゃないの?
誰も「猫を作れ」なんてことを要求はしていないだろう
猫を描いてくださいとか、猫という字を書いてくださいというののちょっと複雑版だっただけだ
おまえなりの切り口で、お前なりの単純化と抽象化をすればよかったんだ
オブジェクト指向にかぎらずプログラムというのは常にそうだ
おまえはプログラムを始めるには幼なすぎたんだ
それって、課題の複雑さにお前がついていけなかっただけじゃないの?
誰も「猫を作れ」なんてことを要求はしていないだろう
猫を描いてくださいとか、猫という字を書いてくださいというののちょっと複雑版だっただけだ
おまえなりの切り口で、お前なりの単純化と抽象化をすればよかったんだ
オブジェクト指向にかぎらずプログラムというのは常にそうだ
おまえはプログラムを始めるには幼なすぎたんだ
475仕様書無しさん
2018/04/30(月) 20:12:42.39 >>470
> えっ、犬とか猫って生物だよね??
お前馬鹿なのか?
今はソースコードの話をしてる
class Dogだからって、生き物の犬のことではない。
仮にclass 車の部品 だとしても、
このクラスを実際に車に取り付けられるわけではない。
ほんまにおまえはアホやなw
> えっ、犬とか猫って生物だよね??
お前馬鹿なのか?
今はソースコードの話をしてる
class Dogだからって、生き物の犬のことではない。
仮にclass 車の部品 だとしても、
このクラスを実際に車に取り付けられるわけではない。
ほんまにおまえはアホやなw
476仕様書無しさん
2018/04/30(月) 20:14:21.15 >>473
> つまり、生物をプログラミングの例えに使うのは
> アンチパターンだってこと。
その理屈だと時計や人形仕掛けもアンチパターンになる。
ゼンマイはどこにあるんですか?w
オイルはどこに塗れば良いんですかw
> つまり、生物をプログラミングの例えに使うのは
> アンチパターンだってこと。
その理屈だと時計や人形仕掛けもアンチパターンになる。
ゼンマイはどこにあるんですか?w
オイルはどこに塗れば良いんですかw
477仕様書無しさん
2018/04/30(月) 20:15:18.35 >>474
> オブジェクト指向にかぎらずプログラムというのは常にそうだ
> おまえはプログラムを始めるには幼なすぎたんだ
そういうことなんだよねw
例は例であって、本物ではない。
それは誰もが知っていることなんだけど、
そのレベルで分かってない
> オブジェクト指向にかぎらずプログラムというのは常にそうだ
> おまえはプログラムを始めるには幼なすぎたんだ
そういうことなんだよねw
例は例であって、本物ではない。
それは誰もが知っていることなんだけど、
そのレベルで分かってない
478仕様書無しさん
2018/04/30(月) 20:20:41.72 >>475
バカなのはお前だ。
プログラミングやオブジェクト指向がわからない人に
わかりやすく説明する話をしてるんだよ?
犬とか猫って言われたら、犬とか猫をイメージして当然だろ!!
人工知能がどうとか言われる時代なら尚更混乱するわ!!
たしかにEngineクラスを作ったとしても
そのエンジンは実際の車には取り付けられないよ?
でも、ディスプレイの中では取り付けられるよね?
では猫は?ディスプレイの中で現実とそう大差ない猫が作れますか?
バカなのはお前だ。
プログラミングやオブジェクト指向がわからない人に
わかりやすく説明する話をしてるんだよ?
犬とか猫って言われたら、犬とか猫をイメージして当然だろ!!
人工知能がどうとか言われる時代なら尚更混乱するわ!!
たしかにEngineクラスを作ったとしても
そのエンジンは実際の車には取り付けられないよ?
でも、ディスプレイの中では取り付けられるよね?
では猫は?ディスプレイの中で現実とそう大差ない猫が作れますか?
484仕様書無しさん
2018/04/30(月) 20:40:24.90 たいていの業務だと、猫シミュレーターなんか作らんからな
猫の毛並みだの血統だの
振る舞いっていったら鳴いたりウンコ漏らしたりすることではなく、
猫クラスからデータを取得するとか、DBにデータを保存するとか、
あったとしても自分の値段を算出することぐらいだ
戸惑うのはわかる
でもそのつまづきポイントはそのはるか手前だろ…
猫の毛並みだの血統だの
振る舞いっていったら鳴いたりウンコ漏らしたりすることではなく、
猫クラスからデータを取得するとか、DBにデータを保存するとか、
あったとしても自分の値段を算出することぐらいだ
戸惑うのはわかる
でもそのつまづきポイントはそのはるか手前だろ…
485仕様書無しさん
2018/04/30(月) 20:41:24.32486仕様書無しさん
2018/04/30(月) 20:41:47.86 もう一回かいておくか
414 自分:仕様書無しさん[sage] 投稿日:2018/04/28(土) 19:37:19.66
>>413
有害なのはお前。
わかりやすく説明するために例え話を使ってるのに、
そこに生命を表すにはどうするんだと言い出すから
お前が混ぜっ返してる
414 自分:仕様書無しさん[sage] 投稿日:2018/04/28(土) 19:37:19.66
>>413
有害なのはお前。
わかりやすく説明するために例え話を使ってるのに、
そこに生命を表すにはどうするんだと言い出すから
お前が混ぜっ返してる
487仕様書無しさん
2018/04/30(月) 20:43:46.84 犬猫じゃわからんって言ってる人たちって、これならわかるって説明をいまだに見つけられてないんだよね?
犬猫で説明されてもわからん、かといって他の例で説明されてもわからん、って感じでしょ?
それって、犬猫が悪いんじゃなくて、頭が悪いんだと思う
犬猫で説明されてもわからん、かといって他の例で説明されてもわからん、って感じでしょ?
それって、犬猫が悪いんじゃなくて、頭が悪いんだと思う
489仕様書無しさん
2018/04/30(月) 20:45:48.06 エンジンやハンドルだと、これがクラスなのか
インスタンスなのか分かりづらいという問題がある
犬や猫だと、これがクラスであり
ポチやタマが、インスタンスだと言って
すぐに理解してくれる
インスタンスなのか分かりづらいという問題がある
犬や猫だと、これがクラスであり
ポチやタマが、インスタンスだと言って
すぐに理解してくれる
490仕様書無しさん
2018/04/30(月) 20:47:55.65491仕様書無しさん
2018/04/30(月) 20:52:05.58 犬や猫だと、鳴くという同じメソッドであっても
犬はワンワン、猫はニャーという風に
クラスによって別の処理ができることを説明できる
エンジンやハンドルだと説明できないに
仮にできたとしても、マニアにしか分からん話になる
犬はワンワン、猫はニャーという風に
クラスによって別の処理ができることを説明できる
エンジンやハンドルだと説明できないに
仮にできたとしても、マニアにしか分からん話になる
492仕様書無しさん
2018/04/30(月) 20:56:24.85 たとえ実態とかけはなれていても
オブジェクト指向の犬猫の説明には楽しそうで夢がある
プログラムに魅力を感じ、のめり込んでもらうにはもってこい
なにより大事なことだが、新人には夢をみせておくにかぎるんだ
いきなり現実の無機質なオブジェクト指向をつきつけたら現実に絶望してしまう…
オブジェクト指向の犬猫の説明には楽しそうで夢がある
プログラムに魅力を感じ、のめり込んでもらうにはもってこい
なにより大事なことだが、新人には夢をみせておくにかぎるんだ
いきなり現実の無機質なオブジェクト指向をつきつけたら現実に絶望してしまう…
493仕様書無しさん
2018/04/30(月) 21:02:37.09 エンジンやハンドルなどのパーツは
同じ名前のメソッドを持ってないからダメなんだろうな
オブジェクト指向の例えとして使ってもすぐに行き詰まる
同じ名前のメソッドを持ってないからダメなんだろうな
オブジェクト指向の例えとして使ってもすぐに行き詰まる
494仕様書無しさん
2018/04/30(月) 22:36:29.82 >>493
ハンドルクラスやエンジンクラスがあって、実際のハンドルやエンジンはそのクラスを継承してると考える
ハンドルクラスには、右に回す、左に回す、真ん中を押すというメソッドが有る
で、車にハンドルを乗せる時に、B社のハンドルでもT社のハンドルでも海外製のハンドルでも、必ずハンドルクラスを継承してるので、右に回す、左に回すって事が可能だ
逆に、継承してないハンドルがあれば、それは規格外なので使わないほうが良いと言える
さらにハンドルに企業秘密な技術が使われてて、さらにその技術はハンドル内に隠されて外から見えなかったとしても、中身を気にせず右に回す左に回す事が出来る
で、この説明では>>489に陥る
ハンドルクラスやエンジンクラスがあって、実際のハンドルやエンジンはそのクラスを継承してると考える
ハンドルクラスには、右に回す、左に回す、真ん中を押すというメソッドが有る
で、車にハンドルを乗せる時に、B社のハンドルでもT社のハンドルでも海外製のハンドルでも、必ずハンドルクラスを継承してるので、右に回す、左に回すって事が可能だ
逆に、継承してないハンドルがあれば、それは規格外なので使わないほうが良いと言える
さらにハンドルに企業秘密な技術が使われてて、さらにその技術はハンドル内に隠されて外から見えなかったとしても、中身を気にせず右に回す左に回す事が出来る
で、この説明では>>489に陥る
495仕様書無しさん
2018/04/30(月) 22:48:54.27 > ハンドルクラスやエンジンクラスがあって、実際のハンドルやエンジンはそのクラスを継承してると考える
「実際のハンドルやエンジン」はクラスを継承しているということは
これらはクラスということになる
つまり「実際のハンドルやエンジン」はインスタンスではない
だからこのような説明が必要。
・ハンドルやエンジンというのは共通規格というものがあって、その規格で作られている
・といってもまあメーカーごとに規格違うから互換性ないだろうけどな
・仮にあるとしてだ、ハンドルやエンジンの共通規格を継承して実際のハンドルやエンジンが存在する
・実際のハンドルやエンジンといっても、それは実際に車に取り付けられているものそのものではなく型番みたいなものだ
・同じ型番から作られた製品、実際に車に取り付けられてるやつがインスタンスだ
ややこしいわw
「実際のハンドルやエンジン」はクラスを継承しているということは
これらはクラスということになる
つまり「実際のハンドルやエンジン」はインスタンスではない
だからこのような説明が必要。
・ハンドルやエンジンというのは共通規格というものがあって、その規格で作られている
・といってもまあメーカーごとに規格違うから互換性ないだろうけどな
・仮にあるとしてだ、ハンドルやエンジンの共通規格を継承して実際のハンドルやエンジンが存在する
・実際のハンドルやエンジンといっても、それは実際に車に取り付けられているものそのものではなく型番みたいなものだ
・同じ型番から作られた製品、実際に車に取り付けられてるやつがインスタンスだ
ややこしいわw
496仕様書無しさん
2018/04/30(月) 22:52:16.28 ハンドルクラスやエンジンクラスを継承した、
実際のハンドルやエンジンを表すクラス。
全ての実際のハンドルやエンジンを表すクラスは
全て右に回す、左に回すというメソッドがあり
いかなる実際のハンドルやエンジンを表すクラスも同じ動作をする
継承したクラスは全て同じ動きをするものである
と勘違いするわけだよな
やっぱり例えとしてだめだわ。
分かりづらいし誤解される
実際のハンドルやエンジンを表すクラス。
全ての実際のハンドルやエンジンを表すクラスは
全て右に回す、左に回すというメソッドがあり
いかなる実際のハンドルやエンジンを表すクラスも同じ動作をする
継承したクラスは全て同じ動きをするものである
と勘違いするわけだよな
やっぱり例えとしてだめだわ。
分かりづらいし誤解される
497仕様書無しさん
2018/05/01(火) 03:17:11.73 ハンドルやエンジンでオブジェクト指向を説明するのは無理だな
やっぱり犬や猫のほうが良い
やっぱり犬や猫のほうが良い
498仕様書無しさん
2018/05/01(火) 06:48:54.97 よりダメな例を出して
だから犬猫が良いのよ
という詭弁の典型例
だから犬猫が良いのよ
という詭弁の典型例
499仕様書無しさん
2018/05/01(火) 07:20:10.51 そういう詭弁は、もっと良い例を挙げれば一発でひっくり返せる
さぁ、犬猫より良い例を出せよ
さぁ、犬猫より良い例を出せよ
500仕様書無しさん
2018/05/01(火) 07:37:57.50 人間でやったら?
日本人と外国人とか
小学生と中学生とか
日本人と外国人とか
小学生と中学生とか
501仕様書無しさん
2018/05/01(火) 07:42:30.20 犬猫の方がわかりやすいというのを認めたとしても
クラスを作れるようになったら、犬猫よりも
エンジンと車の方がわかりやすいのは事実。
そうだろ?
クラスを作れるようになったら、犬猫よりも
エンジンと車の方がわかりやすいのは事実。
そうだろ?
502仕様書無しさん
2018/05/01(火) 07:46:53.34 クラスを理解して自分で作れるようになったら、エンジンクラスなんて例にする必要ないじゃん
504仕様書無しさん
2018/05/01(火) 07:56:38.35 それに、前に誰かが言ってくれたけど
生物を例に出したら、継承って先祖みたいで混乱するじゃん
犬とか猫を使って説明するのはやはりアンチパターン
生物を例に出したら、継承って先祖みたいで混乱するじゃん
犬とか猫を使って説明するのはやはりアンチパターン
505仕様書無しさん
2018/05/01(火) 08:00:35.91506仕様書無しさん
2018/05/01(火) 08:38:51.09 なんでエンジンクラスをそんなに推してんのw
自分が思いついた考えは特別に感じて捨てられないアレか?
自分が思いついた考えは特別に感じて捨てられないアレか?
507KAC
2018/05/01(火) 08:42:07.77 エンジンと車の関係と
犬と猫の関係が
同じように語られてるのは何故?
犬と猫の関係が
同じように語られてるのは何故?
509仕様書無しさん
2018/05/01(火) 10:02:21.95 DNAをプログラムとするなら
OOPの継承とは進化だ!
という意見だよ。
OOPの継承とは進化だ!
という意見だよ。
511仕様書無しさん
2018/05/01(火) 10:07:59.18 加えて継承って訳が悪いと思う
Javaみたいに拡張の方良さげ
Javaみたいに拡張の方良さげ
513仕様書無しさん
2018/05/01(火) 10:49:53.70 コードそのものを書き換えてしまうDNAは適切な例えじゃ無いよ。
514仕様書無しさん
2018/05/01(火) 11:03:54.60 >>505
違う違う。
クラスには何があるのか把握するのは簡単でしょ。コンストラクタがあってーとか、パブリックやプライベートがあってーとか、extendsつかって継承するんだーとか。
そこまでは頭使わなくても、参考書通りに手を動かしていけば誰だってクラスの定義はできるようになるよね。
問題はそれらを応用してアプリケーションを作るときの話だ。その時に犬とか猫とか言われても訳がわからないだろう?
エンジンと車なら一発で理解できるし、クラスが他のクラスの機能を使うとき、ほとんどの場合継承は使わないことも理解できる。
犬とか猫で学んだ人は、何でもかんでも親クラスに共通する機能を定義した神クラスのアンチパターンを踏んでしまう。あんたも神クラス作ったことあるだろう??
違う違う。
クラスには何があるのか把握するのは簡単でしょ。コンストラクタがあってーとか、パブリックやプライベートがあってーとか、extendsつかって継承するんだーとか。
そこまでは頭使わなくても、参考書通りに手を動かしていけば誰だってクラスの定義はできるようになるよね。
問題はそれらを応用してアプリケーションを作るときの話だ。その時に犬とか猫とか言われても訳がわからないだろう?
エンジンと車なら一発で理解できるし、クラスが他のクラスの機能を使うとき、ほとんどの場合継承は使わないことも理解できる。
犬とか猫で学んだ人は、何でもかんでも親クラスに共通する機能を定義した神クラスのアンチパターンを踏んでしまう。あんたも神クラス作ったことあるだろう??
515仕様書無しさん
2018/05/01(火) 11:26:30.92 胎児のある時期エラがあったりするので中々味わい深い
516仕様書無しさん
2018/05/01(火) 11:46:27.83 >>508
なんでそういうバカみたいな返信しかできないの?
継承が機能受け継ぎとか親クラスとか言われてて
遺伝を継いだ子供が作れるってことかな?って
間違えて考えてしまう人がいることもわからないわけ?
なんでそういうバカみたいな返信しかできないの?
継承が機能受け継ぎとか親クラスとか言われてて
遺伝を継いだ子供が作れるってことかな?って
間違えて考えてしまう人がいることもわからないわけ?
518仕様書無しさん
2018/05/01(火) 12:18:25.61 自分が考えることはみんなもそう考えるはずだから仕方ないね
519仕様書無しさん
2018/05/01(火) 13:26:53.34 ここで犬にエンジン搭載する方法学んでも仕事で使えないんだよねー...
手続きダラダラ書いちゃうし、ちょっと違う似た機能コピペで量産しちゃうし、小さな変更で何箇所も修正が要るし
手続きダラダラ書いちゃうし、ちょっと違う似た機能コピペで量産しちゃうし、小さな変更で何箇所も修正が要るし
520仕様書無しさん
2018/05/01(火) 16:38:21.55 >>516
馬鹿はお前だな
知らない人への説明で継承という言葉だけを
教えて理解しろなんて言わない
継承の親クラスというのは具体的にいうと
哺乳類や動物のことです。
ニワトリクラスであれば鳥類です
重要なのは、これだけで誰でも
容易に理解できるということ
対してエンジンや車は何を継承しているか?
説明してみせよ
馬鹿はお前だな
知らない人への説明で継承という言葉だけを
教えて理解しろなんて言わない
継承の親クラスというのは具体的にいうと
哺乳類や動物のことです。
ニワトリクラスであれば鳥類です
重要なのは、これだけで誰でも
容易に理解できるということ
対してエンジンや車は何を継承しているか?
説明してみせよ
521仕様書無しさん
2018/05/01(火) 16:41:28.87 間違えて理解しそうなら、説明すればいいだけ。
わかりやすいものに例えてね
エンジンや車だとわかりやすい説明ができない
わかりやすいものに例えてね
エンジンや車だとわかりやすい説明ができない
522仕様書無しさん
2018/05/01(火) 18:04:17.51 スレの流れが長すぎて口出しにくいが…
エンジンという抽象クラスの派生クラスとしてロータリーエンジンだのディーゼルエンジンだのを考えれば良いんじゃないのかな
エンジンは自動車や発電機に搭載するためのメソッドを持ってて云々
エンジンという抽象クラスの派生クラスとしてロータリーエンジンだのディーゼルエンジンだのを考えれば良いんじゃないのかな
エンジンは自動車や発電機に搭載するためのメソッドを持ってて云々
523仕様書無しさん
2018/05/01(火) 18:35:36.86 何を身近に感じるかなんて人それぞれだと思うが
524仕様書無しさん
2018/05/01(火) 18:44:36.67 バカの特徴
例え話が好きすぎる
というか例えでしか世界を理解できない
例え話が好きすぎる
というか例えでしか世界を理解できない
525仕様書無しさん
2018/05/01(火) 19:00:23.08 な
哺乳類クラスって有害だろ
種とクラスを混同して
OOPが理解できなくなる
哺乳類クラスって有害だろ
種とクラスを混同して
OOPが理解できなくなる
527KAC
2018/05/01(火) 19:10:16.34534仕様書無しさん
2018/05/01(火) 19:19:23.66 おまえらみんな平等にバカですからケンカしないでねw
536仕様書無しさん
2018/05/01(火) 19:30:44.68 蛇足だが別案すれば
祖先の形態を継承しつつ
環境に合わせてパーツを変えていく
進化モデルがOOPの実際に近いとおもうのだが
あんまり賛同してくれる人は居ないみたい
祖先の形態を継承しつつ
環境に合わせてパーツを変えていく
進化モデルがOOPの実際に近いとおもうのだが
あんまり賛同してくれる人は居ないみたい
537仕様書無しさん
2018/05/01(火) 19:59:16.53 分類と進化の系譜の両方とも有りな気がする
538仕様書無しさん
2018/05/01(火) 21:06:03.20 オブジェクト指向が理解できないというのが理解できない
少し学べばすぐ実用的なプログラムをオブジェクト指向で書けるようになるっしょ
少し学べばすぐ実用的なプログラムをオブジェクト指向で書けるようになるっしょ
540仕様書無しさん
2018/05/01(火) 21:27:30.27 うむ、天才にしか理解できないオブジェクト指向は我々凡人とってはそこらにありふれた路傍の石にすぎんのだよ
それを理解しようなどと考える事がそもそもの間違いだという事に我々はもっと早く気がつくべきだった
オブジェクト指向などただ黙って右から左にうけ流せばよいのだ
それを理解しようなどと考える事がそもそもの間違いだという事に我々はもっと早く気がつくべきだった
オブジェクト指向などただ黙って右から左にうけ流せばよいのだ
542仕様書無しさん
2018/05/01(火) 21:59:18.22 生物種アナロジーでクラスを騙っている奴はOOPを
理解できてないよっていってまさか理由を求められるとは思わなかった。
そんなの感覚的にわかるだろ?
感覚的にわかることなんだから理由はいらない
それぐらいのレベルの話なのに、理由を説明しろとかセンスが無いよ
理解できてないよっていってまさか理由を求められるとは思わなかった。
そんなの感覚的にわかるだろ?
感覚的にわかることなんだから理由はいらない
それぐらいのレベルの話なのに、理由を説明しろとかセンスが無いよ
543仕様書無しさん
2018/05/01(火) 22:03:10.51 >>522
> エンジンという抽象クラスの派生クラスとしてロータリーエンジンだのディーゼルエンジンだのを考えれば良いんじゃないのかな
そうなるやろ?
ロータリーエンジンは継承元のエンジンからなにを引き継いでいるのか?
詳しい人ならわかるのかもしれないが、普通はさっぱりだな。
> エンジンは自動車や発電機に搭載するためのメソッドを持ってて云々
エンジンは自動車、発電機の他、船、航空機、芝刈り機、などなどに
搭載するためのメソッドを持っていて・・・
ほら、神クラスになっちゃったw
こっちの方だよ、神クラスになるのは
自然な流れで証明できたじゃないかw
> エンジンという抽象クラスの派生クラスとしてロータリーエンジンだのディーゼルエンジンだのを考えれば良いんじゃないのかな
そうなるやろ?
ロータリーエンジンは継承元のエンジンからなにを引き継いでいるのか?
詳しい人ならわかるのかもしれないが、普通はさっぱりだな。
> エンジンは自動車や発電機に搭載するためのメソッドを持ってて云々
エンジンは自動車、発電機の他、船、航空機、芝刈り機、などなどに
搭載するためのメソッドを持っていて・・・
ほら、神クラスになっちゃったw
こっちの方だよ、神クラスになるのは
自然な流れで証明できたじゃないかw
544仕様書無しさん
2018/05/01(火) 22:04:34.28 対象重視型
545仕様書無しさん
2018/05/01(火) 22:11:27.98 んー
じゃ哺乳類クラスを拡張して猫クラスを作って
じゃ哺乳類クラスを拡張して猫クラスを作って
547仕様書無しさん
2018/05/01(火) 22:15:50.25 エンジンや自動車を拡張って無理だろwww
548仕様書無しさん
2018/05/01(火) 22:19:13.62549KAC
2018/05/01(火) 22:19:15.37551仕様書無しさん
2018/05/01(火) 22:23:04.21 よくヤンキーが自動車を拡張してるな
552仕様書無しさん
2018/05/01(火) 22:27:45.45 え?自動車を広くするの?俺もしたい
って勘違いされやすい。
やっぱりだめだなw
って勘違いされやすい。
やっぱりだめだなw
553仕様書無しさん
2018/05/01(火) 22:27:56.72 なんだまたバカどもが藻掻きだしたなw
554仕様書無しさん
2018/05/01(火) 22:29:06.33 バカどもへ
生物種アナロジーでクラスを騙っている奴はOOPを
理解できてない。これは真理だから理由を説明する必要はない
生物種アナロジーでクラスを騙っている奴はOOPを
理解できてない。これは真理だから理由を説明する必要はない
555仕様書無しさん
2018/05/01(火) 22:30:33.44 >>554
おまえもやw
おまえもやw
556仕様書無しさん
2018/05/01(火) 22:38:13.26557仕様書無しさん
2018/05/01(火) 22:49:08.26 バカ「これが真理」
ワロタw
ワロタw
558仕様書無しさん
2018/05/01(火) 23:08:45.44 もうファイルとかディレクトリとかでよくね?
559仕様書無しさん
2018/05/01(火) 23:11:40.89 オリエント指向
561522
2018/05/02(水) 00:18:51.14562仕様書無しさん
2018/05/02(水) 00:40:19.73 >>561
だからエンジンの例えがダメなんだってw
証拠あがってるじゃないか
エンジンはなんでも搭載できるわけじゃない
自動車に搭載するなら、自動車に登録するためのインターフェースが必要だし
船に搭載するなら、船に搭載するためのインターフェースがエンジンに必要
エンジンが全てのインターフェースを持っていたらそれは変なので
エンジンからは何も継承するものはない。継承なのになw
だからエンジンの例えがダメなんだってw
証拠あがってるじゃないか
エンジンはなんでも搭載できるわけじゃない
自動車に搭載するなら、自動車に登録するためのインターフェースが必要だし
船に搭載するなら、船に搭載するためのインターフェースがエンジンに必要
エンジンが全てのインターフェースを持っていたらそれは変なので
エンジンからは何も継承するものはない。継承なのになw
563仕様書無しさん
2018/05/02(水) 06:34:06.21 エンジンに搭載インタフェース付けたらいいんじゃないの?
自動車や船にそれぞれの搭載の実装書いてエンジンはエンジンの仕事するだけ
自動車や船にそれぞれの搭載の実装書いてエンジンはエンジンの仕事するだけ
564仕様書無しさん
2018/05/02(水) 06:37:50.41 継承なんて使わないしな
566仕様書無しさん
2018/05/02(水) 07:14:14.15 生物種アナロジーでクラスを騙っている奴はOOPを理解できてないってのは本当に真実で
ものづくりの世界に生物を持ってきてはならないのだよ。
生物は誰に作られたか考えれば答えは自ずとわかるだろう。
ものづくりの世界に生物を持ってきてはならないのだよ。
生物は誰に作られたか考えれば答えは自ずとわかるだろう。
567仕様書無しさん
2018/05/02(水) 09:05:39.99 エンジンというクラスがあると、子はレシプロだのロータリーなど、
レシプロの子に直6だの水平対向だの、分類上は子ができるし、
意味的にメソッドの継承もできるけど、結局ハードとして別個体であって
独立したものだからソフトウェアとしてのOOPでは意味をなさないんだよね。
概念として継承できるけど実装としてそれは独立であり無価値。
レシプロの子に直6だの水平対向だの、分類上は子ができるし、
意味的にメソッドの継承もできるけど、結局ハードとして別個体であって
独立したものだからソフトウェアとしてのOOPでは意味をなさないんだよね。
概念として継承できるけど実装としてそれは独立であり無価値。
568仕様書無しさん
2018/05/02(水) 09:09:20.55 ところが解析的な要因特性で親子構造を構成した場合、共通部と独自部という
形で概念的な継承が意味を持つ。エンジンだとDRBFM的なものの見方をしたときには概念的な階層構造は省力化に大いに役立つ。
形で概念的な継承が意味を持つ。エンジンだとDRBFM的なものの見方をしたときには概念的な階層構造は省力化に大いに役立つ。
569仕様書無しさん
2018/05/02(水) 09:18:18.60572仕様書無しさん
2018/05/02(水) 09:52:41.99 >>570
何がいいたいのかよくわからなかった。
俺とお前のiPhoneは同じように見えて、お前のiPhoneは傷だらけだよ?
そんなことはプログラミングの世界では起こらないよね?だからてきかくではないよね?
って事がいいたいの?
どうぶつよりマシだと思うんだけど
何がいいたいのかよくわからなかった。
俺とお前のiPhoneは同じように見えて、お前のiPhoneは傷だらけだよ?
そんなことはプログラミングの世界では起こらないよね?だからてきかくではないよね?
って事がいいたいの?
どうぶつよりマシだと思うんだけど
576仕様書無しさん
2018/05/02(水) 09:55:29.02 >>573
ネジを使ってオブジェクト指向を説明するのが難しいって話
どうしても専門的な話になって普通の人にはピンとこない
犬や猫のように文字化な例を使って説明する方がいい
という結論に持っていきましょうw
ネジを使ってオブジェクト指向を説明するのが難しいって話
どうしても専門的な話になって普通の人にはピンとこない
犬や猫のように文字化な例を使って説明する方がいい
という結論に持っていきましょうw
578仕様書無しさん
2018/05/02(水) 09:58:59.48 本来は同じクラスでもインスタンスごとに属性が違ってる。
メソッドは同じだが属性は違うのが普通
同じ規格のネジの場合、全てのインスタンスの属性が同じに見えてしまう
どのネジでも同じように使えるから
メソッドが何に相当するのかもわからない
これでオブジェクト指向を説明するのは難しいな
メソッドは同じだが属性は違うのが普通
同じ規格のネジの場合、全てのインスタンスの属性が同じに見えてしまう
どのネジでも同じように使えるから
メソッドが何に相当するのかもわからない
これでオブジェクト指向を説明するのは難しいな
579仕様書無しさん
2018/05/02(水) 10:01:58.83581仕様書無しさん
2018/05/02(水) 10:52:15.12 哺乳類をどんなに拡張しても猫にはならない
なぜなら哺乳類は分類であってクラスじゃないから
DNAがクラス
生物はそのインスタンス
進化はDNAの継承
でOOPはスッキリ理解しましょうw。
なぜなら哺乳類は分類であってクラスじゃないから
DNAがクラス
生物はそのインスタンス
進化はDNAの継承
でOOPはスッキリ理解しましょうw。
582仕様書無しさん
2018/05/02(水) 11:02:46.94585仕様書無しさん
2018/05/02(水) 11:20:36.22 VRでiPhoneを再現可能とか、進んでるなぁw
587仕様書無しさん
2018/05/02(水) 11:41:52.87590仕様書無しさん
2018/05/02(水) 11:59:29.25 俺のiPhoneをVRの中にdeep copyすると寸分たがわず同じものが再現できるの?
同じものじゃないけど近いものならできるって?
それはお前が勝手に近いと判断しただけのまがい物だろ?って話だよねw
同じものじゃないけど近いものならできるって?
それはお前が勝手に近いと判断しただけのまがい物だろ?って話だよねw
592仕様書無しさん
2018/05/02(水) 12:01:59.99 オブジェクト指向じゃなくて技術崇拝だなこりゃ
マジキチ
マジキチ
593仕様書無しさん
2018/05/02(水) 12:03:30.99 統失なんだろうな
自分と他者の境界が曖昧で「我思うすなわち真理」状態に入ってるんだよ
自分と他者の境界が曖昧で「我思うすなわち真理」状態に入ってるんだよ
594仕様書無しさん
2018/05/02(水) 12:05:34.51 叩くことでしか反論できないバカどもめ
ファーーーwww
ファーーーwww
595仕様書無しさん
2018/05/02(水) 12:10:27.76 昼になったら変なのが増えたw
こんな日に出勤とは社畜の鏡だなw
こんな日に出勤とは社畜の鏡だなw
596仕様書無しさん
2018/05/02(水) 12:54:27.05 まとめるとこうかな。
@
システムを設計するのは難しい。だから、わかりやすい解釈(例え)が人間には必要だ。特に初心者にはね!
A
オブジェクト指向の例えとしてよく使われるのが動物や犬猫を使った話だ。これは一見わかりやすく思えるが、根っこに大きな罠があるため、アンチパターンとなる。
B
犬猫の例えがダメな理由は、それが生物を使った例えだからだ。生物とは神の手によって創造されたものであり、人間には作れないものだ。人間に作れるものはカラクリであり、命を創造することはできない。
C
よってオブジェクト指向の例え話は、生物を使わない例えを使用したほうが良い。その例えの候補は、エンジン、タイヤ、ハンドルを使った車の作成の例えである。(ほかにもっといい生物を使わない例があったら教えて)
というわけだ。
現実の猫と区別がつかない猫をVRの世界で作れたら、俺は負けを認める。
@
システムを設計するのは難しい。だから、わかりやすい解釈(例え)が人間には必要だ。特に初心者にはね!
A
オブジェクト指向の例えとしてよく使われるのが動物や犬猫を使った話だ。これは一見わかりやすく思えるが、根っこに大きな罠があるため、アンチパターンとなる。
B
犬猫の例えがダメな理由は、それが生物を使った例えだからだ。生物とは神の手によって創造されたものであり、人間には作れないものだ。人間に作れるものはカラクリであり、命を創造することはできない。
C
よってオブジェクト指向の例え話は、生物を使わない例えを使用したほうが良い。その例えの候補は、エンジン、タイヤ、ハンドルを使った車の作成の例えである。(ほかにもっといい生物を使わない例があったら教えて)
というわけだ。
現実の猫と区別がつかない猫をVRの世界で作れたら、俺は負けを認める。
597仕様書無しさん
2018/05/02(水) 13:00:27.30 現実と区別がつかないものを作るための技法じゃないんだよなぁオブジェクト指向って
598仕様書無しさん
2018/05/02(水) 13:03:38.41 @
システムを設計するのは難しい。だから、わかりやすい解釈(例え)が人間には必要だ。特に初心者にはね!
A
オブジェクト指向の例えとしてよく使われるのが動物や犬猫を使った話だ。これは一見わかりやすく思えるが、
根っこに大きな罠があるため、アンチパターンとなる主張しているが、その罠もアンチパターンも示されていない
B
犬猫の例えがダメな理由は、それが生物を使った例えだからだ。生物とは神の手によって創造されたものであり、
人間には作れないものだ。人間に作れるものは子供だけであり、セックス以外で命を創造することはできない。
同様に勇者、村人、モンスター、命あるものはソフトウェアで表現することはできない
最大の生物である惑星の地球シミュレータなんてもっての外だ。作れるのは神だけだ
C
よってオブジェクト指向の例え話は、生物を使わない例えを使用したほうが良い。その例えの候補は、
エンジン、タイヤ、ハンドルを使った車の作成の例えである。エンジン、タイヤ、ハンドルは
ソフトウェアで作ることができる。3Dプリンタを使えば良いのだ。
システムを設計するのは難しい。だから、わかりやすい解釈(例え)が人間には必要だ。特に初心者にはね!
A
オブジェクト指向の例えとしてよく使われるのが動物や犬猫を使った話だ。これは一見わかりやすく思えるが、
根っこに大きな罠があるため、アンチパターンとなる主張しているが、その罠もアンチパターンも示されていない
B
犬猫の例えがダメな理由は、それが生物を使った例えだからだ。生物とは神の手によって創造されたものであり、
人間には作れないものだ。人間に作れるものは子供だけであり、セックス以外で命を創造することはできない。
同様に勇者、村人、モンスター、命あるものはソフトウェアで表現することはできない
最大の生物である惑星の地球シミュレータなんてもっての外だ。作れるのは神だけだ
C
よってオブジェクト指向の例え話は、生物を使わない例えを使用したほうが良い。その例えの候補は、
エンジン、タイヤ、ハンドルを使った車の作成の例えである。エンジン、タイヤ、ハンドルは
ソフトウェアで作ることができる。3Dプリンタを使えば良いのだ。
602仕様書無しさん
2018/05/02(水) 13:09:13.68 3Dプリンタ作ってもいいけどさ、
エンジンを作ることができるクラス設計
というものを見せてほしいんだが。
クラスにあるメソッドとプロパティはなにか?
それがあるとエンジンが作れるんだろう?
エンジンが作れるほどのクラスがあるとするなら
それは形と材料のデータの集まりでしかなく
ソフトウェアのクラスとしては使いものにならないと思うが?
エンジンを作ることができるクラス設計
というものを見せてほしいんだが。
クラスにあるメソッドとプロパティはなにか?
それがあるとエンジンが作れるんだろう?
エンジンが作れるほどのクラスがあるとするなら
それは形と材料のデータの集まりでしかなく
ソフトウェアのクラスとしては使いものにならないと思うが?
603仕様書無しさん
2018/05/02(水) 13:09:43.01 × 3Dプリンタ作ってもいいけどさ、
○ 3Dプリンタ使ってもいいけどさ、
○ 3Dプリンタ使ってもいいけどさ、
605仕様書無しさん
2018/05/02(水) 13:10:39.71606仕様書無しさん
2018/05/02(水) 13:12:31.56 >>605
だからなんで、クラスの意味を教えるだけなのに、
生物を作らないといけないの?って話をしてるんだが
お前の理屈だとクラスの意味を教えるだけなのに
エンジンを作らないといけないってことになるんだが?
だからなんで、クラスの意味を教えるだけなのに、
生物を作らないといけないの?って話をしてるんだが
お前の理屈だとクラスの意味を教えるだけなのに
エンジンを作らないといけないってことになるんだが?
607仕様書無しさん
2018/05/02(水) 13:13:40.24 ぶっちゃけ、オブジェクト指向だけで、
エンジンは作れないよ。
だってエンジンの材料は元をたどれば
全て神が作った物質だから
エンジンは作れないよ。
だってエンジンの材料は元をたどれば
全て神が作った物質だから
608仕様書無しさん
2018/05/02(水) 13:16:11.10 >>606
???
何回も言ってるけど、おれが言ってるのはオブジェクト指向の例えで動物使うのって混乱の元だよね?って話だよ
車の例えは適当に言ったから、もっとわかりやすいのがあるかもしれないけど、有力なのが他に思いつかないから、生物を使わない例えの一例として言ってるのだよ。
実際、動物より車の例えのほうがいいでしょ。生物っていう作れないものを相手にしてないんだもん。諸悪の根源がなくなって明確だ
???
何回も言ってるけど、おれが言ってるのはオブジェクト指向の例えで動物使うのって混乱の元だよね?って話だよ
車の例えは適当に言ったから、もっとわかりやすいのがあるかもしれないけど、有力なのが他に思いつかないから、生物を使わない例えの一例として言ってるのだよ。
実際、動物より車の例えのほうがいいでしょ。生物っていう作れないものを相手にしてないんだもん。諸悪の根源がなくなって明確だ
609仕様書無しさん
2018/05/02(水) 13:18:39.17 実装がすでにある生物やエンジンから、逆にOOPの設計を起こそうとしたって
意図を完全に掌握しなければ完全な設計はできないんだよ。
それが神であれ他人であれ。
エンジンならできる気になっているのは知識が薄っぺらいからに他ならない。
なので、いまあるものをOOPで表そうとしている時点で不可能なことに挑んでいる。
あくまで自分で設計し掌握しているものを記述するのがOOP。
ここをはき違えるとエンジンなら再現可能みたいな馬鹿なことを言い出す。
意図を完全に掌握しなければ完全な設計はできないんだよ。
それが神であれ他人であれ。
エンジンならできる気になっているのは知識が薄っぺらいからに他ならない。
なので、いまあるものをOOPで表そうとしている時点で不可能なことに挑んでいる。
あくまで自分で設計し掌握しているものを記述するのがOOP。
ここをはき違えるとエンジンなら再現可能みたいな馬鹿なことを言い出す。
611仕様書無しさん
2018/05/02(水) 13:24:47.92 >>609
言ってる事がめちゃめちゃだよww
エンジンを設計したのは人間だ。
オブジェクト指向を使ってアプリを設計するのも人間だよ。
土俵は違うけど、これは設計できる(作れる)ってことじゃん。
おれが言ってるのは人間が作れないものを持ってくるなって話。
言ってる事がめちゃめちゃだよww
エンジンを設計したのは人間だ。
オブジェクト指向を使ってアプリを設計するのも人間だよ。
土俵は違うけど、これは設計できる(作れる)ってことじゃん。
おれが言ってるのは人間が作れないものを持ってくるなって話。
612仕様書無しさん
2018/05/02(水) 13:26:28.18 オブジェクト指向だけじゃネジすら作れない。
ネジのクラスか属性になるかは置いといてピッチ(ネジのギザギザ)の幅を
情報として持たせる必要があるだろう。でも単にM6(ネジ山の間隔が1.0mm)と
もたせた所で、ここから3Dプリンタでネジが作れるわけじゃない
3Dプリンタでネジを作ろうと思ったらCADデータが必要
そのデータはクラスの持ってる属性とはまったく別物になるだろう。
ピッチという情報もいらない。形情報があれば済むことだから
つまりオブジェクト指向でクラスに持たせるための情報というのは
現実のものを表現したものではなく、人が持ってる"概要"でしかない。
概要から実際のネジなどの物質が作れないの当然の話
だから動物の場合でも、DNAをクラスの中に持たせるっていうのは
CAD情報をクラスの中に持たせるのと同じで意味不明な理屈
動物の場合でも概要であれば、クラスに持たせられる。
クラスというのは、DNAやCADデータじゃないのだよ
ネジのクラスか属性になるかは置いといてピッチ(ネジのギザギザ)の幅を
情報として持たせる必要があるだろう。でも単にM6(ネジ山の間隔が1.0mm)と
もたせた所で、ここから3Dプリンタでネジが作れるわけじゃない
3Dプリンタでネジを作ろうと思ったらCADデータが必要
そのデータはクラスの持ってる属性とはまったく別物になるだろう。
ピッチという情報もいらない。形情報があれば済むことだから
つまりオブジェクト指向でクラスに持たせるための情報というのは
現実のものを表現したものではなく、人が持ってる"概要"でしかない。
概要から実際のネジなどの物質が作れないの当然の話
だから動物の場合でも、DNAをクラスの中に持たせるっていうのは
CAD情報をクラスの中に持たせるのと同じで意味不明な理屈
動物の場合でも概要であれば、クラスに持たせられる。
クラスというのは、DNAやCADデータじゃないのだよ
616仕様書無しさん
2018/05/02(水) 13:32:26.63 >>609
> 実際、動物より車の例えのほうがいいでしょ。生物っていう作れないものを相手にしてないんだもん。諸悪の根源がなくなって明確だ
なんで人間が作れるのかどうかが焦点になってるのか分からんのだが?
人間が作れようが作れまいが、それをソフトウェアで表現するのがクラスだよ。
あくまで表現。実際に作れって話じゃない。実際に作る話だとクラスからじゃ無生物も作れない
オブジェクト指向の設計というのは、すでにあるなにかをオブジェクト指向で表現すること
つまりオブジェクト指向よりも前に、表現したい何かはすでに存在しているということ
だから、人間が作るよりも前に存在している生物は「すでに存在している」ということを
満たしており、むしろ生物の種別をどのように分類するかという試行錯誤が
オブジェクト指向の設計の試行錯誤に近く、よりたとえとして適切
エンジンやネジなんかに例えると、お前がすでに勘違いしているように、このクラスから
実際にエンジンやネジを作れなければならないという話になって、すでにある物の表現ではなく
CADデータの作成の話になってしまう。クラスからエンジンやネジを作れないといけないという話になってしまう
> 実際、動物より車の例えのほうがいいでしょ。生物っていう作れないものを相手にしてないんだもん。諸悪の根源がなくなって明確だ
なんで人間が作れるのかどうかが焦点になってるのか分からんのだが?
人間が作れようが作れまいが、それをソフトウェアで表現するのがクラスだよ。
あくまで表現。実際に作れって話じゃない。実際に作る話だとクラスからじゃ無生物も作れない
オブジェクト指向の設計というのは、すでにあるなにかをオブジェクト指向で表現すること
つまりオブジェクト指向よりも前に、表現したい何かはすでに存在しているということ
だから、人間が作るよりも前に存在している生物は「すでに存在している」ということを
満たしており、むしろ生物の種別をどのように分類するかという試行錯誤が
オブジェクト指向の設計の試行錯誤に近く、よりたとえとして適切
エンジンやネジなんかに例えると、お前がすでに勘違いしているように、このクラスから
実際にエンジンやネジを作れなければならないという話になって、すでにある物の表現ではなく
CADデータの作成の話になってしまう。クラスからエンジンやネジを作れないといけないという話になってしまう
617仕様書無しさん
2018/05/02(水) 13:34:12.24 >>614
現時点で作れないだろ?
お前にとって、エンジンを完全に掌握した他人はエンジンに関しては神にも等しい存在だろ?
できる存在がいることと、お前がそれを設計できることを混同するなよ。
その意味で「大差はない」が答えだ。
現時点で作れないだろ?
お前にとって、エンジンを完全に掌握した他人はエンジンに関しては神にも等しい存在だろ?
できる存在がいることと、お前がそれを設計できることを混同するなよ。
その意味で「大差はない」が答えだ。
618仕様書無しさん
2018/05/02(水) 13:36:00.71 あー馬鹿の相手は疲れるなぁ。
設計から生まれていないものを設計に帰することができるのは神だけだよ。
設計から生まれていないものを設計に帰することができるのは神だけだよ。
619仕様書無しさん
2018/05/02(水) 13:37:08.44 エンジンは経験から生まれたもので設計から生まれていない、ってのは常識。
620仕様書無しさん
2018/05/02(水) 13:37:16.84 あー馬鹿の相手は疲れるなぁ。
CADによる設計から生まれたものなら、CADによる設計に帰することができるんだよ
クラス設計ではなくCADの設計な
CADによる設計から生まれたものなら、CADによる設計に帰することができるんだよ
クラス設計ではなくCADの設計な
622仕様書無しさん
2018/05/02(水) 13:42:03.05 こいつはCADの設計とクラスの設計をごっちゃにしてるってことでFAだなw
623仕様書無しさん
2018/05/02(水) 13:43:53.97 まともに読んでないからこいつが誰なのかわからないけど、
喩え話が下手な奴に喩え話をさせてはいけない、ってのは
よくわかる。
喩え話が下手な奴に喩え話をさせてはいけない、ってのは
よくわかる。
624仕様書無しさん
2018/05/02(水) 13:46:28.14 >>616
プログラミングはものづくりだから、作りたいものがプログラミングによって作れるかどうかは大切だと思ってるんだけど違うの?
あと、実際に作れなんて話、俺してないからね!クソッタレが3Dプリンターとか言い出したせいで、流れがおかしくなったけど、今まで俺が話してきた「作る」って意味は「実体なき存在としてソフトウェアの世界に作る」って意味に決まってんじゃん。
クラスが表現って話は面白いので、もっと語ってくれ
プログラミングはものづくりだから、作りたいものがプログラミングによって作れるかどうかは大切だと思ってるんだけど違うの?
あと、実際に作れなんて話、俺してないからね!クソッタレが3Dプリンターとか言い出したせいで、流れがおかしくなったけど、今まで俺が話してきた「作る」って意味は「実体なき存在としてソフトウェアの世界に作る」って意味に決まってんじゃん。
クラスが表現って話は面白いので、もっと語ってくれ
627仕様書無しさん
2018/05/02(水) 13:49:57.70 >現実の猫と区別がつかない猫をVRの世界で作れたら、
こんなことを言っている時点で何も理解していない感が。
こんなことを言っている時点で何も理解していない感が。
629仕様書無しさん
2018/05/02(水) 13:51:17.98 >設計から生まれていないものを設計に帰することができるのは神だけだよ。
これが真理だろ
これが真理だろ
630仕様書無しさん
2018/05/02(水) 13:52:02.62 >>624
> プログラミングはものづくりだから、作りたいものがプログラミングによって作れるかどうかは大切だと思ってるんだけど違うの?
その場合の「もの」とはソフトウェアであって、
現実にある物体ではありません。
> 「実体なき存在としてソフトウェアの世界に作る」って意味に決まってんじゃん。
え、なに? CADソフトを使ってエンジンやネジを設計するの?
それクラス設計じゃないよねw
クラス設計というのは、実体があろうがなかろうが人間が作ろうが神が作ろうかは関係なく
何かを人間が捉えている形に近い形で簡潔に表現しただけのものです。
人間が捉えられてるものなら、生き物だってクラス設計できます。
> プログラミングはものづくりだから、作りたいものがプログラミングによって作れるかどうかは大切だと思ってるんだけど違うの?
その場合の「もの」とはソフトウェアであって、
現実にある物体ではありません。
> 「実体なき存在としてソフトウェアの世界に作る」って意味に決まってんじゃん。
え、なに? CADソフトを使ってエンジンやネジを設計するの?
それクラス設計じゃないよねw
クラス設計というのは、実体があろうがなかろうが人間が作ろうが神が作ろうかは関係なく
何かを人間が捉えている形に近い形で簡潔に表現しただけのものです。
人間が捉えられてるものなら、生き物だってクラス設計できます。
632仕様書無しさん
2018/05/02(水) 13:53:05.14635仕様書無しさん
2018/05/02(水) 13:53:58.60 な? 俺が最初にかいたとおりになったろ?
414 自分:仕様書無しさん[sage] 投稿日:2018/04/28(土) 19:37:19.66
>>413
有害なのはお前。
わかりやすく説明するために例え話を使ってるのに、
そこに生命を表すにはどうするんだと言い出すから
お前が混ぜっ返してる
414 自分:仕様書無しさん[sage] 投稿日:2018/04/28(土) 19:37:19.66
>>413
有害なのはお前。
わかりやすく説明するために例え話を使ってるのに、
そこに生命を表すにはどうするんだと言い出すから
お前が混ぜっ返してる
637仕様書無しさん
2018/05/02(水) 13:54:55.59 だからCADなんてひとこともいってねー!!!
もうおまえらばか!!ばか!!このわからずや!!
もうおまえらばか!!ばか!!このわからずや!!
638仕様書無しさん
2018/05/02(水) 13:55:26.09642仕様書無しさん
2018/05/02(水) 13:57:22.17 >>637
CADの話になってるって自分で気づいてないのか?
現実のネジと区別がつかないネジをVRの世界で作るには
CADデータが無いと作れないだろ。
ネジという概念を表すだけのものを作るというのなら
それは犬や猫でもできることだ
CADの話になってるって自分で気づいてないのか?
現実のネジと区別がつかないネジをVRの世界で作るには
CADデータが無いと作れないだろ。
ネジという概念を表すだけのものを作るというのなら
それは犬や猫でもできることだ
646仕様書無しさん
2018/05/02(水) 13:58:42.62 > 現実の猫と区別がつかない猫をVRの世界で作れたら、俺は負けを認める。
VRのサメとかあるけどなw
VRのサメとかあるけどなw
649仕様書無しさん
2018/05/02(水) 14:00:38.13650仕様書無しさん
2018/05/02(水) 14:02:27.49651仕様書無しさん
2018/05/02(水) 14:02:40.48 エンジンでも一緒だよな。現実の世界と区別がつかないエンジンを
VRの世界で作るなら、エンジンのCADデータと高度な物理演算機能を
搭載したシミュレータが必要
そこにVRゴーグルつけた俺がエンジンを手にして、
その重さと臭いを感じられるようにするには・・・
まだまだいろいろ足りないな。
で、クラス設計の話とはまったく違う話になったなw
VRの世界で作るなら、エンジンのCADデータと高度な物理演算機能を
搭載したシミュレータが必要
そこにVRゴーグルつけた俺がエンジンを手にして、
その重さと臭いを感じられるようにするには・・・
まだまだいろいろ足りないな。
で、クラス設計の話とはまったく違う話になったなw
652仕様書無しさん
2018/05/02(水) 14:03:27.86654仕様書無しさん
2018/05/02(水) 14:06:03.77 >>653
おや? だからクラスで生物もエンジンなどの人間が作ったものも
表現することはできないって話なんだが、
そうかやっと分かってくれたかw
そうだよな。生物だとDNAに相当するCADデータがないと
VRの世界で本物そっくりのものは作れないしな
おや? だからクラスで生物もエンジンなどの人間が作ったものも
表現することはできないって話なんだが、
そうかやっと分かってくれたかw
そうだよな。生物だとDNAに相当するCADデータがないと
VRの世界で本物そっくりのものは作れないしな
655仕様書無しさん
2018/05/02(水) 14:08:00.86 まとめ
生物を作るには生物の設計図であるDNA
機械を作るには機械の設計図であるCADデータ
が必要だが、
クラス設計というのは、それら実際にあるものを人間が
どう捉えているかを表現するものなので、
生物でも機械でもクラス設計を行うことはできる
生物を作るには生物の設計図であるDNA
機械を作るには機械の設計図であるCADデータ
が必要だが、
クラス設計というのは、それら実際にあるものを人間が
どう捉えているかを表現するものなので、
生物でも機械でもクラス設計を行うことはできる
656仕様書無しさん
2018/05/02(水) 14:08:46.44 クラスを初心者にわかりやすく説明するなら、
身近な例である犬猫で表現したほうが良いってことだな
身近な例である犬猫で表現したほうが良いってことだな
657仕様書無しさん
2018/05/02(水) 14:17:37.47 >>651
もうつかれたよ。
現実世界にエンジンの生成マシンがあったら
ボタンを押せばエンジンは作れるよね?
これをプログラミングの世界に持ってくると
クラスはエンジン生成マシンと言えるし
実体を作るにはnewすればいい。
わかりやすいでしょ?
でも猫はどお?猫生成マシンなんて現実にはないし
newボタンを押して命を人間が創造するなんて聞いたこともない
だから猫を作ったときは、それは猫型ロボット、つまりドラえもんってことさ、うんこうんこ
もうつかれたよ。
現実世界にエンジンの生成マシンがあったら
ボタンを押せばエンジンは作れるよね?
これをプログラミングの世界に持ってくると
クラスはエンジン生成マシンと言えるし
実体を作るにはnewすればいい。
わかりやすいでしょ?
でも猫はどお?猫生成マシンなんて現実にはないし
newボタンを押して命を人間が創造するなんて聞いたこともない
だから猫を作ったときは、それは猫型ロボット、つまりドラえもんってことさ、うんこうんこ
658仕様書無しさん
2018/05/02(水) 14:22:46.89 >>657
だから現実世界のシミュレータを作ろう!って
話なんかしてないんだって
仮想世界の猫は、仮想世界の猫生成ボタンで作れる
地面に魔法陣かいて、悪魔召喚することで悪魔を
newできる仮想世界で何を言ってるんだ?
だから現実世界のシミュレータを作ろう!って
話なんかしてないんだって
仮想世界の猫は、仮想世界の猫生成ボタンで作れる
地面に魔法陣かいて、悪魔召喚することで悪魔を
newできる仮想世界で何を言ってるんだ?
659仕様書無しさん
2018/05/02(水) 14:22:50.89 エンジン推しの言いたいことはわかる。共感はしないけど。
逆に、犬猫で理解できない奴は抽象化ができないってことで、オブジェクト指向に向いた考え方ができるかどうかのふるいになりそうだね。
逆に、犬猫で理解できない奴は抽象化ができないってことで、オブジェクト指向に向いた考え方ができるかどうかのふるいになりそうだね。
661仕様書無しさん
2018/05/02(水) 14:24:52.52663仕様書無しさん
2018/05/02(水) 14:26:35.78 >>660
> その猫は猫型ロボットであり、猫ではない
当たり前でしょw
ソフトウェアで表現したものは猫でもネジでも
本物ではない。本物でなくていいんだよ?
本物でなければならないという思い込みを
してしまってるので、お前はすでに勘違いの
度合いが極限まで進んでしまってる
> その猫は猫型ロボットであり、猫ではない
当たり前でしょw
ソフトウェアで表現したものは猫でもネジでも
本物ではない。本物でなくていいんだよ?
本物でなければならないという思い込みを
してしまってるので、お前はすでに勘違いの
度合いが極限まで進んでしまってる
664仕様書無しさん
2018/05/02(水) 14:27:54.57 >>662
> でも作れない動物を作れると思わせる例も同時に害悪だろう
テレビの中にいる人間は、本物だと思いこんでいる人?
変だな。誰もソフトウェアの中にいるネジが本物だと
思ってる人はいないはずだがw
お前、すでに頭がおかしくなってるよ
現実と想像の区別がつかなくなってるよ。
> でも作れない動物を作れると思わせる例も同時に害悪だろう
テレビの中にいる人間は、本物だと思いこんでいる人?
変だな。誰もソフトウェアの中にいるネジが本物だと
思ってる人はいないはずだがw
お前、すでに頭がおかしくなってるよ
現実と想像の区別がつかなくなってるよ。
667仕様書無しさん
2018/05/02(水) 14:29:44.24 ツリーっていうデータ構造があるけど、図解するときは決まって頂点がルートで、リーフは下方向に広がっている
本物の木はそういう構造をしてないから、ツリーという名前もしくは図解の仕方は害悪
初心者の理解を妨げてる
本物の木はそういう構造をしてないから、ツリーという名前もしくは図解の仕方は害悪
初心者の理解を妨げてる
670仕様書無しさん
2018/05/02(水) 14:33:26.12 >>665
> だって「オブジェクト指向は現実をそのままソフトウエアに表現する」とか意味わかんない解説よくされるし
あ「表現」という言葉の意味がわかってないのね。
https://yuuma7.com/ラリベラの岩窟教会群を歩いて観光してみた感想/
> ゴルゴタ聖堂(ベテ・ゴルゴタ)
> ラリベラ王の墓所だったともいわれるのがゴルゴタ聖堂だ。その名の通り、
> イエス・キリストが処刑された地を想って造られた教会で、
> 角ばった建造物には形の違う窓が3つあり「三位一体」を、
> bュりぬかれたクャ鴻Xは「キリスャg」を表現してb「る。
はい、くりぬかれたクロスは「キリスト」を表現していますが、
くりぬかれたクロスは「キリスト」なのでしょうか?
違いますね。「表現」とは本物でも本物を再現することでもありません。
「表現」しているだけです。
> だって「オブジェクト指向は現実をそのままソフトウエアに表現する」とか意味わかんない解説よくされるし
あ「表現」という言葉の意味がわかってないのね。
https://yuuma7.com/ラリベラの岩窟教会群を歩いて観光してみた感想/
> ゴルゴタ聖堂(ベテ・ゴルゴタ)
> ラリベラ王の墓所だったともいわれるのがゴルゴタ聖堂だ。その名の通り、
> イエス・キリストが処刑された地を想って造られた教会で、
> 角ばった建造物には形の違う窓が3つあり「三位一体」を、
> bュりぬかれたクャ鴻Xは「キリスャg」を表現してb「る。
はい、くりぬかれたクロスは「キリスト」を表現していますが、
くりぬかれたクロスは「キリスト」なのでしょうか?
違いますね。「表現」とは本物でも本物を再現することでもありません。
「表現」しているだけです。
673仕様書無しさん
2018/05/02(水) 16:04:07.98 >クラスは分類であって拡張じゃない
犬猫モデルの犠牲者がここにも
犬猫モデルの犠牲者がここにも
675仕様書無しさん
2018/05/02(水) 18:14:09.43 クラスは類なんだよなぁ
インスタンスはクラスを拡張してるわけじゃないんだよなぁ
インスタンスはクラスを拡張してるわけじゃないんだよなぁ
676仕様書無しさん
2018/05/02(水) 20:33:11.74 ネコ型ロボットはどちらになりますか?
677仕様書無しさん
2018/05/02(水) 20:38:46.35678仕様書無しさん
2018/05/02(水) 20:40:32.07 AIBOはどうでしょうか?
680仕様書無しさん
2018/05/02(水) 21:38:58.45681仕様書無しさん
2018/05/02(水) 21:40:05.74 クラスがわからない人への説明で、クラスはクラスで終わってどうするw
前提が分かってない
前提が分かってない
682仕様書無しさん
2018/05/02(水) 21:41:28.22683仕様書無しさん
2018/05/02(水) 21:48:58.61 頭で考えて理解出来るものでもないな
ある日突然悟るものだし
ある日突然悟るものだし
684仕様書無しさん
2018/05/02(水) 22:03:15.81 > 未知の概念は何かに例えて理解できるものではないんやなあw
理解できるだろ?
何を言ってるんだろうか?
理解できるだろ?
何を言ってるんだろうか?
686仕様書無しさん
2018/05/02(水) 22:05:59.13 元彼がなんというかものの例えが
理解出来ない人だった。
具体的に言うと
福山雅治のスコールという歌が私は好きでよく聞いてたんだけど
その歌が
「汗をかいたアイスティーと
取りすぎたポラロイド写真」
って歌詞から始まるんだけど元彼が聞くたびに
「アイスティーが汗かくわけないじゃんwwwwww」と失笑する。
最初はスルーしてたけどあまりにも
何度も言うからくどいなと思って
いや、机に置いてあるアイスティーの氷が溶ける程長くその場にいたとか
夏の暑さの表現でしょ。と言っても
「でもアイスティーは無機物だから汗かかないから日本語おかしいじゃん?」
とこちらをバカにしたように言ってきたり、その他にも歌詞とか宣伝の
「まるで〇〇のような〜」とか「××みたいな〜」とかの例え話に
「いや、でもそれは〇〇とか××とは違うじゃん。俺現実主義者だから」
と真顔で言い始めたので
この人本当に例え話が理解出来てないんだ、と思ったら冷めた。
現実主義者とは全く意味が違うのにそれも理解してなかった。
理解出来ない人だった。
具体的に言うと
福山雅治のスコールという歌が私は好きでよく聞いてたんだけど
その歌が
「汗をかいたアイスティーと
取りすぎたポラロイド写真」
って歌詞から始まるんだけど元彼が聞くたびに
「アイスティーが汗かくわけないじゃんwwwwww」と失笑する。
最初はスルーしてたけどあまりにも
何度も言うからくどいなと思って
いや、机に置いてあるアイスティーの氷が溶ける程長くその場にいたとか
夏の暑さの表現でしょ。と言っても
「でもアイスティーは無機物だから汗かかないから日本語おかしいじゃん?」
とこちらをバカにしたように言ってきたり、その他にも歌詞とか宣伝の
「まるで〇〇のような〜」とか「××みたいな〜」とかの例え話に
「いや、でもそれは〇〇とか××とは違うじゃん。俺現実主義者だから」
と真顔で言い始めたので
この人本当に例え話が理解出来てないんだ、と思ったら冷めた。
現実主義者とは全く意味が違うのにそれも理解してなかった。
687仕様書無しさん
2018/05/02(水) 22:12:31.97 >>684
そら例えは理解できるやろwそれを曲解と言うとるんやなあw
そら例えは理解できるやろwそれを曲解と言うとるんやなあw
688仕様書無しさん
2018/05/02(水) 22:18:06.04 >>686
よく見たらおまえ例えもわかっとらんやんw
よく見たらおまえ例えもわかっとらんやんw
689仕様書無しさん
2018/05/02(水) 22:18:18.15 自分にとってデメリットしか無いのに
なぜ素直に受け取らないで曲解するの?
もしかして「曲解」の意味もわかってない?
「表現」の意味も知らなかった人と同じかな
> きょっ‐かい〔キヨク‐〕【曲解】
>
> [名](スル)物事や相手の言動などを素直に受け取らないで、ねじまげて解釈すること。
なぜ素直に受け取らないで曲解するの?
もしかして「曲解」の意味もわかってない?
「表現」の意味も知らなかった人と同じかな
> きょっ‐かい〔キヨク‐〕【曲解】
>
> [名](スル)物事や相手の言動などを素直に受け取らないで、ねじまげて解釈すること。
691仕様書無しさん
2018/05/02(水) 22:26:07.47 >>690
なんやwあまりにもおまえらっぽすぎてガチやと思ったわw
なんやwあまりにもおまえらっぽすぎてガチやと思ったわw
693仕様書無しさん
2018/05/02(水) 22:31:19.10 >>692
でもおまえも例えすらわかっとらんのやろw
でもおまえも例えすらわかっとらんのやろw
695仕様書無しさん
2018/05/02(水) 22:35:24.65 >>694
なんでこのタイミングでいきなり命令口調やねんwそもそもがアホやんおまえw
なんでこのタイミングでいきなり命令口調やねんwそもそもがアホやんおまえw
696仕様書無しさん
2018/05/02(水) 22:36:56.07 例え話の効果はかなり高いからなぁ
多分うまいたとえ話に嫉妬してるんやろう
多分うまいたとえ話に嫉妬してるんやろう
697仕様書無しさん
2018/05/02(水) 22:38:56.15 クラスを犬や猫に例えるのは
わかりやすいし確かに良い例えだよね
わかりやすいし確かに良い例えだよね
698仕様書無しさん
2018/05/02(水) 22:53:09.34 犬やネコを見たことない人には不適切だな
やはり食い物がいいよ
やはり食い物がいいよ
699仕様書無しさん
2018/05/03(木) 02:11:10.62 でも、犬クラスも猫クラスも派生クラスだけどな。
700仕様書無しさん
2018/05/03(木) 09:50:29.16 モデリングの意味も知らない奴が「例え話」とか言って誤魔化すから余計意味不明になる。
702仕様書無しさん
2018/05/03(木) 11:59:12.12 >>699
ある人が考えた設計が、生物学的に正しい必要はないわけで、
トカゲクラスが犬クラスの派生でも、別に構わないんだけどね。
納得させられるだけの理由があれば。
Personクラスを設計した時に、親クラスに猿人クラスを
設計しないだろ?設計で問われるのは主体がなんなのかということだ。
ある人が考えた設計が、生物学的に正しい必要はないわけで、
トカゲクラスが犬クラスの派生でも、別に構わないんだけどね。
納得させられるだけの理由があれば。
Personクラスを設計した時に、親クラスに猿人クラスを
設計しないだろ?設計で問われるのは主体がなんなのかということだ。
705仕様書無しさん
2018/05/03(木) 13:35:35.91 person is-a 猿人
706仕様書無しさん
2018/05/03(木) 13:42:22.89 ほらね、こう言う事が起きるから生物は使うべきじゃないんだよ
707KAC
2018/05/03(木) 13:45:45.70 自動車とか言いだしたから猿人が出てきたんだろう。。。
709仕様書無しさん
2018/05/03(木) 13:54:24.82 自動車の基底クラスは馬車
710仕様書無しさん
2018/05/03(木) 13:55:33.19 なんや結局おまえら形を変えた美少女うんこ問題をやりたいだけなんやろw
素直になれやw
素直になれやw
711仕様書無しさん
2018/05/03(木) 13:55:33.98 >>706
> ほらね、こう言う事が起きるから生物は使うべきじゃないんだよ
は? Personクラスを設計した時に、親クラスに猿人クラスを
設計しないだろ?
当たり前過ぎて、親クラスに猿人クラスを設計しないだろ?
このように間違った設計をしないから、
生物を使ったほうがわかりやすいって話なんだが。
なんでオマエは勘違いしたの?
それはオマエの頭の問題だよね?
そうかオマエは親クラスを猿人クラスにするんだーw
> ほらね、こう言う事が起きるから生物は使うべきじゃないんだよ
は? Personクラスを設計した時に、親クラスに猿人クラスを
設計しないだろ?
当たり前過ぎて、親クラスに猿人クラスを設計しないだろ?
このように間違った設計をしないから、
生物を使ったほうがわかりやすいって話なんだが。
なんでオマエは勘違いしたの?
それはオマエの頭の問題だよね?
そうかオマエは親クラスを猿人クラスにするんだーw
713仕様書無しさん
2018/05/03(木) 14:04:10.08714仕様書無しさん
2018/05/03(木) 14:17:05.97 >>自動車の基底クラスは馬車
これが正しい認識
>>自動車の基底クラスは車両
は間違った認識
これが正しい認識
>>自動車の基底クラスは車両
は間違った認識
715仕様書無しさん
2018/05/03(木) 14:42:25.62 >>美少女の基底クラスは人間
これは正しいのか?
これは正しいのか?
716仕様書無しさん
2018/05/03(木) 14:53:47.01 自動車の基底クラスは馬車
自動車の基底クラスは車両
こういう間違った解釈をするから
自動車はたとえとして不適切なんだよな
自動車の基底クラスは車両
こういう間違った解釈をするから
自動車はたとえとして不適切なんだよな
717仕様書無しさん
2018/05/03(木) 17:12:48.22 ここは底辺連中が程度の低いところでお互いにマウント取り合おうとしてるスレですね
719仕様書無しさん
2018/05/03(木) 17:34:55.87 >>718
それはアイドルが人間かどうかじゃなくて
アイドルはクラスとすべきかって話だよ
ゲームのジョブみたいに一つしか選べないならクラスで良いかもしれないけど
現実には、アイドル 兼 農家 兼 ロリコン という職業もあるわけだし
まあ多重継承するって手もあるけどさ
それはアイドルが人間かどうかじゃなくて
アイドルはクラスとすべきかって話だよ
ゲームのジョブみたいに一つしか選べないならクラスで良いかもしれないけど
現実には、アイドル 兼 農家 兼 ロリコン という職業もあるわけだし
まあ多重継承するって手もあるけどさ
720仕様書無しさん
2018/05/03(木) 18:06:01.27 自転車と自動車があるだろ、どっちもタイヤがあるだろそれならこれを抽象化して呼び出したときに画像だけ変えてコード量を減らそうとかな
共有できる処理は基本クラスにして継承してから独自のはここで書き足せば綺麗に楽にするということ
共有できる処理は基本クラスにして継承してから独自のはここで書き足せば綺麗に楽にするということ
721仕様書無しさん
2018/05/03(木) 18:33:26.55 画像だけ変えるのにわざわざ別のクラスにすんなよ
722仕様書無しさん
2018/05/03(木) 18:37:35.43 >>720
ゲームならそれでいいが、俺達が住んでるのはゲームの世界じゃない
現実世界だ。現実世界で自転車と自動車で共通する処理なんて無いぞ。
自転車と自動車の違いは画像だけじゃないからな
現実世界と同じように表現できるのがオブジェクト指向だろう
ゲームならそれでいいが、俺達が住んでるのはゲームの世界じゃない
現実世界だ。現実世界で自転車と自動車で共通する処理なんて無いぞ。
自転車と自動車の違いは画像だけじゃないからな
現実世界と同じように表現できるのがオブジェクト指向だろう
723仕様書無しさん
2018/05/03(木) 19:02:22.85 オブジェクト指向って現実世界を表現できるの?
すげー
すげー
724仕様書無しさん
2018/05/03(木) 19:24:29.29726仕様書無しさん
2018/05/03(木) 20:41:22.28 >>725
おれにはずっと美少女うんこ問題をあつかっとる様にしか見えんがw
おれにはずっと美少女うんこ問題をあつかっとる様にしか見えんがw
727仕様書無しさん
2018/05/03(木) 21:23:46.95 だから、キャットドア課題をなんとかしろよ、お前らは。
730仕様書無しさん
2018/05/03(木) 22:58:36.93 じゃー、説明すればいいだけじゃないですかねー、またわかりやすい例えでー
731仕様書無しさん
2018/05/04(金) 00:20:25.97 オブジェクト指向の話をすると、なんで継承の話がメインなんの?
732仕様書無しさん
2018/05/04(金) 00:20:59.32 >>727
ラッカー乙
ラッカー乙
733仕様書無しさん
2018/05/04(金) 00:22:50.14 それが一番よく使われるからじゃないですかねー
734仕様書無しさん
2018/05/04(金) 00:59:26.21 継承って密結合になるからフレームワーク使う側なら継承あんま使わなくね?
735仕様書無しさん
2018/05/04(金) 01:00:44.62 オブジェクト指向の本質はオブジェクト同士が協調し合って事を成し遂げるところにあるのであって、継承って二の次三の次だろ
736仕様書無しさん
2018/05/04(金) 01:15:27.22 継承が話題になるのは、有効活用するのが難しいからでしょうね
データとそれに対する操作をオブジェクトとしてまとめるというのは、誰にでも理解できるから
データとそれに対する操作をオブジェクトとしてまとめるというのは、誰にでも理解できるから
737仕様書無しさん
2018/05/04(金) 06:13:42.41738仕様書無しさん
2018/05/04(金) 07:27:26.03 >>736
継承で注意が必要なのは、diamond継承などの矛盾解決や、継承のonoffコントロールの癖だね。
言語によっては、継承に似た別機構で問題を回避してるものもある(Rubyのmixinなど)。
継承で注意が必要なのは、diamond継承などの矛盾解決や、継承のonoffコントロールの癖だね。
言語によっては、継承に似た別機構で問題を回避してるものもある(Rubyのmixinなど)。
739仕様書無しさん
2018/05/04(金) 07:34:28.59 >>737
実装はそのとおりだけど、更に何故オブジェクト指向が必要になったかと言うと、理由の一つは「システム稼働中の動的入替え」を出来るようにしたかったから。
Erlangは、連続運転の世界規模通信システムを想定していたので、動的入替えの仕掛けを標準で持っている。
実装はそのとおりだけど、更に何故オブジェクト指向が必要になったかと言うと、理由の一つは「システム稼働中の動的入替え」を出来るようにしたかったから。
Erlangは、連続運転の世界規模通信システムを想定していたので、動的入替えの仕掛けを標準で持っている。
740仕様書無しさん
2018/05/04(金) 10:29:35.73 最初の頃は、継承をどんどんしろ、
だったのが、今は、継承を使うな、
がセオリーだったか?
やれと言われたり、やるなと言われることが変わりすぎて
わけ分からなくなってるのがオブジェクト指向。
だったのが、今は、継承を使うな、
がセオリーだったか?
やれと言われたり、やるなと言われることが変わりすぎて
わけ分からなくなってるのがオブジェクト指向。
741仕様書無しさん
2018/05/04(金) 11:21:51.39 >>740
そんなセオリー有ったかな?
バズワードで購読数稼ごうとしてる孫引き解説記事ではそういう文言見たことあるけど。
継承がどの程度必要かが事前にわかるのは、ルーチンワークを機械化するときくらい。
今時のプロジェクトは大抵は、途中で構成の見直しが必要になる。
なので、継承の構造自体を変える訳だが、期待通りに変わったかどうかのチェックは自動テストで確認するってのが多い。
そんなセオリー有ったかな?
バズワードで購読数稼ごうとしてる孫引き解説記事ではそういう文言見たことあるけど。
継承がどの程度必要かが事前にわかるのは、ルーチンワークを機械化するときくらい。
今時のプロジェクトは大抵は、途中で構成の見直しが必要になる。
なので、継承の構造自体を変える訳だが、期待通りに変わったかどうかのチェックは自動テストで確認するってのが多い。
742仕様書無しさん
2018/05/04(金) 12:18:50.16 > 今時のプロジェクトは大抵は、途中で構成の見直しが必要になる。
> なので、継承の構造自体を変える訳だが、
意味不明
> なので、継承の構造自体を変える訳だが、
意味不明
743仕様書無しさん
2018/05/04(金) 12:36:18.62 web限定の話やろw
744仕様書無しさん
2018/05/04(金) 12:50:34.64 web業界が一番進んでるからね。
最新の手法が採用されるのはweb業界
最新の手法が採用されるのはweb業界
745仕様書無しさん
2018/05/04(金) 12:59:33.16 >>742
ルーチンワークの機械化で済む仕事は減ってきてるからね。
ここ20年くらいのコンピュータ利用ってのは、OA化。
つまり過去数世紀に渡ってやってきた事務作業の機械化だった訳だが、それもほぼ一巡してしまった。
新しい事を試みようとすると、「やってみるまではよく分からない」部分が多いので、ある意味割り切って、途中で構成変更出来るように考えておく。
ルーチンワークの機械化で済む仕事は減ってきてるからね。
ここ20年くらいのコンピュータ利用ってのは、OA化。
つまり過去数世紀に渡ってやってきた事務作業の機械化だった訳だが、それもほぼ一巡してしまった。
新しい事を試みようとすると、「やってみるまではよく分からない」部分が多いので、ある意味割り切って、途中で構成変更出来るように考えておく。
746仕様書無しさん
2018/05/04(金) 13:42:19.34 どんな仕事でもある程度はやってみなければわからない部分があるが、アホほど見通せる範囲が狭い
不確実性を言い訳にちんたらやってる奴は、少しでも遠くを見渡せるようにスキルアップしてほしい
不確実性を言い訳にちんたらやってる奴は、少しでも遠くを見渡せるようにスキルアップしてほしい
747仕様書無しさん
2018/05/04(金) 14:26:48.66 見通せるって豪語してる連中はよくいるけど、見通した気になってるだけの奴が大半
748仕様書無しさん
2018/05/04(金) 14:39:04.77 不確実性うんぬん言ってる奴はよくいるけど、大して新規性もないのに応用力のなさゆえに
新しい問題に見えてしまってるだけの奴が大半
新しい問題に見えてしまってるだけの奴が大半
749仕様書無しさん
2018/05/04(金) 14:48:15.91 まあ俺は20年前にインターネット時代が来ることも
10年前にスマホ時代が来ることも予想していたし、
10年後がどうなっているかも確実に見通してる
10年前にスマホ時代が来ることも予想していたし、
10年後がどうなっているかも確実に見通してる
750仕様書無しさん
2018/05/04(金) 14:50:31.15 見渡せる見渡せないは重要じゃなくて
見渡せない部分があることを素直に認めて対応する余地を確保することが重要
これができてない人は仮に全部見渡せていても論外
見渡せない部分があることを素直に認めて対応する余地を確保することが重要
これができてない人は仮に全部見渡せていても論外
751仕様書無しさん
2018/05/04(金) 14:55:11.42 最初から完璧なら後から修正する必要がなくなる
754仕様書無しさん
2018/05/04(金) 17:52:22.66 オブジェクト前入れ替えじゃねか
755仕様書無しさん
2018/05/04(金) 21:53:29.75756仕様書無しさん
2018/05/04(金) 21:55:04.32 >>752
ピープルウェアとかデッド・ラインに出てくる「プロジェクトをダメにする自称管理者の勘違い」だもんなあ・・・
ピープルウェアとかデッド・ラインに出てくる「プロジェクトをダメにする自称管理者の勘違い」だもんなあ・・・
758仕様書無しさん
2018/05/04(金) 22:49:29.79 バカにはもっとキツい言い方せんと理解できんよw
759仕様書無しさん
2018/05/04(金) 23:05:33.89 計算モデルはなんなのかww
760仕様書無しさん
2018/05/04(金) 23:33:53.03 エンジンと車の解説は、継承なんて使わないよ!コンポジションを使うんだよ!という隠れた意図がある。
だからエンジンと車の例えがイケてるってわけさ
だからエンジンと車の例えがイケてるってわけさ
762仕様書無しさん
2018/05/04(金) 23:58:28.63 まあ、処理なんかどこに書いたって見積りは変わんないけどね
765仕様書無しさん
2018/05/05(土) 07:35:28.89 >>761
もちろんそうなるさ
だけど犬猫を使って継承を説明するとワナにかかるから
生物を使わないで継承を説明すればいいってこと。
いろんな種類のエンジンがあって、好きなのを車に搭載できる。スーパークラスってのはその様々なエンジンに共通するインターフェースなんだよ。
って説明するだけで良くない?たしかにマニアックかもしれないけど、もしそうならiPhoneケースでもいいし。
バッテリーを拡張できるスマホケースとか、裏にリングが付いてて持ちやすいケースとかいろいろあるでしょ?
でもiPhoneケースはAndroidスマホには搭載できない。
スーパークラスってのは、iPhoneケースのカメラ部分に穴が空いているといったiPhoneケースの共通点を抽出した規格のことを言うんだ。
もちろんソフトウェアの世界に形はないから、その共通点は機能や役割として抽象化されるんだ。
でわかるじゃん
もちろんそうなるさ
だけど犬猫を使って継承を説明するとワナにかかるから
生物を使わないで継承を説明すればいいってこと。
いろんな種類のエンジンがあって、好きなのを車に搭載できる。スーパークラスってのはその様々なエンジンに共通するインターフェースなんだよ。
って説明するだけで良くない?たしかにマニアックかもしれないけど、もしそうならiPhoneケースでもいいし。
バッテリーを拡張できるスマホケースとか、裏にリングが付いてて持ちやすいケースとかいろいろあるでしょ?
でもiPhoneケースはAndroidスマホには搭載できない。
スーパークラスってのは、iPhoneケースのカメラ部分に穴が空いているといったiPhoneケースの共通点を抽出した規格のことを言うんだ。
もちろんソフトウェアの世界に形はないから、その共通点は機能や役割として抽象化されるんだ。
でわかるじゃん
767仕様書無しさん
2018/05/05(土) 08:49:21.31 何処で覚えなさったら知りませんが、
動的入れ替えはOOPとは関係ありません。
動的入れ替えはOOPとは関係ありません。
768仕様書無しさん
2018/05/05(土) 11:35:07.04 > いろんな種類のエンジンがあって、好きなのを車に搭載できる。
搭載できないよ。車ごとに搭載できるエンジンは決まってる
搭載できないよ。車ごとに搭載できるエンジンは決まってる
769仕様書無しさん
2018/05/05(土) 11:44:13.22 同じエンジンに交換した場合は問題ないけど
違うエンジンに変更した場合は、そのままでは車検が通らない
違うエンジンに変更することをエンジンスワップという
エンジンスワップした場合は構造変更申請が必要
違うエンジンに変更した場合は、そのままでは車検が通らない
違うエンジンに変更することをエンジンスワップという
エンジンスワップした場合は構造変更申請が必要
770仕様書無しさん
2018/05/05(土) 11:44:55.02 横型エンジンには大きく分けて6V系と12V系に大別できます。
6V系はさらに分かれますが、これらの系統間では大きな変更があり、オイ
ルポンプ、クランクシャフト、ピストン、ミッション、キックギアなどが
異なっており、流用は困難か、加工が必要です。
また、同じベンリー(CD)の12Vでも、50ccと90ccではクランクシャフ
ト、ヘッド、ミッション、クラッチが異なっており、流用の際には注意が
必要です。
12V系の機種間の互換性も、モンキー・ゴリラのリターン式、ベンリー
(CD)のロータリーになりますので、この点でも問題になります。
エンジンまるごとの載せかえでは、12Vではモンキー、ゴリラ、カブ、ベ
ンリー(CD)間では可能ですが、マグナについてはできません。
また、その場合でも左クランクケースカバーが違いますので、モンキーに
ベンリー(CD)のエンジンを載せる場合は加工が必要です。
6V系はさらに分かれますが、これらの系統間では大きな変更があり、オイ
ルポンプ、クランクシャフト、ピストン、ミッション、キックギアなどが
異なっており、流用は困難か、加工が必要です。
また、同じベンリー(CD)の12Vでも、50ccと90ccではクランクシャフ
ト、ヘッド、ミッション、クラッチが異なっており、流用の際には注意が
必要です。
12V系の機種間の互換性も、モンキー・ゴリラのリターン式、ベンリー
(CD)のロータリーになりますので、この点でも問題になります。
エンジンまるごとの載せかえでは、12Vではモンキー、ゴリラ、カブ、ベ
ンリー(CD)間では可能ですが、マグナについてはできません。
また、その場合でも左クランクケースカバーが違いますので、モンキーに
ベンリー(CD)のエンジンを載せる場合は加工が必要です。
771仕様書無しさん
2018/05/05(土) 11:45:45.94 同じ駆動方式同士でのスワップは比較的簡単(!?)にエンジン換装は出来ますね。
数年前だとS13シルビアに13B搭載やR31タイプMにVG30搭載などは
エンジンスワップが得意なチューニングショップでは結構ありましたね。
1G搭載車には7Mも比較的加工も少なくスワップ出来ます。
データとノウハウを持ってるお店もいくつかありますしね。
大昔で言えばマツダシャンテ(360ccの軽自動車)に12Aターボぶち込みとか・・
(そんな事考えるのはひとりだけだけど・・・笑)
で 駆動方式の違う物同士でのスワップは無理に近いでしょう。
それこそ新しく作り変えるくらいの作業が必要でしょう。
エンジンのマウントはなんとかなったとしてもそこから先が
かなりな作業になるでしょうね。
それこそ車一台買える以上の金額が必要になるかと・・・。
と いう事で#3のおっしゃってる86系のスワップ以外は一般的な作業ではないですね。
数年前だとS13シルビアに13B搭載やR31タイプMにVG30搭載などは
エンジンスワップが得意なチューニングショップでは結構ありましたね。
1G搭載車には7Mも比較的加工も少なくスワップ出来ます。
データとノウハウを持ってるお店もいくつかありますしね。
大昔で言えばマツダシャンテ(360ccの軽自動車)に12Aターボぶち込みとか・・
(そんな事考えるのはひとりだけだけど・・・笑)
で 駆動方式の違う物同士でのスワップは無理に近いでしょう。
それこそ新しく作り変えるくらいの作業が必要でしょう。
エンジンのマウントはなんとかなったとしてもそこから先が
かなりな作業になるでしょうね。
それこそ車一台買える以上の金額が必要になるかと・・・。
と いう事で#3のおっしゃってる86系のスワップ以外は一般的な作業ではないですね。
772仕様書無しさん
2018/05/05(土) 12:05:23.14 OOPに限らず
ソフト業界って妙な例え用語が多くて
「そのプロセスをキルするんだよ」
とか傍で聴いている一般人はビックリするよね
妙な例えしないほうが解りやすいな
ソフト業界って妙な例え用語が多くて
「そのプロセスをキルするんだよ」
とか傍で聴いている一般人はビックリするよね
妙な例えしないほうが解りやすいな
773仕様書無しさん
2018/05/05(土) 12:19:24.00 エンジンや自動車に例えるのは
詳しい人でないとピンと来ないってところなんだよね
詳しい人でないとピンと来ないってところなんだよね
775仕様書無しさん
2018/05/05(土) 12:24:41.98 オブジェクト指向は言語に制限されないんだから、ここでCがどうのC#がどうの言うのってスレ違いだよね?
777仕様書無しさん
2018/05/05(土) 12:32:00.24 iPhone8を継承して作られたiPhoneXは
大きさも違って、iPhone8用ケースが使えなくなる
こんな感じかな
大きさも違って、iPhone8用ケースが使えなくなる
こんな感じかな
778仕様書無しさん
2018/05/05(土) 12:32:29.49 プログラマって、たとえ話で説明すると必ずたとえ話の重箱隅を突き始めるバカが湧いてくるよな
会話のエッセンスを抽出して理解、発展させる事ができないのかね
会話のエッセンスを抽出して理解、発展させる事ができないのかね
779仕様書無しさん
2018/05/05(土) 12:38:53.71 それは例えた例が悪いからじゃね?
780仕様書無しさん
2018/05/05(土) 12:40:45.03 >>778
そうそう
大切なのはアイディアを出し合って
よりベターな例えを見つけることだ
車とエンジンが例えとしてイケてないのは事実だし
プログラミングの世界に想像できない生物を持ってくる事がイケてないのも事実。
じゃあ、生物を使わないでわかりやすい例えはなんだろう?
それを俺たちでみつければいいのさ
そうそう
大切なのはアイディアを出し合って
よりベターな例えを見つけることだ
車とエンジンが例えとしてイケてないのは事実だし
プログラミングの世界に想像できない生物を持ってくる事がイケてないのも事実。
じゃあ、生物を使わないでわかりやすい例えはなんだろう?
それを俺たちでみつければいいのさ
781仕様書無しさん
2018/05/05(土) 12:48:10.80782仕様書無しさん
2018/05/05(土) 12:49:04.27 例えなきゃならないのは、具体的な案件が諸事情で出せないからだけどな。
社内じゃ例えなんか使わないでダイレクトに案件固有の状況で話すから。
社内じゃ例えなんか使わないでダイレクトに案件固有の状況で話すから。
784仕様書無しさん
2018/05/05(土) 13:04:08.74 >>781
お前そのコピペ大好きだなほんと
初心者にはイメージが大切なんだ。
で、プログラムの世界をイメージするのに最適な世界って
ゲームの世界だよな。
そしてプログラミングで大事なのはモジュールという概念だ。
んで、オブジェクト指向では、クラスでモジュールを作成する。
モジュールってのは初心者にわかりやすく説明するならパーツやマシンのことだろう?
そしてそのパーツやマシンを組み合わせて、プログラマが作りたいものを作れるのがプログラミングでありオブジェクト指向じゃないか。
レースゲームでタイヤ変えたりするのが、オブジェクト指向のイメージにぴったりだと思うのは何か間違ってんの??
お前そのコピペ大好きだなほんと
初心者にはイメージが大切なんだ。
で、プログラムの世界をイメージするのに最適な世界って
ゲームの世界だよな。
そしてプログラミングで大事なのはモジュールという概念だ。
んで、オブジェクト指向では、クラスでモジュールを作成する。
モジュールってのは初心者にわかりやすく説明するならパーツやマシンのことだろう?
そしてそのパーツやマシンを組み合わせて、プログラマが作りたいものを作れるのがプログラミングでありオブジェクト指向じゃないか。
レースゲームでタイヤ変えたりするのが、オブジェクト指向のイメージにぴったりだと思うのは何か間違ってんの??
785仕様書無しさん
2018/05/05(土) 13:23:28.46790仕様書無しさん
2018/05/05(土) 15:27:06.19791仕様書無しさん
2018/05/05(土) 15:37:54.17 > 犬猫がダメな理由は犬猫が生物だからだろう?
理由になってない
理由になってない
792仕様書無しさん
2018/05/05(土) 15:40:38.44 犬猫が良い理由も犬猫が生物だからなんだけどね
生物であるがゆえに、最初に構造を自分で考える必要がない
なにも知らないで自分で考えるよりも
最初にあるものを例にしたほうがわかりやすいから
生物であるがゆえに、最初に構造を自分で考える必要がない
なにも知らないで自分で考えるよりも
最初にあるものを例にしたほうがわかりやすいから
793仕様書無しさん
2018/05/05(土) 16:10:35.71 哺乳類という分類をどんなに拡張しても猫にならない
なので犬猫モデルはダメダメ
なので犬猫モデルはダメダメ
796仕様書無しさん
2018/05/05(土) 16:16:04.25 エンジンという分類をどんなに拡張しても
ディーゼルエンジンにはならない
ディーゼルエンジンにはならない
797仕様書無しさん
2018/05/05(土) 16:16:09.66 >>784
スーパークラスは規格なんだよ。お家のコンセントが、家によってバラバラだったら家電使えないでしょ?
タイヤにもコンセントみたいな規格があって、その規格にあわせていろんなタイヤを作るから
タイヤが交換できるんだよ。
で、説明可能(ドヤッ
スーパークラスは規格なんだよ。お家のコンセントが、家によってバラバラだったら家電使えないでしょ?
タイヤにもコンセントみたいな規格があって、その規格にあわせていろんなタイヤを作るから
タイヤが交換できるんだよ。
で、説明可能(ドヤッ
798仕様書無しさん
2018/05/05(土) 16:16:58.29 OOPがモデリングの世界という事を理解してない奴が多いな
犬猫クラスは簡略化された犬猫のモデルであって厳密な犬猫の定義ではない
なので現実の犬猫はああだこうだと細かく指摘するのは無意味
犬猫クラスは簡略化された犬猫のモデルであって厳密な犬猫の定義ではない
なので現実の犬猫はああだこうだと細かく指摘するのは無意味
801仕様書無しさん
2018/05/05(土) 16:21:08.53 >>795
哺乳類のダメなところは規格きよる分類として
プログラミングと相性が悪いところなんだよ
哺乳類の規格なんて答えられるやついるか??反面、乾電池の規格はわかりやすいし、
その規格に適応させることで連携稼働するという結果も見られる。
哺乳類のダメなところは規格きよる分類として
プログラミングと相性が悪いところなんだよ
哺乳類の規格なんて答えられるやついるか??反面、乾電池の規格はわかりやすいし、
その規格に適応させることで連携稼働するという結果も見られる。
802仕様書無しさん
2018/05/05(土) 16:21:20.93 タイヤの規格を拡張したものがタイヤです
806仕様書無しさん
2018/05/05(土) 16:23:31.71 「オブジェクト指向の説明に生物は不適切!だからUserクラスとか定義したらダメ!」
807仕様書無しさん
2018/05/05(土) 16:23:53.99 > 乾電池の規格はわかりやすいし、
あ、はい
http://www.geocities.jp/r_oda42/main_denti.html
電池系記号 電池の通称 公称電圧
なし マ ン ガ ン 乾 電 池 1.5V
B フッ化黒鉛 リチウム電池 3.0V
C 二酸化マンガンリチウム電池 3.0V
G 酸 化 銅 リチウム 電 池 1.5V
E 塩化チオニルリチウム電池 3.6V
L ア ル カ リ 乾 電 池 1.5V
P 空 気 亜 鉛 電 池 1.4V
S 酸 化 銀 電 池 1.55V
H ニッケル水素電池(二次) 1.2V
K ニ カ ド 電 池 (二次) 1.2V
Z ニ ッ ケ ル 系 電 池 1.5V
M , N 水 銀 電 池 1.35V
米国の通称 IEC/JIS 日本の通称 旧JIS 直径 o 高さ o
D R20 単1 UM-1 34.2 61.5
C R14 単2 UM-2 26.2 50.0
AA R6 単3 UM-3 14.5 50.5
AAA R03 単4 UM-4 10.5 44.5
N R1 単5 UM-5 12.0 30.2
あ、はい
http://www.geocities.jp/r_oda42/main_denti.html
電池系記号 電池の通称 公称電圧
なし マ ン ガ ン 乾 電 池 1.5V
B フッ化黒鉛 リチウム電池 3.0V
C 二酸化マンガンリチウム電池 3.0V
G 酸 化 銅 リチウム 電 池 1.5V
E 塩化チオニルリチウム電池 3.6V
L ア ル カ リ 乾 電 池 1.5V
P 空 気 亜 鉛 電 池 1.4V
S 酸 化 銀 電 池 1.55V
H ニッケル水素電池(二次) 1.2V
K ニ カ ド 電 池 (二次) 1.2V
Z ニ ッ ケ ル 系 電 池 1.5V
M , N 水 銀 電 池 1.35V
米国の通称 IEC/JIS 日本の通称 旧JIS 直径 o 高さ o
D R20 単1 UM-1 34.2 61.5
C R14 単2 UM-2 26.2 50.0
AA R6 単3 UM-3 14.5 50.5
AAA R03 単4 UM-4 10.5 44.5
N R1 単5 UM-5 12.0 30.2
809仕様書無しさん
2018/05/05(土) 16:25:29.63811仕様書無しさん
2018/05/05(土) 16:26:21.52812仕様書無しさん
2018/05/05(土) 16:27:53.28813仕様書無しさん
2018/05/05(土) 16:28:35.85 やっぱりわかりやすい
https://www.ogis-ri.co.jp/otc/hiroba/technical/Squeak3/S3-3-1.html
分類概念の上下関係にもとづいてクラスの継承をきちんと作成していくと、「実際にはインスタンスを作成する必要のないクラス」が存在することになります。
例えば、ペットブリーダーを支援するアプリケーションを作成していたと考えてみましょう。様々な動物をプログラム上管理する必要があるため、
哺乳類
犬
柴犬
チワワ
コリー
猫
…
といった形でクラスを定義していたとします。
実際に、ペットブリーダーが育てるのは、「(芝犬の)ポチ」や「(コリーの)ラッシー」です。この場合に、「哺乳類」
「犬」「猫」といったクラスは、主として分類の適切な階層を形成するために存在し、実際のインスタンスは
作成しないことになります。(なんだかよくわからない「哺乳類のインスタンス」をペットブリーダーが対象にすることはありえません)。
こうしたクラスを抽象クラスと呼びます。抽象クラスの「抽象」とは、決して「具体的なインスタンスが作成されない」
という意味になります。(これに対し、実際にインスタンスが作成されるクラスを「具象クラス」とよぶ場合があります)。
ただし、抽象クラスの持つ「属性の定義」、「操作の定義」、「操作の実装」は依然としてサブクラスで継承され、利用されることになります。
例えば「哺乳類」には、「平均体温」といった属性の定義を行っておくことができ、「犬」には「お手
」「おすわり」といった操作の定義、実装をすることができます。
抽象クラスは分類の概念をきちんと整理するのに役立ち、また、継承によるコードの再利用も促進します。
https://www.ogis-ri.co.jp/otc/hiroba/technical/Squeak3/S3-3-1.html
分類概念の上下関係にもとづいてクラスの継承をきちんと作成していくと、「実際にはインスタンスを作成する必要のないクラス」が存在することになります。
例えば、ペットブリーダーを支援するアプリケーションを作成していたと考えてみましょう。様々な動物をプログラム上管理する必要があるため、
哺乳類
犬
柴犬
チワワ
コリー
猫
…
といった形でクラスを定義していたとします。
実際に、ペットブリーダーが育てるのは、「(芝犬の)ポチ」や「(コリーの)ラッシー」です。この場合に、「哺乳類」
「犬」「猫」といったクラスは、主として分類の適切な階層を形成するために存在し、実際のインスタンスは
作成しないことになります。(なんだかよくわからない「哺乳類のインスタンス」をペットブリーダーが対象にすることはありえません)。
こうしたクラスを抽象クラスと呼びます。抽象クラスの「抽象」とは、決して「具体的なインスタンスが作成されない」
という意味になります。(これに対し、実際にインスタンスが作成されるクラスを「具象クラス」とよぶ場合があります)。
ただし、抽象クラスの持つ「属性の定義」、「操作の定義」、「操作の実装」は依然としてサブクラスで継承され、利用されることになります。
例えば「哺乳類」には、「平均体温」といった属性の定義を行っておくことができ、「犬」には「お手
」「おすわり」といった操作の定義、実装をすることができます。
抽象クラスは分類の概念をきちんと整理するのに役立ち、また、継承によるコードの再利用も促進します。
814仕様書無しさん
2018/05/05(土) 16:29:39.30 >>812
> アダプターパターンを理解するのにこれ以上わかりやすい説明あったら教えてよww
だからそうじゃなくてい、今はオブジェクト指向が分かってない人向けの説明
小学生にいきなり高等数学お教えても理解できないんだよ
> アダプターパターンを理解するのにこれ以上わかりやすい説明あったら教えてよww
だからそうじゃなくてい、今はオブジェクト指向が分かってない人向けの説明
小学生にいきなり高等数学お教えても理解できないんだよ
815仕様書無しさん
2018/05/05(土) 16:30:07.38 そうだな。クラスとかインスタンスとか分かってないレベルの人には
犬猫で例えたほうがわかりやすいだろう。
犬猫で例えたほうがわかりやすいだろう。
816仕様書無しさん
2018/05/05(土) 16:32:23.65 >>806
大切なのはエンジニアがプログラムの世界に生物はいないって認識を持つこと。
そしたらUserクラスを作っても、これはUser自体を指すのではなく
アプリケーションがもつユーザに関するデータや機能がある装置(パーツ)なんだって正しい認識ができるじゃん
大切なのはエンジニアがプログラムの世界に生物はいないって認識を持つこと。
そしたらUserクラスを作っても、これはUser自体を指すのではなく
アプリケーションがもつユーザに関するデータや機能がある装置(パーツ)なんだって正しい認識ができるじゃん
817仕様書無しさん
2018/05/05(土) 16:33:13.62 > 大切なのはエンジニアがプログラムの世界に生物はいないって認識を持つこと。
な? いきなりプログラムの世界という馴染みのない世界での話をする
それじゃ、分かってない人は理解できないよ
な? いきなりプログラムの世界という馴染みのない世界での話をする
それじゃ、分かってない人は理解できないよ
818仕様書無しさん
2018/05/05(土) 16:34:09.60 重要なのは相手の立場になって考えること。
プログラムの世界にいない人はいるが
現実世界であれば誰でもいる
その現実世界で例えるから理解しやすい
プログラムの世界にいない人はいるが
現実世界であれば誰でもいる
その現実世界で例えるから理解しやすい
821仕様書無しさん
2018/05/05(土) 16:35:29.08 乾電池といっても場面によって様々だ
オンラインショップでは特別なクラスでは無く単に商品クラスの1インスタンスになるだろう
商品説明プロパティに通称や規格といった情報がドキュメントとして含まれるかもしれないがそれが振る舞いに影響することはない
中高生向け教材用の回路シミュレーターでは電圧など簡略化された物理特性が定義されていれば十分で規格や通称などは無視されるだろう
この場合の乾電池クラスは素子クラスを継承しているかもしれない
乾電池の現実的なあらゆる側面を考慮してクラス化しようとするから無理が生じる
乾電池クラスはあくまで簡略化されたモデルでしかないのでリアルな乾電池の全てを正確に表現する意味はどこにもない
オンラインショップでは特別なクラスでは無く単に商品クラスの1インスタンスになるだろう
商品説明プロパティに通称や規格といった情報がドキュメントとして含まれるかもしれないがそれが振る舞いに影響することはない
中高生向け教材用の回路シミュレーターでは電圧など簡略化された物理特性が定義されていれば十分で規格や通称などは無視されるだろう
この場合の乾電池クラスは素子クラスを継承しているかもしれない
乾電池の現実的なあらゆる側面を考慮してクラス化しようとするから無理が生じる
乾電池クラスはあくまで簡略化されたモデルでしかないのでリアルな乾電池の全てを正確に表現する意味はどこにもない
823仕様書無しさん
2018/05/05(土) 16:39:48.57 >>822
いや、なってるよ!
継承よりコンポジションやDIが大切なのに
それが行われずに何でもかんでも共通機能は
全部親クラスに定義して神クラスが出来上がるのは犬猫のせいだろ!
犬の臓器をコンストラクタで代入するなんて発想、初心者には意味不明すぎ。だから神クラスができる。
いや、なってるよ!
継承よりコンポジションやDIが大切なのに
それが行われずに何でもかんでも共通機能は
全部親クラスに定義して神クラスが出来上がるのは犬猫のせいだろ!
犬の臓器をコンストラクタで代入するなんて発想、初心者には意味不明すぎ。だから神クラスができる。
825仕様書無しさん
2018/05/05(土) 16:46:02.25829仕様書無しさん
2018/05/05(土) 16:50:18.73 初心者には継承より先にコンポジションを説明するべきだと思うほど重要だろう
830仕様書無しさん
2018/05/05(土) 16:51:57.79 継承を知らない人に継承は良くないですよって
言っても理解できない
言っても理解できない
831仕様書無しさん
2018/05/05(土) 16:52:55.92 どんなことでも基本が大事
オブジェクト指向の機能はクラスと継承だ
オブジェクト指向の機能はクラスと継承だ
833仕様書無しさん
2018/05/05(土) 16:55:00.58 継承は重要な概念だが重要な機能ではない
重要な概念かつ重要な機能であるインターフェースを学ばせるほうが有益
重要な概念かつ重要な機能であるインターフェースを学ばせるほうが有益
834仕様書無しさん
2018/05/05(土) 16:56:11.74 あ、先に言っておくとインターフェースって、スーパークラスとinterfaceの両方を含む意味のことね!
ポリモーフィズム的視点から見たらどっちもインターフェースだから
ポリモーフィズム的視点から見たらどっちもインターフェースだから
836仕様書無しさん
2018/05/05(土) 17:07:49.70 自作自演かよw
838仕様書無しさん
2018/05/05(土) 17:13:04.36 継承は基本だからオブジェクト指向しっていて知らないのは潜りだぞ
840仕様書無しさん
2018/05/05(土) 17:15:52.03 結局、犬猫がだめな理由が出てないんだよね。
生物だからだめだー。ただこれだけ
生物だからだめだー。ただこれだけ
842仕様書無しさん
2018/05/05(土) 17:33:19.46844KAC
2018/05/05(土) 18:02:37.60846仕様書無しさん
2018/05/05(土) 19:55:30.15 >>845
C++で多重継承してひどい目にあったことがある。
いろいろおもったことはあったけど、そこから学んだことは「多重継承はアンチパターン」ってことと「インターフェースであれば多重継承問題が起こらない」ということだった。
詳しいみたいなので聞きたいんだが、これ以外にツッコミどことか知っておくべきことってある?
C++で多重継承してひどい目にあったことがある。
いろいろおもったことはあったけど、そこから学んだことは「多重継承はアンチパターン」ってことと「インターフェースであれば多重継承問題が起こらない」ということだった。
詳しいみたいなので聞きたいんだが、これ以外にツッコミどことか知っておくべきことってある?
847仕様書無しさん
2018/05/05(土) 20:35:38.69 多重継承は使うな、
ってのは今じゃなくても
オブジェクト指向が流行りだした
かなり初期の頃から言われてたじゃん。
ってのは今じゃなくても
オブジェクト指向が流行りだした
かなり初期の頃から言われてたじゃん。
849仕様書無しさん
2018/05/06(日) 07:03:33.92 インターフェースっていろんな意味で使うから、こういう議論では混乱する
851仕様書無しさん
2018/05/06(日) 10:16:14.10 Objective-C等のプロトコル(Swiftにも受け継がれた)やその影響で作られたJava等のインターフェイスは
クラスの継承を安易にデータ型の派生に流用したことで生じた問題を
両者を分離することで解決しようとした試みの一つだよ
クラスの継承を安易にデータ型の派生に流用したことで生じた問題を
両者を分離することで解決しようとした試みの一つだよ
852仕様書無しさん
2018/05/06(日) 10:41:36.97 ふむ、JavaのinterfaceやC++の実装を持たないクラスであれば
多重継承しても複雑化問題は起こらないという認識で間違っていなかったようだ。
そもそも継承自体ほとんど使わないからな。
既存のモジュールはそのまま使うことが多い。オーバーライドして拡張したことなんてほとんどの人が無いのでは?
また、その必要があるときは継承するのではなくコンポジションを使うしね。
ちょっと前にも話があったけど、画像が変わるだけで継承することもないし。
ゲームの場合はEnemyクラスを継承したいろんな敵を作ったりするかもだけど、その場合でさえ不要なことがありえる。
ほとんどの場合、継承が必要なのはロジックの差し替えだから、簡易的なスクリプトの利用が許されるなら、ロジックすらDI可能になるしね。
つまり、継承はオブジェクト指向の基本だが、その利用は分野によってほとんどの場合限られるというわけさ
多重継承しても複雑化問題は起こらないという認識で間違っていなかったようだ。
そもそも継承自体ほとんど使わないからな。
既存のモジュールはそのまま使うことが多い。オーバーライドして拡張したことなんてほとんどの人が無いのでは?
また、その必要があるときは継承するのではなくコンポジションを使うしね。
ちょっと前にも話があったけど、画像が変わるだけで継承することもないし。
ゲームの場合はEnemyクラスを継承したいろんな敵を作ったりするかもだけど、その場合でさえ不要なことがありえる。
ほとんどの場合、継承が必要なのはロジックの差し替えだから、簡易的なスクリプトの利用が許されるなら、ロジックすらDI可能になるしね。
つまり、継承はオブジェクト指向の基本だが、その利用は分野によってほとんどの場合限られるというわけさ
853仕様書無しさん
2018/05/06(日) 10:47:14.41 つまりまとめると、オブジェクト指向には色々な概念があるけれど
オブジェクト指向に踊らされないために心がけるべきことはDIとコンポジション、そしてインターフェースに対してプログラミングするという、この3点なのだよ。
もちろんデザインパターンとかMVCとかも重要だけど、継承に騙されて神クラス地獄に落ちることを回避することが大切で
その回避の第一歩となるのがコンポジションなのさ
オブジェクト指向に踊らされないために心がけるべきことはDIとコンポジション、そしてインターフェースに対してプログラミングするという、この3点なのだよ。
もちろんデザインパターンとかMVCとかも重要だけど、継承に騙されて神クラス地獄に落ちることを回避することが大切で
その回避の第一歩となるのがコンポジションなのさ
854仕様書無しさん
2018/05/06(日) 10:50:45.74 ごめん、DIと、コンポジションはほとんど同じ意味だった。
依存性注入(DI)と、疎結合(ポリモーフィズムなど)と、モデリングの3点に訂正させてくれ
依存性注入(DI)と、疎結合(ポリモーフィズムなど)と、モデリングの3点に訂正させてくれ
855仕様書無しさん
2018/05/06(日) 11:01:41.14 例えば…
数値型の金額と、enumの通貨記号の二つの変数で「金額」を表現しているプログラムがあったとする。
・馬鹿な新人が、JPY+USDとかしてた
・お客に頭を下げたり休出してデータメンテしなければならない事が良くあった
これをイミュータブルな「金額クラス」にした
・加算減算メソッドは、同じ通貨記号を持つ金額インスタンスとだけ足し算可能
・乗算除算メソッドは、ただの数値(QTYとか税率とか利率とか)と掛け算が可能
これによって
・馬鹿な新人の、HKD+EURを止められるようになった(例外は出るけど、データの破壊は防げる)
・ソースコードに学習効果が生まれて、そのうち新人の知性がちょっとだけ増えた
・ムカつく客に頭下げずに済むし、休日のんびりシコれてハッピー
こんな感じで「目的」にフォーカスしてクラスという単位に切り出す事によって、複雑さを下げて物事を理解しやすくする。
…てのが、オブジェクト指向の一つの側面なのかなーと思ってる
DIとか多態性とかデザインパターンは、難しすぎて俺には手に負えない
数値型の金額と、enumの通貨記号の二つの変数で「金額」を表現しているプログラムがあったとする。
・馬鹿な新人が、JPY+USDとかしてた
・お客に頭を下げたり休出してデータメンテしなければならない事が良くあった
これをイミュータブルな「金額クラス」にした
・加算減算メソッドは、同じ通貨記号を持つ金額インスタンスとだけ足し算可能
・乗算除算メソッドは、ただの数値(QTYとか税率とか利率とか)と掛け算が可能
これによって
・馬鹿な新人の、HKD+EURを止められるようになった(例外は出るけど、データの破壊は防げる)
・ソースコードに学習効果が生まれて、そのうち新人の知性がちょっとだけ増えた
・ムカつく客に頭下げずに済むし、休日のんびりシコれてハッピー
こんな感じで「目的」にフォーカスしてクラスという単位に切り出す事によって、複雑さを下げて物事を理解しやすくする。
…てのが、オブジェクト指向の一つの側面なのかなーと思ってる
DIとか多態性とかデザインパターンは、難しすぎて俺には手に負えない
856仕様書無しさん
2018/05/06(日) 11:26:33.93 >>855
それはただ単に計算をカプセル化しただけで
オブジェクト指向でなくてもできるのでは?
DIとか多態性とかって聞くと拒否感あるかもしれないけど
DIは「そのクラスで使いたい機能はnewするときにコンストラクタに渡して使おうぜ!」って話だし
多態性は「抽象(インターフェース)に対してプログラミングしたら、そのコードは流用性あるよね」ってだけのことさ
それはただ単に計算をカプセル化しただけで
オブジェクト指向でなくてもできるのでは?
DIとか多態性とかって聞くと拒否感あるかもしれないけど
DIは「そのクラスで使いたい機能はnewするときにコンストラクタに渡して使おうぜ!」って話だし
多態性は「抽象(インターフェース)に対してプログラミングしたら、そのコードは流用性あるよね」ってだけのことさ
857仕様書無しさん
2018/05/06(日) 12:15:37.96 ウィキペにも(そうとはわかりにくく)書いてあるけど、オブジェクト指向には
あらゆる局面での遅延結合性を重要視する「メッセージング」のオブジェクト指向
http://metatoys.org/oxymoron/oxymoron.html
と、ユーザー定義のデータ型をクラス(あるいはインターフェイス等それに準ずる言語機能)で実現する
「抽象データ型」のオブジェクト指向がある
http://www.stroustrup.com/whatis.pdf
端的には前者は「オブジェクトにメッセージを送って…」、後者は「カプセル化、継承、多態性」がお題目のやつ
継承がどうこういうのは後者の問題で、前者ではデータ型自体を意識することがないので
(Smalltalkなどの前者寄りに作られた言語で後者を部分的に実践する場合を除き)
ほとんど問題にならない
両者の考え方を完全に分離できたなら現在のような混乱は生じていないのだけれども
本来後者で完結されるべきオブジェクト指向設計や分析の提唱者の多くが
Smalltalkなど前者に重きを置く言語のシンパでもあったりして前者の要素を含ませてしまったため
いろいろと面倒なことになって久しい
あらゆる局面での遅延結合性を重要視する「メッセージング」のオブジェクト指向
http://metatoys.org/oxymoron/oxymoron.html
と、ユーザー定義のデータ型をクラス(あるいはインターフェイス等それに準ずる言語機能)で実現する
「抽象データ型」のオブジェクト指向がある
http://www.stroustrup.com/whatis.pdf
端的には前者は「オブジェクトにメッセージを送って…」、後者は「カプセル化、継承、多態性」がお題目のやつ
継承がどうこういうのは後者の問題で、前者ではデータ型自体を意識することがないので
(Smalltalkなどの前者寄りに作られた言語で後者を部分的に実践する場合を除き)
ほとんど問題にならない
両者の考え方を完全に分離できたなら現在のような混乱は生じていないのだけれども
本来後者で完結されるべきオブジェクト指向設計や分析の提唱者の多くが
Smalltalkなど前者に重きを置く言語のシンパでもあったりして前者の要素を含ませてしまったため
いろいろと面倒なことになって久しい
859仕様書無しさん
2018/05/06(日) 13:00:45.16 まあ、何だかんだ言ってるが、まともに動かない設計して最後はいつもパッチワークして貫通トンネル工事するんだろ?
860仕様書無しさん
2018/05/06(日) 13:02:54.87 だからOOPの本質は疎結合
861仕様書無しさん
2018/05/06(日) 13:20:18.54 で、下手に隠蔽しちまって、参照出来ねーとか完全に設計ミスな実装しやがる奴の多い事…。
862仕様書無しさん
2018/05/06(日) 13:20:34.01 >>856
> DIは「そのクラスで使いたい機能はnewするときにコンストラクタに渡して使おうぜ!」って話だし
AとBというクラスがあってAがBを使う
その時Bの内部実装について、Aはまったく知らないのがいいはずなんだが、
newするときコンストラクタに渡すってことは、Bが内部で使うクラス全てに依存するってことか
ひどい実装だなw
class A {
foo() {
b = new B(new File)
b.run()
}
}
Bが内部でファイル読み書きに加えとあるライブラリを使うようになったので
Aを修正してください。
class A {
foo() {
b = new B(new File, new Hoge)
b.run()
}
}
> DIは「そのクラスで使いたい機能はnewするときにコンストラクタに渡して使おうぜ!」って話だし
AとBというクラスがあってAがBを使う
その時Bの内部実装について、Aはまったく知らないのがいいはずなんだが、
newするときコンストラクタに渡すってことは、Bが内部で使うクラス全てに依存するってことか
ひどい実装だなw
class A {
foo() {
b = new B(new File)
b.run()
}
}
Bが内部でファイル読み書きに加えとあるライブラリを使うようになったので
Aを修正してください。
class A {
foo() {
b = new B(new File, new Hoge)
b.run()
}
}
863仕様書無しさん
2018/05/06(日) 13:24:34.19 コンストラクタの後に初期化じゃダメなん?
つうか、コンストラクタに色々詰め込んだらダメっしょ?
つうか、コンストラクタに色々詰め込んだらダメっしょ?
864仕様書無しさん
2018/05/06(日) 13:26:52.02865仕様書無しさん
2018/05/06(日) 14:02:42.07 初心者しかいないな
866仕様書無しさん
2018/05/06(日) 14:08:26.64 DIだと日付クラスを使いたい時、
中でnewしないで、外部から渡してもらう
中でnewしないで、外部から渡してもらう
869仕様書無しさん
2018/05/06(日) 14:14:31.04870仕様書無しさん
2018/05/06(日) 14:16:36.65871仕様書無しさん
2018/05/06(日) 14:16:53.34 DIで粗結合にするのって、オブジェクト指向がどうこうじゃなくて、ユニットテストのために(仕方なく)やるのが
ほとんどなので、スレのテーマとはちょっと違うかなー
ほとんどなので、スレのテーマとはちょっと違うかなー
873仕様書無しさん
2018/05/06(日) 14:18:31.85 日付は値なので注入しない
注入するのはカレンダーとか現在時刻プロバイダー
注入するのはカレンダーとか現在時刻プロバイダー
874仕様書無しさん
2018/05/06(日) 14:19:23.73875仕様書無しさん
2018/05/06(日) 14:20:46.66 >>871
solidについて調査してレポートして
弊社だと新人研修で叩き込むことだけど
業界を見渡すとsolidすら知らん素人が紛れ込んでるんだよな
あの会社は教育体制大丈夫なのかなと他人事ながら心配になる
solidについて調査してレポートして
弊社だと新人研修で叩き込むことだけど
業界を見渡すとsolidすら知らん素人が紛れ込んでるんだよな
あの会社は教育体制大丈夫なのかなと他人事ながら心配になる
877仕様書無しさん
2018/05/06(日) 14:23:19.16881仕様書無しさん
2018/05/06(日) 14:27:14.26 箱と中身がごっちゃになってるカオスw
883仕様書無しさん
2018/05/06(日) 14:34:20.91884仕様書無しさん
2018/05/06(日) 14:37:09.86 >>880
俺らが業務で扱うような文字列ってのは全て単純な文字列じゃない
例えばあるシステム上に注文番号という概念があるとして
この注文番号は文字列表現を持つかもしれないが文字列そのものではない
だから注文番号を扱うクライアントが注文番号ではなく文字列に直接依存してはならない
注文番号というValueObjectを通じて文字列との結合を排除しなければならない
俺らが業務で扱うような文字列ってのは全て単純な文字列じゃない
例えばあるシステム上に注文番号という概念があるとして
この注文番号は文字列表現を持つかもしれないが文字列そのものではない
だから注文番号を扱うクライアントが注文番号ではなく文字列に直接依存してはならない
注文番号というValueObjectを通じて文字列との結合を排除しなければならない
885仕様書無しさん
2018/05/06(日) 14:38:20.08887仕様書無しさん
2018/05/06(日) 14:43:53.00 そう言う型のデータクラスを扱うって話と、データ自身を自ら生成するのかって話がごっちゃになってるだけ。
889仕様書無しさん
2018/05/06(日) 14:46:32.95 >>882
・クライアントは現在時刻プロバイダが現在時刻を供給するということだけを知っていればいい
クライアントは現在時刻の定義などを気にしなくてよくなり本来の仕事に集中できる
・クライアントに現在時刻を供給したり自給自足する責任が無いことを依存性として明示することにより可読性・保守性が向上する
・クライアントと現在時刻を取得する具体的な実装を分離したことによって
現在時刻を取得する方法を容易に切り替えることができる
・クライアントは現在時刻プロバイダが現在時刻を供給するということだけを知っていればいい
クライアントは現在時刻の定義などを気にしなくてよくなり本来の仕事に集中できる
・クライアントに現在時刻を供給したり自給自足する責任が無いことを依存性として明示することにより可読性・保守性が向上する
・クライアントと現在時刻を取得する具体的な実装を分離したことによって
現在時刻を取得する方法を容易に切り替えることができる
891仕様書無しさん
2018/05/06(日) 14:52:05.93 >>863
DIを使うとむしろコンストラクタはシンプルになる
ほとんどの場合ヌルチェックとフィールドへの代入だけでよい
色々やる必要がある場合はFactoryが代行する
コンストラクタの後に初期化する方法もある
プロパティインジェクションやメソッドインジェクションと呼ばれる
ただしこれらの方法はオブジェクトが不完全な状態を一時的に許すことになる
なので神経質なプログラマはコンストラクタインジェクションを好むようだ
DIを使うとむしろコンストラクタはシンプルになる
ほとんどの場合ヌルチェックとフィールドへの代入だけでよい
色々やる必要がある場合はFactoryが代行する
コンストラクタの後に初期化する方法もある
プロパティインジェクションやメソッドインジェクションと呼ばれる
ただしこれらの方法はオブジェクトが不完全な状態を一時的に許すことになる
なので神経質なプログラマはコンストラクタインジェクションを好むようだ
892仕様書無しさん
2018/05/06(日) 14:53:49.58 >>889
1つめと2つめ
クライアントは使用するオブジェクトの実装に依存しないというオブジェクト指向一般の話であって
DIを説明してるわけじゃないっしょ
3つめ
実際にそれやるのって、現実的にはユニットテストのためだけであることがほとんど
1つめと2つめ
クライアントは使用するオブジェクトの実装に依存しないというオブジェクト指向一般の話であって
DIを説明してるわけじゃないっしょ
3つめ
実際にそれやるのって、現実的にはユニットテストのためだけであることがほとんど
895仕様書無しさん
2018/05/06(日) 15:03:31.06896仕様書無しさん
2018/05/06(日) 15:11:08.77 >>892
1つめ
クラスを直接参照する場合には暗黙に実装にも依存が発生してしまう
例えば現在時刻プロバイダがタイムサーバーにアクセスしている場合クライアントの開発者はタイムサーバーへアクセスできる環境を強いられることになる
またインターフェースに存在しないメソッドを知ってしまうというリスクがある
あなたの後任者がそのメソッドを呼びだしてクラス間の結合度を高めることを防ぐことは難しい
2つめ
返しとして不適切
3つめ
現在時刻プロバイダの実装が間に合っていない場合
現在時刻プロバイダが依存するインフラストラクチャが高価な場合
など実装を交換する理由はいくらでもある
1つめ
クラスを直接参照する場合には暗黙に実装にも依存が発生してしまう
例えば現在時刻プロバイダがタイムサーバーにアクセスしている場合クライアントの開発者はタイムサーバーへアクセスできる環境を強いられることになる
またインターフェースに存在しないメソッドを知ってしまうというリスクがある
あなたの後任者がそのメソッドを呼びだしてクラス間の結合度を高めることを防ぐことは難しい
2つめ
返しとして不適切
3つめ
現在時刻プロバイダの実装が間に合っていない場合
現在時刻プロバイダが依存するインフラストラクチャが高価な場合
など実装を交換する理由はいくらでもある
899仕様書無しさん
2018/05/06(日) 15:18:29.82 UTCの話?
900仕様書無しさん
2018/05/06(日) 15:18:37.29901仕様書無しさん
2018/05/06(日) 15:19:34.28 このように、オブジェクト指向というのは、理想的なモデルを追い求めればいいというものではなく、
開発者の都合に合わせてモデルの形が変わっていく泥臭い世界なのです
開発者の都合に合わせてモデルの形が変わっていく泥臭い世界なのです
902仕様書無しさん
2018/05/06(日) 15:20:19.84 そりゃあ、ITドカタだからなぁ
904仕様書無しさん
2018/05/06(日) 15:25:22.92905仕様書無しさん
2018/05/06(日) 15:29:02.96906仕様書無しさん
2018/05/06(日) 16:05:46.51 DIはオブジェクト指向によって不要なもの
なぜなら全てのオブジェクト指向言語に
DI用の機能が搭載されていない
なぜなら全てのオブジェクト指向言語に
DI用の機能が搭載されていない
907仕様書無しさん
2018/05/06(日) 17:32:45.11 だって言語機能だけでできるもん
全部のクラスをmain関数でnewして、依存クラスはコンストラクタに突っ込んで
すべてmain関数で構築すればよい
パッケージを使わず依存の排除をつきつめていくと結局そうなって
これDIと一緒じゃねーかと気が付いた
全部のクラスをmain関数でnewして、依存クラスはコンストラクタに突っ込んで
すべてmain関数で構築すればよい
パッケージを使わず依存の排除をつきつめていくと結局そうなって
これDIと一緒じゃねーかと気が付いた
908仕様書無しさん
2018/05/06(日) 17:33:22.74 パッケージじゃなかったDIフレームワーク使わずに
910仕様書無しさん
2018/05/06(日) 17:39:26.07 なぜに
912仕様書無しさん
2018/05/06(日) 17:47:03.57913仕様書無しさん
2018/05/06(日) 17:47:06.63 >>906
依存インスタンスの生成を消費クラスの外部で行い渡して使わせる
依存インスタンスへのアクセスはインターフェースのみを通じて行う
DIとは極論するとこれだけ
これをサポートしてないオブジェクト指向の言語を探すのは難しいだろう
DIコンテナは便利だけど必須ではない
DIコンテナはDIと名前に付いてるがDIそのもではなく単なるFactoryのバリエーションでしかない
依存インスタンスの生成を消費クラスの外部で行い渡して使わせる
依存インスタンスへのアクセスはインターフェースのみを通じて行う
DIとは極論するとこれだけ
これをサポートしてないオブジェクト指向の言語を探すのは難しいだろう
DIコンテナは便利だけど必須ではない
DIコンテナはDIと名前に付いてるがDIそのもではなく単なるFactoryのバリエーションでしかない
916仕様書無しさん
2018/05/06(日) 17:57:52.95917仕様書無しさん
2018/05/06(日) 18:00:06.69 DIっていうのもうやめようぜ。
いつもこの話すると関係ないユニットテストやらDIコンテナの話がでてくる。
これからはコンストラクタインジェクションって言おう
いつもこの話すると関係ないユニットテストやらDIコンテナの話がでてくる。
これからはコンストラクタインジェクションって言おう
919仕様書無しさん
2018/05/06(日) 18:04:18.19 >>913
> これをサポートしてないオブジェクト指向の言語を探すのは難しいだろう
カプセル化を実現する機能としてprivateというものがある。
privateを使うことで、どうやっても外部からアクセスできなくなる
これが言語のサポートという
> 依存インスタンスの生成を消費クラスの外部で行い渡して使わせる
> 依存インスタンスへのアクセスはインターフェースのみを通じて行う
これを制限する機能が搭載されている言語はない。
あくまでそういうルールにしたから守りましょうという紳士協定のみ
こういうのは言語のサポートとは言わない
> これをサポートしてないオブジェクト指向の言語を探すのは難しいだろう
カプセル化を実現する機能としてprivateというものがある。
privateを使うことで、どうやっても外部からアクセスできなくなる
これが言語のサポートという
> 依存インスタンスの生成を消費クラスの外部で行い渡して使わせる
> 依存インスタンスへのアクセスはインターフェースのみを通じて行う
これを制限する機能が搭載されている言語はない。
あくまでそういうルールにしたから守りましょうという紳士協定のみ
こういうのは言語のサポートとは言わない
921仕様書無しさん
2018/05/06(日) 18:05:26.07 >>916
> メインクラスってのは、そもそもアプリケーション(自分が作ろうとしてるもの)なわけだよ。
> それが神クラスのようになって何が問題なんだい?
カプセル化が破壊されるから。
例えば、外部のライブラリを使おうと思っても、そのライブラリが
使用するもの全てをmainで作らなければいけなくなる
> メインクラスってのは、そもそもアプリケーション(自分が作ろうとしてるもの)なわけだよ。
> それが神クラスのようになって何が問題なんだい?
カプセル化が破壊されるから。
例えば、外部のライブラリを使おうと思っても、そのライブラリが
使用するもの全てをmainで作らなければいけなくなる
922仕様書無しさん
2018/05/06(日) 18:05:57.29 何でも作れる工場なんて作らないぞw
923仕様書無しさん
2018/05/06(日) 18:07:33.55 例えば、Windowsでメッセージボックスを表示しようと考える。
その時、簡単な関数だけでYES/NOが返ってくるAPIではなく
メッセージボックスが必要とするボタンまで、main関数で作って渡さなければいけなくなる。
メッセージボックス程度ならまだいいが、より複雑な
ファイル選択ダイアログボックスの場合、
main関数でリストビューまで作らなければいけなくなる
その時、簡単な関数だけでYES/NOが返ってくるAPIではなく
メッセージボックスが必要とするボタンまで、main関数で作って渡さなければいけなくなる。
メッセージボックス程度ならまだいいが、より複雑な
ファイル選択ダイアログボックスの場合、
main関数でリストビューまで作らなければいけなくなる
928仕様書無しさん
2018/05/06(日) 18:12:47.48929仕様書無しさん
2018/05/06(日) 18:23:27.81 >>922
その通り
複数の工場を考えればよろしい
各工場はある程度関係性があるプロダクトをまとめて生産する
ある工場は別のある工場のプロダクトに依存して自分のプロダクトを生産する
工場間のプロダクトの流れを正しく決めてやればたとえなんでも生産する工場などではなくとも複雑で大きなプロダクトを生産することができるわけだ
その通り
複数の工場を考えればよろしい
各工場はある程度関係性があるプロダクトをまとめて生産する
ある工場は別のある工場のプロダクトに依存して自分のプロダクトを生産する
工場間のプロダクトの流れを正しく決めてやればたとえなんでも生産する工場などではなくとも複雑で大きなプロダクトを生産することができるわけだ
930仕様書無しさん
2018/05/06(日) 19:08:46.27 DIの目的がテストになってる時点で
オブジェクト指向はテストがし辛いってことを意味する
コンポジションがその一番の元凶
コンポジションをなくせばDIは必要なくなる
DIが言語に搭載されずDIコンテナというフレームワークが
必要になるのは、DIがオブジェクト指向にとって
ふさわしくないものであることを意味する
かと言ってその問題を解決する手段が見つかっていない
オブジェクト指向に根本的な問題があるからだ
オブジェクト指向はテストがし辛いってことを意味する
コンポジションがその一番の元凶
コンポジションをなくせばDIは必要なくなる
DIが言語に搭載されずDIコンテナというフレームワークが
必要になるのは、DIがオブジェクト指向にとって
ふさわしくないものであることを意味する
かと言ってその問題を解決する手段が見つかっていない
オブジェクト指向に根本的な問題があるからだ
931仕様書無しさん
2018/05/06(日) 19:14:18.12 オブジェクト指向かどうかは関係ない
インフラを始めとして他の何かに依存するコードはテストしにくい
それはパラダイムのせいじゃない
インフラを始めとして他の何かに依存するコードはテストしにくい
それはパラダイムのせいじゃない
932仕様書無しさん
2018/05/06(日) 20:09:45.92 依存の問題って関数しかない言語でも普通にあるよね
935仕様書無しさん
2018/05/06(日) 20:34:56.96 ヘビィクラスには成長してるね
936仕様書無しさん
2018/05/06(日) 20:35:49.30 俺はちょっとぽっちゃりぐらいが好きだぜ
937仕様書無しさん
2018/05/06(日) 20:51:27.31938522
2018/05/06(日) 21:52:47.57 >>928
これってC++でヘッダファイルをincludeするときの問題を言ってる?
としたらそれはC++言語がきちんとオブジェクト指向プログラミングに適合できてないって話であってOOP自体の問題じゃない
C++でもpimpl使って回避するのが定跡
これってC++でヘッダファイルをincludeするときの問題を言ってる?
としたらそれはC++言語がきちんとオブジェクト指向プログラミングに適合できてないって話であってOOP自体の問題じゃない
C++でもpimpl使って回避するのが定跡
940仕様書無しさん
2018/05/06(日) 22:20:10.14 ったく、コンストラクタインジェクションでカプセル化が崩壊するなら
コンストラクタでインスタンスを受取る全てのクラスがカプセル化崩壊してんじゃねぇか
なんでそんなに堂々と誤ったこと言えるのかね
その自信どこからくるのまじ。
コンストラクタでインスタンスを受取る全てのクラスがカプセル化崩壊してんじゃねぇか
なんでそんなに堂々と誤ったこと言えるのかね
その自信どこからくるのまじ。
941仕様書無しさん
2018/05/06(日) 22:24:44.23 このスレで話し合ってわかったことは
オブジェクト指向は素晴らしいけれど
混乱が多く、人類には早すぎたということだ
オブジェクト指向は素晴らしいけれど
混乱が多く、人類には早すぎたということだ
942仕様書無しさん
2018/05/06(日) 22:25:04.25 コンストラクタインジェクションの問題は
手続きの中で関連を設定しないといけないことだ
DIフレームワークを使えば静的宣言的に依存関係を定義できる
でもJavaとかC#のxml使ったDIフレームワークって
設定ミスのエラーとか実際動かすまでわからんから
宣言的で何がうれしいのかいまいちよく分かってない
手続きの中で関連を設定しないといけないことだ
DIフレームワークを使えば静的宣言的に依存関係を定義できる
でもJavaとかC#のxml使ったDIフレームワークって
設定ミスのエラーとか実際動かすまでわからんから
宣言的で何がうれしいのかいまいちよく分かってない
943仕様書無しさん
2018/05/06(日) 22:26:43.38 >>940
> ったく、コンストラクタインジェクションでカプセル化が崩壊するなら
> コンストラクタでインスタンスを受取る全てのクラスがカプセル化崩壊してんじゃねぇか
何いってんだ?
もともとコンストラクタで渡す必要がないものを
渡すように変更したから破壊だって言ってるんだよ。
仕様としてインスタンスを渡すならそれは問題ない
DIのためだけにコンストラクタを改変したんだろうが
> ったく、コンストラクタインジェクションでカプセル化が崩壊するなら
> コンストラクタでインスタンスを受取る全てのクラスがカプセル化崩壊してんじゃねぇか
何いってんだ?
もともとコンストラクタで渡す必要がないものを
渡すように変更したから破壊だって言ってるんだよ。
仕様としてインスタンスを渡すならそれは問題ない
DIのためだけにコンストラクタを改変したんだろうが
944仕様書無しさん
2018/05/06(日) 22:31:03.17 コンストラクタはメソッドじゃないから壊しても破壊じゃないやい
945仕様書無しさん
2018/05/06(日) 22:33:51.33948仕様書無しさん
2018/05/06(日) 22:39:22.98 頭の悪い人はごめんだな
949仕様書無しさん
2018/05/06(日) 22:40:18.95 え、だっていうこと急に逆転したから意味わかんなくて
950仕様書無しさん
2018/05/06(日) 22:40:25.37951仕様書無しさん
2018/05/06(日) 22:42:49.15952仕様書無しさん
2018/05/06(日) 22:46:42.70 そういえば次スレどうする?
953仕様書無しさん
2018/05/06(日) 22:54:52.32 次スレは要らんだろ
teratailかstackoverflow jpに移動しよう
teratailかstackoverflow jpに移動しよう
954仕様書無しさん
2018/05/06(日) 22:56:09.27 日本語じゃなくてソースコードで会話しろよ…
こういうことでいいのか?
最初から、コンストラクタの引数の変更なんて想定されないよな。
//ClientはBaseInterfaceを知ってるが派生クラスを知らない
class Client {
BaseInterface b_;
Client(BaseInterface b) {
b_ = b;
}
foo() {
b_.run()
}
}
//bFactoryはBaseInterfaceの派生クラスのインスタンスへの参照を返す
Client c = bFactory.CreateInstance(file , ...);
c.foo();
こういうことでいいのか?
最初から、コンストラクタの引数の変更なんて想定されないよな。
//ClientはBaseInterfaceを知ってるが派生クラスを知らない
class Client {
BaseInterface b_;
Client(BaseInterface b) {
b_ = b;
}
foo() {
b_.run()
}
}
//bFactoryはBaseInterfaceの派生クラスのインスタンスへの参照を返す
Client c = bFactory.CreateInstance(file , ...);
c.foo();
955仕様書無しさん
2018/05/06(日) 23:28:24.35 何がしたいのかわからないな
もう少し具体的な例にしないか?
もう少し具体的な例にしないか?
957仕様書無しさん
2018/05/06(日) 23:58:23.22959仕様書無しさん
2018/05/07(月) 09:46:58.06 非OOPではどう書くか
それをOOPではどう書くか
その結果、何が良くなるのか
そこらへんが良くわかんないんだよねー
よく分からないまま、客先のコーディング規約から外れないようにしつつ、既存ソースコピペしてるよ
それをOOPではどう書くか
その結果、何が良くなるのか
そこらへんが良くわかんないんだよねー
よく分からないまま、客先のコーディング規約から外れないようにしつつ、既存ソースコピペしてるよ
960仕様書無しさん
2018/05/07(月) 09:56:48.10 オブジェクトをコレクションで使うと良さがわかるよ
961仕様書無しさん
2018/05/07(月) 09:57:44.62 結論は犬猫エンジン禁止で良いね
962仕様書無しさん
2018/05/07(月) 10:08:09.44 >>942
>C#のxml使ったDIフレームワークって設定ミスのエラーとか実際動かすまでわからん
StructureMapですらそんなのなくしたのに?ASP.NET CoreのデフォルトのDIでもそんなことしないし、いつの時代の話だよ…
>C#のxml使ったDIフレームワークって設定ミスのエラーとか実際動かすまでわからん
StructureMapですらそんなのなくしたのに?ASP.NET CoreのデフォルトのDIでもそんなことしないし、いつの時代の話だよ…
963仕様書無しさん
2018/05/07(月) 11:32:03.05964仕様書無しさん
2018/05/07(月) 11:34:11.07 DIフレームワークはなくして
言語機能に取り入れるべき
どうせテストにためにしか利用しないんだから
そのためにアプリケーションの設計まで変更するのはおかしい
言語機能に取り入れるべき
どうせテストにためにしか利用しないんだから
そのためにアプリケーションの設計まで変更するのはおかしい
967仕様書無しさん
2018/05/07(月) 12:53:58.74 次スレでだいたい言いたいこと書けたから良かったわ。
次の住人にまで混乱が及んだら話が進まない
次の住人にまで混乱が及んだら話が進まない
971仕様書無しさん
2018/05/07(月) 15:22:27.14 じゃあ具体的に例を出せばいいじゃない
972仕様書無しさん
2018/05/07(月) 15:24:50.49 テストのために
アプリケーション設計は変えるもんよ
アプリケーション設計は変えるもんよ
974仕様書無しさん
2018/05/07(月) 18:06:53.60 テストのためにっていうか
もともとはSolidな設計を実践して美しいシステムを作るためのベストプラクティスだからなDIって
DIでSolidを実現した結果の付加価値としてテストも容易になるってだけ
もともとはSolidな設計を実践して美しいシステムを作るためのベストプラクティスだからなDIって
DIでSolidを実現した結果の付加価値としてテストも容易になるってだけ
975仕様書無しさん
2018/05/07(月) 18:12:02.47 インスタンスを差し替える予定もないのにDIするアホ
977仕様書無しさん
2018/05/07(月) 18:29:03.84979仕様書無しさん
2018/05/07(月) 18:47:54.68 泣きながら人のバグ治すよりも
切り分けできる設計にしといた方が
後々楽よ。
切り分けできる設計にしといた方が
後々楽よ。
980仕様書無しさん
2018/05/07(月) 19:41:17.40 ジェンガみたいなプログラムはゴメンだね
ダルマ落としぐらいシンプルにしてくれないとやってらんないよ
ダルマ落としぐらいシンプルにしてくれないとやってらんないよ
981仕様書無しさん
2018/05/07(月) 19:46:20.13 >>975
> DIでSolidを実現した結果の付加価値としてテストも容易になるってだけ
それはおかしいSolidを実現すれば、DIコンテナなんてものは不要になるはず
言語仕様の範囲では実現できないから、DIなんてのが必要になってる
> DIでSolidを実現した結果の付加価値としてテストも容易になるってだけ
それはおかしいSolidを実現すれば、DIコンテナなんてものは不要になるはず
言語仕様の範囲では実現できないから、DIなんてのが必要になってる
982仕様書無しさん
2018/05/07(月) 19:48:27.95984仕様書無しさん
2018/05/07(月) 20:11:04.49 しらばっくれるても意味ないよ
既存のライブラリ、ソースコード見れるのも多いだろ
内部でクラスをたくさん使っているはずだが、
それをコンストラクタで入れ替えられるようになっているものはまず無い
既存のライブラリ、ソースコード見れるのも多いだろ
内部でクラスをたくさん使っているはずだが、
それをコンストラクタで入れ替えられるようになっているものはまず無い
995仕様書無しさん
2018/05/07(月) 21:56:49.18 newしたら疎結合性が失われるものは大体メインクラスかファクトリでDIでしょ
999仕様書無しさん
2018/05/07(月) 22:45:28.69 梅
1000仕様書無しさん
2018/05/07(月) 22:45:51.72 梅
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 44日 8時間 6分 27秒
新しいスレッドを立ててください。
life time: 44日 8時間 6分 27秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- サウナ夫婦死亡 非常ボタンの通報装置の電源入っておらず オーナー「今まで電源入れたことない」★2 [夜のけいちゃん★]
- 日中関係改善は「下手をすると10年かかる」 トランプを全面信頼できない高市官邸の苦悩★5 [ぐれ★]
- 【高市首相】「日本人が日本各地を旅行するのも大切」 中国からの渡航自粛巡り [ぐれ★]
- 【野球】WBC、録画放送含め地上波中継なし (ネットフリックス) ★3 [阿弥陀ヶ峰★]
- ファミマ「遊べるコンビニ」へ ゲーム機を5000店舗に設置方針 IP強化 [七波羅探題★]
- 【芸能】フィフィ「もういいから、パンダ外交とか、中国にヘコヘコする日本… 高市政権になってもこれですか」 [冬月記者★]
- 🏡要る?
- 【悲報】愛子「おあ゛っぁ!」鴨を握りつぶす [329329848]
- 倉田真由美「国会見てると高市政権を倒すための質問ばかり。もっと国のための質問をしてください」 [834922174]
- これから寝る俺を見守っててくれ
- 煽り抜きで『進撃の巨人』って日本人の漫画史上でもトップレベルの傑作じゃねぇか? [339035499]
- 新入社員だけどクビになるかも
