カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、オブジェクトの実際の型を隠蔽したりすることをいう。
かつて偏差値の低い学校向けの情報処理系教科書において「カプセル化は大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心とした「インターネットを作った人たち」は「階層化の有害性」として「カプセル化は絶対にやめろ」としている。
https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)
探検
カプセル化の有害性、オブジェクト指向は愚かな考え
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2020/06/18(木) 23:47:36.69ID:l/2SQUll906デフォルトの名無しさん
2020/07/05(日) 11:45:23.06ID:MQ9nuMmc >>905
アメリカの大手一流ってどこなんよ?
アメリカの大手一流ってどこなんよ?
907デフォルトの名無しさん
2020/07/05(日) 11:45:48.03ID:MQ9nuMmc その会社がやってるからすごいんでしょ、はよ教えてやー
908デフォルトの名無しさん
2020/07/05(日) 11:47:16.10ID:MQ9nuMmc もう何でもええから言うて、そしたら僕がすごーいって言うから、もうそれでええやんか
909デフォルトの名無しさん
2020/07/05(日) 11:49:23.59ID:9F15TCk0 また別IDが下痢便とか発狂し始めた。
お前はほんとにウンコとかそのレベルのことが好きだな。
お前はほんとにウンコとかそのレベルのことが好きだな。
910デフォルトの名無しさん
2020/07/05(日) 11:51:02.27ID:9F15TCk0911デフォルトの名無しさん
2020/07/05(日) 11:51:58.59ID:MQ9nuMmc >>910
アメリカの大手一流ってどこなんよ?
アメリカの大手一流ってどこなんよ?
912デフォルトの名無しさん
2020/07/05(日) 11:52:54.88ID:MQ9nuMmc たぶんアップルは単体テストやってない、SSLでアホなバグだしてたから、あの会社適当だわ、しらんけど
913デフォルトの名無しさん
2020/07/05(日) 11:53:26.19ID:9F15TCk0 >>911
君が自分の名刺でもあげたら考えとくわー
君が自分の名刺でもあげたら考えとくわー
914デフォルトの名無しさん
2020/07/05(日) 11:55:12.71ID:MQ9nuMmc915デフォルトの名無しさん
2020/07/05(日) 11:55:58.39ID:M+BkbwUs >>902
> そもそもpublicを経由するのが網羅してないから、経由せずにprivate単位で
> コード書き換えてテストやるべきという主張自体がOO的にはおかしいわけです。
誰がそんなこと言ってるの?
少なく遠も俺は
1. privateはpublic経由でテストすれば十分
2. もしpublic経由でテストできないほど複雑なら、そもそも設計がおかしい
3. 設計の問題を修正して、責務を分割すれば、自然にpublicになるはず
と言ってる。
テストするためにpublicにするのではなく
問題がある設計を直せばpublicになる。と言っている。
> そもそもpublicを経由するのが網羅してないから、経由せずにprivate単位で
> コード書き換えてテストやるべきという主張自体がOO的にはおかしいわけです。
誰がそんなこと言ってるの?
少なく遠も俺は
1. privateはpublic経由でテストすれば十分
2. もしpublic経由でテストできないほど複雑なら、そもそも設計がおかしい
3. 設計の問題を修正して、責務を分割すれば、自然にpublicになるはず
と言ってる。
テストするためにpublicにするのではなく
問題がある設計を直せばpublicになる。と言っている。
916デフォルトの名無しさん
2020/07/05(日) 11:55:59.42ID:9F15TCk0917デフォルトの名無しさん
2020/07/05(日) 11:58:34.47ID:9F15TCk0 >>915
いや だ か ら この人。
848デフォルトの名無しさん2020/07/05(日) 08:16:36.05ID:IUsMolpf
publicを通した範囲でしかできないprivateのテストは網羅されてなく
メソッドの単体テストとして十分なテストは行われていません
あなたの意見は採用できません
できれば実際のプロジェクトを5つぐらい経験されてはいかがでしょうか?
いや だ か ら この人。
848デフォルトの名無しさん2020/07/05(日) 08:16:36.05ID:IUsMolpf
publicを通した範囲でしかできないprivateのテストは網羅されてなく
メソッドの単体テストとして十分なテストは行われていません
あなたの意見は採用できません
できれば実際のプロジェクトを5つぐらい経験されてはいかがでしょうか?
918デフォルトの名無しさん
2020/07/05(日) 11:59:21.06ID:MQ9nuMmc アップルのSSLのバグはこれね
Apple史上最悪のセキュリティバグか、iOSとOS XのSSL接続に危険すぎる脆弱性が発覚──原因はタイプミス?
https://appllio.com/20140223-4899-apple-ios-bug-ssl-goto-fail
Apple史上最悪のセキュリティバグか、iOSとOS XのSSL接続に危険すぎる脆弱性が発覚──原因はタイプミス?
https://appllio.com/20140223-4899-apple-ios-bug-ssl-goto-fail
919デフォルトの名無しさん
2020/07/05(日) 12:06:18.88ID:wqV8YbJ4 IUsMolpfに文句言えばいいのに。
920デフォルトの名無しさん
2020/07/05(日) 12:07:47.85ID:kFjTOHVy >>902
ああつまり、重要度は関数仕様>ブラックボックステスト>ホワイトボックステストだから
テストのために仕様変更はすべきでないという主張か。
それはわからんでもない気はするけど、そういうウォーターフォールが絶対というわけでもないしな。
その是非はさておき、そこが論点なら例えばリフレクションのような形でテストできたり、あるいは
テスト仕様を書く本人が関数仕様も決定することができる条件なら全然問題ないわけだ。
ああつまり、重要度は関数仕様>ブラックボックステスト>ホワイトボックステストだから
テストのために仕様変更はすべきでないという主張か。
それはわからんでもない気はするけど、そういうウォーターフォールが絶対というわけでもないしな。
その是非はさておき、そこが論点なら例えばリフレクションのような形でテストできたり、あるいは
テスト仕様を書く本人が関数仕様も決定することができる条件なら全然問題ないわけだ。
921デフォルトの名無しさん
2020/07/05(日) 12:07:48.24ID:9F15TCk0922デフォルトの名無しさん
2020/07/05(日) 12:08:47.51ID:MQ9nuMmc >>921
せやろw
せやろw
923デフォルトの名無しさん
2020/07/05(日) 12:13:26.38ID:9F15TCk0924デフォルトの名無しさん
2020/07/05(日) 12:16:58.82ID:kFjTOHVy >なんにしてもprivateを(例外はあるにせよ)全部公式な形でテストしろというのは
>OOの手法のプロジェクトでは「普通は」やらんというだけなのになんでこんな揉めるのか。
全部やれなんて主張している人がいないから。
>OOの手法のプロジェクトでは「普通は」やらんというだけなのになんでこんな揉めるのか。
全部やれなんて主張している人がいないから。
925デフォルトの名無しさん
2020/07/05(日) 12:19:09.22ID:9F15TCk0 >>924
だからいるだろうが。本人なの?
848デフォルトの名無しさん2020/07/05(日) 08:16:36.05ID:IUsMolpf
publicを通した範囲でしかできないprivateのテストは網羅されてなく
メソッドの単体テストとして十分なテストは行われていません
あなたの意見は採用できません
できれば実際のプロジェクトを5つぐらい経験されてはいかがでしょうか?
だからいるだろうが。本人なの?
848デフォルトの名無しさん2020/07/05(日) 08:16:36.05ID:IUsMolpf
publicを通した範囲でしかできないprivateのテストは網羅されてなく
メソッドの単体テストとして十分なテストは行われていません
あなたの意見は採用できません
できれば実際のプロジェクトを5つぐらい経験されてはいかがでしょうか?
926デフォルトの名無しさん
2020/07/05(日) 12:20:23.64ID:MQ9nuMmc927デフォルトの名無しさん
2020/07/05(日) 12:21:30.51ID:MQ9nuMmc privateメソッドが正しいことは確認する、その上でpublicのメソッドが正しいかテストするって感じ
928デフォルトの名無しさん
2020/07/05(日) 12:30:30.98ID:kFjTOHVy >>925
これが「privateのテストを全部やれ」に読めてしまうのか。そこが原因だな。
これが「privateのテストを全部やれ」に読めてしまうのか。そこが原因だな。
929デフォルトの名無しさん
2020/07/05(日) 12:32:35.17ID:M+BkbwUs >>923
> ウォーターフォールは関係ないし、重要度をつけてるわけでもないけれども、
> 普通はprivateはソースコード変えてまでテストするものではないというだけの単純な話。
テスト中に設計の問題が発覚しても
ソースコード書き換えないの?
ソースコード変えてまでテストするものではないというけど
なんでソースコードを作成&自分が書いたそのコードをテストしてるときに
自分が作成してるソースコードを変えたらだめなの?
> ウォーターフォールは関係ないし、重要度をつけてるわけでもないけれども、
> 普通はprivateはソースコード変えてまでテストするものではないというだけの単純な話。
テスト中に設計の問題が発覚しても
ソースコード書き換えないの?
ソースコード変えてまでテストするものではないというけど
なんでソースコードを作成&自分が書いたそのコードをテストしてるときに
自分が作成してるソースコードを変えたらだめなの?
930デフォルトの名無しさん
2020/07/05(日) 12:36:24.73ID:M+BkbwUs 普通の開発だったら
0. なにかの修正を行う必要が発生する
1. その修正のためにソースコードを修正する
2. 修正したコードが正しいかテストする
3. 1〜2を繰り返し修正したコードに問題がなければ開発完了
4. 統合テストとかより大きなテストを行う
でしょ?
public・privateメソッドをテストしたいっていうのは
この1〜2のフェーズで発生することなのに、
なんでテストがやりにくいなと思ったときに
ソースコードを修正したらだめなの?
0. なにかの修正を行う必要が発生する
1. その修正のためにソースコードを修正する
2. 修正したコードが正しいかテストする
3. 1〜2を繰り返し修正したコードに問題がなければ開発完了
4. 統合テストとかより大きなテストを行う
でしょ?
public・privateメソッドをテストしたいっていうのは
この1〜2のフェーズで発生することなのに、
なんでテストがやりにくいなと思ったときに
ソースコードを修正したらだめなの?
931デフォルトの名無しさん
2020/07/05(日) 12:38:58.81ID:wqV8YbJ4 >>926
スマホでも見やすくなったな。
あー、なるほど。
でも、サンプルみたら少し混乱してきた。
自分はクラスの単体テストをイメージしてたけど、まさか、Mainクラスの中に定義されたprivateメソッドの単体テスト(?)の話をしていたとか?
もう単体テストの意味が少し崩壊してきたが...
スマホでも見やすくなったな。
あー、なるほど。
でも、サンプルみたら少し混乱してきた。
自分はクラスの単体テストをイメージしてたけど、まさか、Mainクラスの中に定義されたprivateメソッドの単体テスト(?)の話をしていたとか?
もう単体テストの意味が少し崩壊してきたが...
932デフォルトの名無しさん
2020/07/05(日) 12:46:16.73ID:BTTSshKd どういう流れなのか追うのもめんどいなw
933デフォルトの名無しさん
2020/07/05(日) 12:52:51.86ID:9F15TCk0 >>928
そもそも300くらいからそういう話だから。
privateはpublicからアクセスして全部網羅できるから問題ないなんて
誰も否定してないしそういうことならもともと荒れてない。
>>929
あのさ、例えばバグが発生したらコード書き換えるのは当たり前だよね?
そんな話では当然ないよね?
privateを直接テストするためには外部から呼べないのだから、呼ぶためには
クラス内に書くしかないわけだよ。で、ソースに書き込んでクラス内に書いて
テストしたあとまたそのコードを取り除いてとかするの?それをドキュメント化
する?
普通はコード書いてる最中にテストコードを入れて確認するのは公式なテストの
メソッドでは無いし、それをドキュメント化したりするのは求められないと
思うが。
>>926
ワロタw
けどそうじゃ無い。privateで直接アクセスした時のみnullがでるということ。
intじゃ無いのは例のためにわざとそうなっている。あとchinTestが呼ばれてないし、
OptionalにisEmpty無いのでは。
そもそも300くらいからそういう話だから。
privateはpublicからアクセスして全部網羅できるから問題ないなんて
誰も否定してないしそういうことならもともと荒れてない。
>>929
あのさ、例えばバグが発生したらコード書き換えるのは当たり前だよね?
そんな話では当然ないよね?
privateを直接テストするためには外部から呼べないのだから、呼ぶためには
クラス内に書くしかないわけだよ。で、ソースに書き込んでクラス内に書いて
テストしたあとまたそのコードを取り除いてとかするの?それをドキュメント化
する?
普通はコード書いてる最中にテストコードを入れて確認するのは公式なテストの
メソッドでは無いし、それをドキュメント化したりするのは求められないと
思うが。
>>926
ワロタw
けどそうじゃ無い。privateで直接アクセスした時のみnullがでるということ。
intじゃ無いのは例のためにわざとそうなっている。あとchinTestが呼ばれてないし、
OptionalにisEmpty無いのでは。
934デフォルトの名無しさん
2020/07/05(日) 12:54:31.17ID:9F15TCk0 nullがでる->ヌルポがでる
935デフォルトの名無しさん
2020/07/05(日) 12:54:57.72ID:M+BkbwUs >>933
> privateを直接テストするためには外部から呼べないのだから、呼ぶためには
> クラス内に書くしかないわけだよ。で、ソースに書き込んでクラス内に書いて
> テストしたあとまたそのコードを取り除いてとかするの?それをドキュメント化
> する?
誰がそんな事するって言ってんの?
お前が想像が間違ってる
> privateを直接テストするためには外部から呼べないのだから、呼ぶためには
> クラス内に書くしかないわけだよ。で、ソースに書き込んでクラス内に書いて
> テストしたあとまたそのコードを取り除いてとかするの?それをドキュメント化
> する?
誰がそんな事するって言ってんの?
お前が想像が間違ってる
936デフォルトの名無しさん
2020/07/05(日) 12:56:01.25ID:MQ9nuMmc >>933
えっとごめんそのnullの問題は設計が下手なだけだと思ってて、設計を見直すべきかと
privateのテストをどうしますかの例として出したので問題ないっしょ
君はこのプログラムをどうやってテストするん?
えっとごめんそのnullの問題は設計が下手なだけだと思ってて、設計を見直すべきかと
privateのテストをどうしますかの例として出したので問題ないっしょ
君はこのプログラムをどうやってテストするん?
937デフォルトの名無しさん
2020/07/05(日) 12:56:34.25ID:3WDjCjSx よくもまあ粉薬をオブラートで包むような話でこれだけのレスで盛り上がれるなー
938デフォルトの名無しさん
2020/07/05(日) 12:57:28.17ID:M+BkbwUs いやーびっくりだw
設計がおかしいから設計を修正するって話をしてるのに
設計を修正した後に修正前に戻すなんでやらないだろ!って言われちゃった(笑)
だーれも修正前に戻すなんて言ってないの
おかしい設計を修正して「開発完了」なの
設計がおかしいから設計を修正するって話をしてるのに
設計を修正した後に修正前に戻すなんでやらないだろ!って言われちゃった(笑)
だーれも修正前に戻すなんて言ってないの
おかしい設計を修正して「開発完了」なの
939デフォルトの名無しさん
2020/07/05(日) 12:57:46.31ID:JiRnWiGC たぶん、スレタイがスレタイだから、手続き型でプログラムを書く人のイメージする単体テストとオブジェクト指向プログラマーのイメージする単体テストで齟齬が生じているのでは?
そりゃ、サンプルみたいに関数が定義されていたらprivateだろうと関数はテストするべきって発想になるのは不思議じゃないし、オブジェクト指向に基づき設計されたクラスを単体テストする話であれば、privateをテストって、どういう意味なんだろって不思議がるだろうよ。
そして、たぶん、サンプルコードに対して真っ先に突っ込むべき点はOOPでも何でもないコードという点だと思うのだが、そこはいいのかな?
そりゃ、サンプルみたいに関数が定義されていたらprivateだろうと関数はテストするべきって発想になるのは不思議じゃないし、オブジェクト指向に基づき設計されたクラスを単体テストする話であれば、privateをテストって、どういう意味なんだろって不思議がるだろうよ。
そして、たぶん、サンプルコードに対して真っ先に突っ込むべき点はOOPでも何でもないコードという点だと思うのだが、そこはいいのかな?
940デフォルトの名無しさん
2020/07/05(日) 12:57:47.49ID:MQ9nuMmc OptionalにisEmptyが無いというのは何言ってるのかわからない
本当になかったらコンパイルに失敗するよ
本当になかったらコンパイルに失敗するよ
941デフォルトの名無しさん
2020/07/05(日) 13:00:08.78ID:M+BkbwUs942デフォルトの名無しさん
2020/07/05(日) 13:00:23.50ID:MQ9nuMmc943デフォルトの名無しさん
2020/07/05(日) 13:00:34.24ID:9F15TCk0944デフォルトの名無しさん
2020/07/05(日) 13:03:47.50ID:MQ9nuMmc >>943
ヌルポになるような設計はおかしいのがそれはコーディング力の稚拙さゆえ。
だから、いまはそのヌルポの問題は置いておこう。
さて、君はこのプログラムをどうテストするのか教えて欲しいっていうのが僕の要望だよ。
ヌルポになるような設計はおかしいのがそれはコーディング力の稚拙さゆえ。
だから、いまはそのヌルポの問題は置いておこう。
さて、君はこのプログラムをどうテストするのか教えて欲しいっていうのが僕の要望だよ。
945デフォルトの名無しさん
2020/07/05(日) 13:06:51.97ID:9F15TCk0 >>944
いやだから そ う じ ゃ な く て
privateでだけヌルポが出るように書いてるの。privateとpublicのテストの話だから。
出さないだけならnullチェック入れれば良いだけの話だが、そういうことじゃ無くて
わざと出るようになってるの。
そのプログラムならstaticなのだからそのまま呼べば良いし、
chinTestも呼ばれてないけどpublicなのだからテストしたければそのまま
呼べば良い話。
いやだから そ う じ ゃ な く て
privateでだけヌルポが出るように書いてるの。privateとpublicのテストの話だから。
出さないだけならnullチェック入れれば良いだけの話だが、そういうことじゃ無くて
わざと出るようになってるの。
そのプログラムならstaticなのだからそのまま呼べば良いし、
chinTestも呼ばれてないけどpublicなのだからテストしたければそのまま
呼べば良い話。
946デフォルトの名無しさん
2020/07/05(日) 13:10:29.02ID:JiRnWiGC >>942
スマホだからインデントとか崩れは許してほしいが
class USBMemory : Storage{
private:
色々定義
public:
USBMemory(ポート設定)
void open(string file)
string read()
void write(テキスト)
void close()
}
文法適当だが勘弁して
組み込みおじさんにも分かりやすいように、
組み込みを例にするが、
OOPってこんな感じのコードでしょ。
で、ユーザーは
USBMemory usb;
usb.open(ファイル指定)
text = usb.read()
usb.close()
こんな風に内部実装を知らなくても呼べる。
スマホだからインデントとか崩れは許してほしいが
class USBMemory : Storage{
private:
色々定義
public:
USBMemory(ポート設定)
void open(string file)
string read()
void write(テキスト)
void close()
}
文法適当だが勘弁して
組み込みおじさんにも分かりやすいように、
組み込みを例にするが、
OOPってこんな感じのコードでしょ。
で、ユーザーは
USBMemory usb;
usb.open(ファイル指定)
text = usb.read()
usb.close()
こんな風に内部実装を知らなくても呼べる。
947デフォルトの名無しさん
2020/07/05(日) 13:11:36.99ID:MQ9nuMmc >>945
わざと出るように入れたのが現実の実装と乖離してるので、わざと入れる意味が無いので
気にする必要ないですよってこと
君はpublic経由でprivateをテストするんだって立場ですよね
君はどうテストを書きますかってことを教えて欲しいです
君の元のコードでもいいですよ、僕が変更したコードでも良いですよ
君はどうprivateをテストしますか?
わざと出るように入れたのが現実の実装と乖離してるので、わざと入れる意味が無いので
気にする必要ないですよってこと
君はpublic経由でprivateをテストするんだって立場ですよね
君はどうテストを書きますかってことを教えて欲しいです
君の元のコードでもいいですよ、僕が変更したコードでも良いですよ
君はどうprivateをテストしますか?
948デフォルトの名無しさん
2020/07/05(日) 13:12:18.35ID:JiRnWiGC 残念ながら、クラスを使えばOOPという認識は間違い。
949デフォルトの名無しさん
2020/07/05(日) 13:13:15.86ID:MQ9nuMmc >>948
僕は君の認識が間違いだと思ってる、君の方が残念
僕は君の認識が間違いだと思ってる、君の方が残念
950デフォルトの名無しさん
2020/07/05(日) 13:13:55.43ID:MQ9nuMmc クラスの存在こそがOOPの本質
951デフォルトの名無しさん
2020/07/05(日) 13:13:59.63ID:JiRnWiGC え、そこに反論されるの?
何このスレ。
何このスレ。
952デフォルトの名無しさん
2020/07/05(日) 13:14:57.78ID:JiRnWiGC JavaScriptとかpythonとか、元々、クラスはサポートしていないのに?
プロトタイプベースはオブジェクト指向じゃないとでも?
プロトタイプベースはオブジェクト指向じゃないとでも?
953デフォルトの名無しさん
2020/07/05(日) 13:17:49.53ID:MQ9nuMmc >>951
えじゃねえよ、なめんなよ
えじゃねえよ、なめんなよ
954デフォルトの名無しさん
2020/07/05(日) 13:18:05.20ID:9F15TCk0 >>947
意味がないどころか、そこにしか意味がないんだよ。
それ「だけ」を見せるためのコードなんだから。staticとか
なら話の流れとなんにも関係がないのでそれこそ意味がない。
でもあえていうなら、そもそもまず連打が好きじゃ無い。自分ならループにするけど、
それだけでもない。
まず壊すようにテストすんの。null入れたり、変なオブジェクト入れたり。
で、privateをテストするんじゃなくて、要件通り動くかどうか。nullからint maxまで
回して、要件通りの結果が全てでくるか。変なオブジェクト入れたらどうか。
そういう感じ。
でも最初に書いたように、publicとprivateの話なんだから、そこで
エラーが出るか出ないかがないとこのスレ的にはなんの意味もない。
意味がないどころか、そこにしか意味がないんだよ。
それ「だけ」を見せるためのコードなんだから。staticとか
なら話の流れとなんにも関係がないのでそれこそ意味がない。
でもあえていうなら、そもそもまず連打が好きじゃ無い。自分ならループにするけど、
それだけでもない。
まず壊すようにテストすんの。null入れたり、変なオブジェクト入れたり。
で、privateをテストするんじゃなくて、要件通り動くかどうか。nullからint maxまで
回して、要件通りの結果が全てでくるか。変なオブジェクト入れたらどうか。
そういう感じ。
でも最初に書いたように、publicとprivateの話なんだから、そこで
エラーが出るか出ないかがないとこのスレ的にはなんの意味もない。
955デフォルトの名無しさん
2020/07/05(日) 13:18:37.20ID:MQ9nuMmc956デフォルトの名無しさん
2020/07/05(日) 13:19:41.30ID:9F15TCk0 クラスの存在はOOPの大事な部分だけど、OOPの言語を使ってもほとんどOOPでは
無いというのはよくある話。巨大クラス一個とかだと頭を抱える。
無いというのはよくある話。巨大クラス一個とかだと頭を抱える。
957デフォルトの名無しさん
2020/07/05(日) 13:22:07.34ID:MQ9nuMmc >>954
現実にありえない実装見せて、ほらね、と言われても僕は戸惑うばかり
そんな現実にありえないことを想定するからまずいんじゃないですかね
現実にそういうコード書いてるんじゃないかと僕はちょっと君のコーディング力を
疑わしく思ってきたのだけれども
public経由で、標準出力に出力するようなprivateコードを一生懸命テストしますか?
がんばり屋さんだなとは思うけど、効率悪くないですかね
現実にありえない実装見せて、ほらね、と言われても僕は戸惑うばかり
そんな現実にありえないことを想定するからまずいんじゃないですかね
現実にそういうコード書いてるんじゃないかと僕はちょっと君のコーディング力を
疑わしく思ってきたのだけれども
public経由で、標準出力に出力するようなprivateコードを一生懸命テストしますか?
がんばり屋さんだなとは思うけど、効率悪くないですかね
958デフォルトの名無しさん
2020/07/05(日) 13:22:29.69ID:MQ9nuMmc >>956
そんな極端な話ちゃうやろボケ
そんな極端な話ちゃうやろボケ
959デフォルトの名無しさん
2020/07/05(日) 13:24:13.83ID:JiRnWiGC そりゃ、クラスはオブジェクト指向を実現する上で便利だからね。大切な存在さ。でも、クラスなんて無くてもオブジェクト指向でコードは書けるし、逆に、クラスが合っても手続き型の記述をしたら、そりゃ、オブジェクト指向じゃねーわ。
つーか、クラスを使ったらオブジェクト指向ってマジで言ってる?
それってつまり、このスレで時々名前の出るstaticおじさんの書いたコードもオブジェクト指向だと言い張るつもり?
つーか、クラスを使ったらオブジェクト指向ってマジで言ってる?
それってつまり、このスレで時々名前の出るstaticおじさんの書いたコードもオブジェクト指向だと言い張るつもり?
960デフォルトの名無しさん
2020/07/05(日) 13:25:43.22ID:9F15TCk0 >>957
えーー、違うそうじゃ無い。多分君よくわかってない。
例なわけで実際にありえないとかありえる訳が無い。そんな話じゃ無いし
根本的な部分がわかってない。
publicでは問題がなく、private単体だと問題がでるコードなわけで。この意味はわかる?
えーー、違うそうじゃ無い。多分君よくわかってない。
例なわけで実際にありえないとかありえる訳が無い。そんな話じゃ無いし
根本的な部分がわかってない。
publicでは問題がなく、private単体だと問題がでるコードなわけで。この意味はわかる?
961デフォルトの名無しさん
2020/07/05(日) 13:29:16.63ID:MQ9nuMmc >>959
staticおじさんの元の話知ってる? 僕はリアルタイムであれを読んでたからよく知ってるんだけれども
staticおじさんは必要なところではオブジェクト作るよ、でもASP.NETのForm Applicationのフレームワークには
もともとリッチなオブジェクトが用意されてるから実務ではそれを組み合わせるだけで事足りることが多いよ
だからstaticメインで組み上げてオーケーさって話だったよ
オブジェクト指向信者がアホな前提置いて話を発散させただけでstaticおじさんが言ってることはわりあいまともだった
こういう議論の場で神クラスを引き合いに出して批判するという極端なことやって意味があるのかなと僕は疑問ですね
staticおじさんの元の話知ってる? 僕はリアルタイムであれを読んでたからよく知ってるんだけれども
staticおじさんは必要なところではオブジェクト作るよ、でもASP.NETのForm Applicationのフレームワークには
もともとリッチなオブジェクトが用意されてるから実務ではそれを組み合わせるだけで事足りることが多いよ
だからstaticメインで組み上げてオーケーさって話だったよ
オブジェクト指向信者がアホな前提置いて話を発散させただけでstaticおじさんが言ってることはわりあいまともだった
こういう議論の場で神クラスを引き合いに出して批判するという極端なことやって意味があるのかなと僕は疑問ですね
962デフォルトの名無しさん
2020/07/05(日) 13:30:55.04ID:JiRnWiGC いや、そもそもstaticおじさんのコードはオブジェクト指向でも何でもねーよ!
話反らすな。
話反らすな。
963デフォルトの名無しさん
2020/07/05(日) 13:32:41.77ID:MQ9nuMmc >>962
staticおじさんの書いたコードもオブジェクト指向だと言い張るつもり?
と君が聞いたからstaticおじさんに対する僕の所見を述べたつもり
ASP.NETのオブジェクトを使ってるならオブジェクト指向でしょ
オブジェクト指向が為せる技だと思うよ
staticおじさんの書いたコードもオブジェクト指向だと言い張るつもり?
と君が聞いたからstaticおじさんに対する僕の所見を述べたつもり
ASP.NETのオブジェクトを使ってるならオブジェクト指向でしょ
オブジェクト指向が為せる技だと思うよ
964デフォルトの名無しさん
2020/07/05(日) 13:33:02.71ID:MQ9nuMmc オブジェクト指向便利だよね
965デフォルトの名無しさん
2020/07/05(日) 13:33:43.81ID:9F15TCk0 コードあげてくれるのは偉いと思うので気がひけるのだが、上のコードは
privateとpublicの違いを表すための部分がまるですっぽ抜けてるし、そもそも
staticだし結構それ自体staticおじさん感がある。すまんw
privateとpublicの違いを表すための部分がまるですっぽ抜けてるし、そもそも
staticだし結構それ自体staticおじさん感がある。すまんw
966デフォルトの名無しさん
2020/07/05(日) 13:33:52.51ID:JiRnWiGC >>963
ちげーよ。ASPがオブジェクト指向であって、staticおじさんのコードはオブジェクト指向でも何でもねーよ。
ちげーよ。ASPがオブジェクト指向であって、staticおじさんのコードはオブジェクト指向でも何でもねーよ。
967デフォルトの名無しさん
2020/07/05(日) 13:37:13.08ID:MQ9nuMmc >>966
でもASP.NETのフレームワークがオブジェクト用意してなかったらstaticおじさんはコード書けなかったと思うし
staticおじさんのコードはオブジェクト指向を有効的に活用した非常に優れたコードだと思いますよ
必要もないのにオブジェクト作るのはアホですわ
でもASP.NETのフレームワークがオブジェクト用意してなかったらstaticおじさんはコード書けなかったと思うし
staticおじさんのコードはオブジェクト指向を有効的に活用した非常に優れたコードだと思いますよ
必要もないのにオブジェクト作るのはアホですわ
968デフォルトの名無しさん
2020/07/05(日) 13:38:05.15ID:MQ9nuMmc staticおじさんは必要な場面ではオブジェクト作るっていってるからねー
僕はstaticおじさんに詳しいんだ
僕はstaticおじさんに詳しいんだ
969デフォルトの名無しさん
2020/07/05(日) 13:38:11.20ID:9F15TCk0 神のGTO感があるw
970デフォルトの名無しさん
2020/07/05(日) 13:40:17.58ID:MQ9nuMmc 物事の本質を見誤ると道を踏み外すよ
状態に依存してないのにインスタンスメソッドにしたりとか
staticメソッドを定義したらstaticおじさんと言ったりとか
そういうバカのできあがりですよ
状態に依存してないのにインスタンスメソッドにしたりとか
staticメソッドを定義したらstaticおじさんと言ったりとか
そういうバカのできあがりですよ
971デフォルトの名無しさん
2020/07/05(日) 13:40:37.05ID:JiRnWiGC972デフォルトの名無しさん
2020/07/05(日) 13:42:50.97ID:MQ9nuMmc >>971
何が気に入らなくて僕に絡んでるのかわからないですが
クラスがオブジェクト指向の本質であることには変わりないですよ
クラスとはデータと処理をセットにして持つことができるものです
クラスを定義することこそがオブジェクト指向の本質です
何が気に入らなくて僕に絡んでるのかわからないですが
クラスがオブジェクト指向の本質であることには変わりないですよ
クラスとはデータと処理をセットにして持つことができるものです
クラスを定義することこそがオブジェクト指向の本質です
973デフォルトの名無しさん
2020/07/05(日) 13:44:43.62ID:MQ9nuMmc 責務ごとにオブジェクトをわけましょうなんていうのは
オブジェクト指向でプログラミングすることを前提にした設計論でしか無いです
クラスの存在こそがオブジェクト指向の本質です
オブジェクト指向でプログラミングすることを前提にした設計論でしか無いです
クラスの存在こそがオブジェクト指向の本質です
974デフォルトの名無しさん
2020/07/05(日) 13:45:21.93ID:JiRnWiGC975デフォルトの名無しさん
2020/07/05(日) 13:47:18.05ID:MQ9nuMmc976デフォルトの名無しさん
2020/07/05(日) 13:47:27.85ID:JiRnWiGC977デフォルトの名無しさん
2020/07/05(日) 13:52:06.41ID:JiRnWiGC >>975
まぁ、いいさ。これ以上は不毛だ。スレも終わるし。
俺は俺の思う正しいオブジェクト指向で今後も楽をさせてもらうよ。
そっちも、そっちの思うオブジェクト指向とやらを使い続けるがいい。
成果が出た方が正義だ。
まぁ、いいさ。これ以上は不毛だ。スレも終わるし。
俺は俺の思う正しいオブジェクト指向で今後も楽をさせてもらうよ。
そっちも、そっちの思うオブジェクト指向とやらを使い続けるがいい。
成果が出た方が正義だ。
978デフォルトの名無しさん
2020/07/05(日) 13:55:35.80ID:h7Qz+vpg オブジェクト指向だから髪型は自由なのさ
彡 ⌒ ミ
(´・ω・`) 不毛とかいうな!
彡 ⌒ ミ
(´・ω・`) 不毛とかいうな!
979デフォルトの名無しさん
2020/07/05(日) 13:56:22.57ID:MQ9nuMmc ハゲに謝るべき
980デフォルトの名無しさん
2020/07/05(日) 13:56:24.62ID:VS9zJ3bZ よし
話を一度整理しよう
privateメソッドだからテストしないとか言ってるやつはキチガイ
早く死んでね
話を一度整理しよう
privateメソッドだからテストしないとか言ってるやつはキチガイ
早く死んでね
981デフォルトの名無しさん
2020/07/05(日) 14:06:22.83ID:MQ9nuMmc ナイスな整理と言わざるを得ない
議論もリファクタリング可能であることを如実に示した
議論もリファクタリング可能であることを如実に示した
982デフォルトの名無しさん
2020/07/05(日) 14:09:58.85ID:MQ9nuMmc >>976
僕のコードはオブジェクト指向ですよ
そこんとこよろしくですよ
オブジェクトをどう分けるかって話はありますよ
しかし、それとは独立してオブジェクトは存在するので
オブジェクトを定義できるクラスの存在そのものがオブジェクト指向の本質なわけです
だからオブジェクト指向言語にはクラスが存在します
生物学の類、目のようなものです、どう分類するかは副次的な話であって
分類できることこそが最も重要な事柄です
僕のコードはオブジェクト指向ですよ
そこんとこよろしくですよ
オブジェクトをどう分けるかって話はありますよ
しかし、それとは独立してオブジェクトは存在するので
オブジェクトを定義できるクラスの存在そのものがオブジェクト指向の本質なわけです
だからオブジェクト指向言語にはクラスが存在します
生物学の類、目のようなものです、どう分類するかは副次的な話であって
分類できることこそが最も重要な事柄です
983デフォルトの名無しさん
2020/07/05(日) 14:18:27.81ID:9F15TCk0 正直あの短さでOOかどうかと(スタティックでインスタンス化もないコードだが)言うのは
不毛だけどID:JiRnWiGCの組み込みおじさんのがOO感はあるよ。
で、staticで出されてもprivateのテストがどうかと言う話には全く寄与しないわけだが、
じゃあ逆に、>>805のチンコテストのfuncSとfuncBはどうやってテストするの?
パブリック経由で全パターンと言うことならこれでこの話はおしまい。
パブリック経由でやりましょう。
違うと言うなら具体的にコードでおながいします。
smallestを9じゃなくて8にしろとかいう苦情は受け付けますw
不毛だけどID:JiRnWiGCの組み込みおじさんのがOO感はあるよ。
で、staticで出されてもprivateのテストがどうかと言う話には全く寄与しないわけだが、
じゃあ逆に、>>805のチンコテストのfuncSとfuncBはどうやってテストするの?
パブリック経由で全パターンと言うことならこれでこの話はおしまい。
パブリック経由でやりましょう。
違うと言うなら具体的にコードでおながいします。
smallestを9じゃなくて8にしろとかいう苦情は受け付けますw
984デフォルトの名無しさん
2020/07/05(日) 14:23:34.49ID:MQ9nuMmc985デフォルトの名無しさん
2020/07/05(日) 14:24:31.67ID:MQ9nuMmc クラスにしてもメソッドにしても責務でわけないと
行数が50行超えたから分割しなければみたいなアホなことやってるのはアホですわ
行数が50行超えたから分割しなければみたいなアホなことやってるのはアホですわ
986デフォルトの名無しさん
2020/07/05(日) 14:25:15.84ID:JiRnWiGC (組み込みおじさんじゃないんだけどな...組み込みもやるけど)
987デフォルトの名無しさん
2020/07/05(日) 14:26:22.88ID:MQ9nuMmc >>986
器用ですね、じゃあ僕との仲直りもすぐにできそうですね
器用ですね、じゃあ僕との仲直りもすぐにできそうですね
988デフォルトの名無しさん
2020/07/05(日) 14:28:26.22ID:9F15TCk0989デフォルトの名無しさん
2020/07/05(日) 14:30:37.73ID:MQ9nuMmc >>988
staticにしたのは状態に依存してないからですね
staticにしたのは状態に依存してないからですね
990デフォルトの名無しさん
2020/07/05(日) 14:31:51.93ID:9F15TCk0 下痢便君は10代後半から20代前半というところかなあ。
ウンコチンコのレベルと絡んでてもおじさんあんまり面白く無いんだよね。
自分でチンコテストのコードあげたけどw
でもコードあげたのは偉いと思うので頑張ってね。
ウンコチンコのレベルと絡んでてもおじさんあんまり面白く無いんだよね。
自分でチンコテストのコードあげたけどw
でもコードあげたのは偉いと思うので頑張ってね。
991デフォルトの名無しさん
2020/07/05(日) 14:33:06.78ID:JiRnWiGC あー、組み込みおじさんにも解るように だよ。
俺自身、組み込みもやるからややこしいが、ずっと前に登場した組み込みおじさんとは別人だよ。
まぁ、慌てて書いたから余計な発言だったか。
もう、この際OOPの利点さえ感じていればなんでもいいことにするよ。
スレも少ないし、ヒートダウンしたし。
俺自身、組み込みもやるからややこしいが、ずっと前に登場した組み込みおじさんとは別人だよ。
まぁ、慌てて書いたから余計な発言だったか。
もう、この際OOPの利点さえ感じていればなんでもいいことにするよ。
スレも少ないし、ヒートダウンしたし。
992デフォルトの名無しさん
2020/07/05(日) 14:33:34.85ID:MQ9nuMmc >>990
僕まだ小学生でちゅ
僕まだ小学生でちゅ
993デフォルトの名無しさん
2020/07/05(日) 14:35:03.91ID:9F15TCk0 あー組み込みおじさん(固有名詞)が居たのね。一般名詞のつもりでした。
この板昨日からなので。
この板昨日からなので。
994デフォルトの名無しさん
2020/07/05(日) 14:35:40.42ID:9F15TCk0 >>992
偉いねえ。
偉いねえ。
995デフォルトの名無しさん
2020/07/05(日) 14:37:40.20ID:MQ9nuMmc 参照透明なメソッドだとテストしやすいしバグの混入も減らせるのでおすすめ!
間違っても>>805こんな下痢便分割しちゃダメ
間違っても>>805こんな下痢便分割しちゃダメ
996デフォルトの名無しさん
2020/07/05(日) 14:38:27.28ID:9F15TCk0 しかし小学生の下痢便君とかと話ててもこっちは損するばかりだしなあ。
マジで。しかも下痢便君はましな方な可能性さえあるし。
予想以上だった、この板。マジやばい。ASP.NETのオブジェクトを使ってるなら
オブジェクト指向だし。
マジで。しかも下痢便君はましな方な可能性さえあるし。
予想以上だった、この板。マジやばい。ASP.NETのオブジェクトを使ってるなら
オブジェクト指向だし。
997デフォルトの名無しさん
2020/07/05(日) 14:38:41.11ID:MQ9nuMmc >>993
マジで!? ID:gS37C1rZ これ絶対君だと思ってた、言ってること薄っぺらいしアホだし
マジで!? ID:gS37C1rZ これ絶対君だと思ってた、言ってること薄っぺらいしアホだし
998デフォルトの名無しさん
2020/07/05(日) 14:42:18.59ID:h7Qz+vpg 不毛
彡 ⌒ ミ
(´・ω・`)
彡 ⌒ ミ
(´・ω・`)
999デフォルトの名無しさん
2020/07/05(日) 14:43:23.60ID:9F15TCk0 >>997
マジで某アメリカの誰でも知ってるとこの中の人だよ。
日本人あんまり居ないので、これ以上はやばいからどこだか
下痢便君に教えるわけが無いけど。
インデントとか言ってたの君だっけ?
そんなくだらない(しかも的外れな)揚げ足取りじゃなくて、
君のコード、根本的なとこに問題あるんだけど、わからない人に
わかれと言ってもわからないだろうからなあ。
ちゃんとOOをやったらわかるかも。頑張ってね。下痢便君w
マジで某アメリカの誰でも知ってるとこの中の人だよ。
日本人あんまり居ないので、これ以上はやばいからどこだか
下痢便君に教えるわけが無いけど。
インデントとか言ってたの君だっけ?
そんなくだらない(しかも的外れな)揚げ足取りじゃなくて、
君のコード、根本的なとこに問題あるんだけど、わからない人に
わかれと言ってもわからないだろうからなあ。
ちゃんとOOをやったらわかるかも。頑張ってね。下痢便君w
1000デフォルトの名無しさん
2020/07/05(日) 14:43:28.02ID:MQ9nuMmc >>998
ハゲて頑張っておられる方にお詫び申し上げます
ハゲて頑張っておられる方にお詫び申し上げます
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 16日 14時間 55分 52秒
新しいスレッドを立ててください。
life time: 16日 14時間 55分 52秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- 東京株式市場 インバウンド関連株が下落 中国政府の渡航自粛要請で [バイト歴50年★]
- 5:55:55.555
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- 戦争は無くならないし殺人は起きるし女はレイプされるし子供は餓死するし
- 日経時間外、5万円割れ 垂直落下始まる [402859164]
- 高市さんに土下座してもらったら一発解決なのに何でやらないんだろ??
- 【悲報】男性人気アイドルグループJO1、中国公演中止wwwwwwwwwwwwwwwwwwwwwwwwwww
