[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 08/04 02:09 / Filesize : 316 KB / Number-of Response : 1037
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

カプセル化の有害性、オブジェクト指向は愚かな考え



1 名前:デフォルトの名無しさん [2020/06/18(木) 23:47:36.69 ID:l/2SQUll.net]
カプセル化(英語: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)

935 名前:デフォルトの名無しさん [2020/07/05(日) 11:37:26.26 ID:9F15TCk0.net]
>>894
そもそもpublicを経由するのが網羅してないから、経由せずにprivate単位で
コード書き換えてテストやるべきという主張自体がOO的にはおかしいわけです。

見せたくないからprivateなわけで。

もちろんデベロッパー個人でコード入れて確認することはあるだろうけれども、
開発手順としてテストケース書いてログ残してというのは違う。

public経由で内部を網羅してるかしてないかは知ったことではない、というのが正解。
上の例で言えばfuncBやfuncSがnullをチェックしてようがしていまいが他のチームには
関係ないわけです。入り口でnullチェックしてれば。

個人的にはサイズがでかければprivateでも入れるけども、それをテストケース書いて
ログ残してと要求されたことはないし、普通はされんはず。少なくともアメリカでは。

936 名前:デフォルトの名無しさん [2020/07/05(日) 11:38:33.09 ID:MQ9nuMmc.net]
GoogleであってもMicrosoftやOracleもバグのないソフトは作れないし
銀の弾丸的な手法があるわけもなく、アメリカ、大手、一流という箔付けに頼ってるだけでしかない

937 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 11:41:45.16 ID:Xwol7cCi.net]
せっかく匿名で議論できるのに
「アメリカの大手一流」とか言い出しちゃうところが哀れやわ
>>805の下痢便コード出た時点でスレ終了やろ普通

938 名前:デフォルトの名無しさん [2020/07/05(日) 11:43:37.87 ID:9F15TCk0.net]
>>896
君の会社はどこなの?

アメリカ大手1流でブライベート単位でのテストケース書いたりした網羅的なテストは「していない」という証明は悪魔の証明だから無理だけど。全社で働いたわけじゃないし。

逆にアメリカ大手1流でやっているという証明は一件出すだけなのでGAFAのどこでも、マイクロソフトでもアドビでも簡単にできるのでぜひどうぞ。

ただ、なんかコピペで爆撃されたオートメーションツールでは、特にコンパイル必要な言語は、直接privateテスト出来ないよ。当たり前の話。

939 名前:デフォルトの名無しさん [2020/07/05(日) 11:45:23 ID:MQ9nuMmc.net]
>>905
アメリカの大手一流ってどこなんよ?

940 名前:デフォルトの名無しさん [2020/07/05(日) 11:45:48 ID:MQ9nuMmc.net]
その会社がやってるからすごいんでしょ、はよ教えてやー

941 名前:デフォルトの名無しさん [2020/07/05(日) 11:47:16 ID:MQ9nuMmc.net]
もう何でもええから言うて、そしたら僕がすごーいって言うから、もうそれでええやんか

942 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 11:49:23 ID:9F15TCk0.net]
また別IDが下痢便とか発狂し始めた。

お前はほんとにウンコとかそのレベルのことが好きだな。

943 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 11:51:02 ID:9F15TCk0.net]
>>907
やって「ない」という話だけど。
まず日本語学んでやー よろしくなー



944 名前:デフォルトの名無しさん [2020/07/05(日) 11:51:58 ID:MQ9nuMmc.net]
>>910
アメリカの大手一流ってどこなんよ?

945 名前:デフォルトの名無しさん [2020/07/05(日) 11:52:54.88 ID:MQ9nuMmc.net]
たぶんアップルは単体テストやってない、SSLでアホなバグだしてたから、あの会社適当だわ、しらんけど

946 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 11:53:26.19 ID:9F15TCk0.net]
>>911
君が自分の名刺でもあげたら考えとくわー

947 名前:デフォルトの名無しさん [2020/07/05(日) 11:55:12.71 ID:MQ9nuMmc.net]
>>913
アメリカの大手一流ではそれが普通なんやーおりゃーってイキっておられましたよね
だから聞いたのに、教えてくれないなんて酷いです、あんなにイキってたのに酷いです

948 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 11:55:58 ID:M+BkbwUs.net]
>>902
> そもそもpublicを経由するのが網羅してないから、経由せずにprivate単位で
> コード書き換えてテストやるべきという主張自体がOO的にはおかしいわけです。

誰がそんなこと言ってるの?

少なく遠も俺は
1. privateはpublic経由でテストすれば十分
2. もしpublic経由でテストできないほど複雑なら、そもそも設計がおかしい
3. 設計の問題を修正して、責務を分割すれば、自然にpublicになるはず
と言ってる。

テストするためにpublicにするのではなく
問題がある設計を直せばpublicになる。と言っている。

949 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 11:55:59 ID:9F15TCk0.net]
>>914
劣等感がひどいな君は。まずはカウンセラーに
かかりなさい。OOの話はそれからしようか。

950 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 11:58:34 ID:9F15TCk0.net]
>>915
いや だ か ら この人。

848デフォルトの名無しさん2020/07/05(日) 08:16:36.05ID:IUsMolpf
publicを通した範囲でしかできないprivateのテストは網羅されてなく
メソッドの単体テストとして十分なテストは行われていません
あなたの意見は採用できません
できれば実際のプロジェクトを5つぐらい経験されてはいかがでしょうか?

951 名前:デフォルトの名無しさん [2020/07/05(日) 11:59:21 ID:MQ9nuMmc.net]
アップルのSSLのバグはこれね

Apple史上最悪のセキュリティバグか、iOSとOS XのSSL接続に危険すぎる脆弱性が発覚──原因はタイプミス?
https://appllio.com/20140223-4899-apple-ios-bug-ssl-goto-fail

952 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 12:06:18.88 ID:wqV8YbJ4.net]
IUsMolpfに文句言えばいいのに。

953 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 12:07:47.85 ID:kFjTOHVy.net]
>>902
ああつまり、重要度は関数仕様>ブラックボックステスト>ホワイトボックステストだから
テストのために仕様変更はすべきでないという主張か。
それはわからんでもない気はするけど、そういうウォーターフォールが絶対というわけでもないしな。

その是非はさておき、そこが論点なら例えばリフレクションのような形でテストできたり、あるいは
テスト仕様を書く本人が関数仕様も決定することができる条件なら全然問題ないわけだ。



954 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 12:07:48.24 ID:9F15TCk0.net]
>>918
正直iOSは全然知らんけどこれは酷いなw
Public Private以前にStaticだからなんにしても直接テストする部分だな。

955 名前:デフォルトの名無しさん [2020/07/05(日) 12:08:47.51 ID:MQ9nuMmc.net]
>>921
せやろw

956 名前:デフォルトの名無しさん [2020/07/05(日) 12:13:26.38 ID:9F15TCk0.net]
>>919
横から狂犬が噛み付いてくるんだよ。

>>920
ウォーターフォールは関係ないし、重要度をつけてるわけでもないけれども、
普通はprivateはソースコード変えてまでテストするものではないというだけの単純な話。

そもそも「テスト」と言ってもいろんな段階があるわけだし、「ユニットテスト」にしても
プロジェクトによって意味が違うわけで。

なんにしてもprivateを(例外はあるにせよ)全部公式な形でテストしろというのは
OOの手法のプロジェクトでは「普通は」やらんというだけなのになんでこんな揉めるのか。

957 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 12:16:58.82 ID:kFjTOHVy.net]
>なんにしてもprivateを(例外はあるにせよ)全部公式な形でテストしろというのは
>OOの手法のプロジェクトでは「普通は」やらんというだけなのになんでこんな揉めるのか。

全部やれなんて主張している人がいないから。

958 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 12:19:09.22 ID:9F15TCk0.net]
>>924
だからいるだろうが。本人なの?

848デフォルトの名無しさん2020/07/05(日) 08:16:36.05ID:IUsMolpf
publicを通した範囲でしかできないprivateのテストは網羅されてなく
メソッドの単体テストとして十分なテストは行われていません
あなたの意見は採用できません
できれば実際のプロジェクトを5つぐらい経験されてはいかがでしょうか?

959 名前:デフォルトの名無しさん [2020/07/05(日) 12:20:23.64 ID:MQ9nuMmc.net]
>>805
こう書いた方が良いと思うの
https://paiza.io/projects/mPhqBnYZnQukkW6HY9LmOQ

960 名前:デフォルトの名無しさん [2020/07/05(日) 12:21:30.51 ID:MQ9nuMmc.net]
privateメソッドが正しいことは確認する、その上でpublicのメソッドが正しいかテストするって感じ

961 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 12:30:30.98 ID:kFjTOHVy.net]
>>925
これが「privateのテストを全部やれ」に読めてしまうのか。そこが原因だな。

962 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 12:32:35.17 ID:M+BkbwUs.net]
>>923
> ウォーターフォールは関係ないし、重要度をつけてるわけでもないけれども、
> 普通はprivateはソースコード変えてまでテストするものではないというだけの単純な話。

テスト中に設計の問題が発覚しても
ソースコード書き換えないの?

ソースコード変えてまでテストするものではないというけど
なんでソースコードを作成&自分が書いたそのコードをテストしてるときに
自分が作成してるソースコードを変えたらだめなの?

963 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 12:36:24.73 ID:M+BkbwUs.net]
普通の開発だったら

0. なにかの修正を行う必要が発生する
1. その修正のためにソースコードを修正する
2. 修正したコードが正しいかテストする
3. 1〜2を繰り返し修正したコードに問題がなければ開発完了
4. 統合テストとかより大きなテストを行う

でしょ?

public・privateメソッドをテストしたいっていうのは
この1〜2のフェーズで発生することなのに、
なんでテストがやりにくいなと思ったときに
ソースコードを修正したらだめなの?



964 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 12:38:58.81 ID:wqV8YbJ4.net]
>>926
スマホでも見やすくなったな。
あー、なるほど。

でも、サンプルみたら少し混乱してきた。
自分はクラスの単体テストをイメージしてたけど、まさか、Mainクラスの中に定義されたprivateメソッドの単体テスト(?)の話をしていたとか?
もう単体テストの意味が少し崩壊してきたが...

965 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 12:46:16.73 ID:BTTSshKd.net]
どういう流れなのか追うのもめんどいなw

966 名前:デフォルトの名無しさん [2020/07/05(日) 12:52:51.86 ID:9F15TCk0.net]
>>928
そもそも300くらいからそういう話だから。

privateはpublicからアクセスして全部網羅できるから問題ないなんて
誰も否定してないしそういうことならもともと荒れてない。

>>929
あのさ、例えばバグが発生したらコード書き換えるのは当たり前だよね?
そんな話では当然ないよね?

privateを直接テストするためには外部から呼べないのだから、呼ぶためには
クラス内に書くしかないわけだよ。で、ソースに書き込んでクラス内に書いて
テストしたあとまたそのコードを取り除いてとかするの?それをドキュメント化
する?

普通はコード書いてる最中にテストコードを入れて確認するのは公式なテストの
メソッドでは無いし、それをドキュメント化したりするのは求められないと
思うが。

>>926
ワロタw

けどそうじゃ無い。privateで直接アクセスした時のみnullがでるということ。
intじゃ無いのは例のためにわざとそうなっている。あとchinTestが呼ばれてないし、
OptionalにisEmpty無いのでは。

967 名前:デフォルトの名無しさん [2020/07/05(日) 12:54:31.17 ID:9F15TCk0.net]
nullがでる->ヌルポがでる

968 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 12:54:57.72 ID:M+BkbwUs.net]
>>933
> privateを直接テストするためには外部から呼べないのだから、呼ぶためには
> クラス内に書くしかないわけだよ。で、ソースに書き込んでクラス内に書いて
> テストしたあとまたそのコードを取り除いてとかするの?それをドキュメント化
> する?

誰がそんな事するって言ってんの?
お前が想像が間違ってる

969 名前:デフォルトの名無しさん [2020/07/05(日) 12:56:01.25 ID:MQ9nuMmc.net]
>>933
えっとごめんそのnullの問題は設計が下手なだけだと思ってて、設計を見直すべきかと
privateのテストをどうしますかの例として出したので問題ないっしょ
君はこのプログラムをどうやってテストするん?

970 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 12:56:34.25 ID:3WDjCjSx.net]
よくもまあ粉薬をオブラートで包むような話でこれだけのレスで盛り上がれるなー

971 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 12:57:28.17 ID:M+BkbwUs.net]
いやーびっくりだw

設計がおかしいから設計を修正するって話をしてるのに
設計を修正した後に修正前に戻すなんでやらないだろ!って言われちゃった(笑)

だーれも修正前に戻すなんて言ってないの
おかしい設計を修正して「開発完了」なの

972 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 12:57:46.31 ID:JiRnWiGC.net]
たぶん、スレタイがスレタイだから、手続き型でプログラムを書く人のイメージする単体テストとオブジェクト指向プログラマーのイメージする単体テストで齟齬が生じているのでは?

そりゃ、サンプルみたいに関数が定義されていたらprivateだろうと関数はテストするべきって発想になるのは不思議じゃないし、オブジェクト指向に基づき設計されたクラスを単体テストする話であれば、privateをテストって、どういう意味なんだろって不思議がるだろうよ。

そして、たぶん、サンプルコードに対して真っ先に突っ込むべき点はOOPでも何でもないコードという点だと思うのだが、そこはいいのかな?

973 名前:デフォルトの名無しさん [2020/07/05(日) 12:57:47.49 ID:MQ9nuMmc.net]
OptionalにisEmptyが無いというのは何言ってるのかわからない
本当になかったらコンパイルに失敗するよ



974 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 13:00:08.78 ID:M+BkbwUs.net]
>>939
一人privateがテストしづらいからpublicに変更してテストして
"元に戻す" 話をしてるやつがいるみたいだが(笑)

975 名前:デフォルトの名無しさん [2020/07/05(日) 13:00:23.50 ID:MQ9nuMmc.net]
>>939
僕はOOPのコードだと思ってるよクラスが定義されてるからね
君が思うOOPのコードはこれだっていうのを君に出していただきたいかな

976 名前:デフォルトの名無しさん [2020/07/05(日) 13:00:34.24 ID:9F15TCk0.net]
>>935
もうお前は良いからスレを読め。

>>936
いやそうじゃなくて、publicで呼ばれるprivateを直接テストするのかという
話なので、そのためにわざわざヌルポになるように書いてるわけで、staticなら
そのままメソッド呼べば良い話。


もうこの板嫌。。。

977 名前:デフォルトの名無しさん [2020/07/05(日) 13:03:47.50 ID:MQ9nuMmc.net]
>>943
ヌルポになるような設計はおかしいのがそれはコーディング力の稚拙さゆえ。
だから、いまはそのヌルポの問題は置いておこう。
さて、君はこのプログラムをどうテストするのか教えて欲しいっていうのが僕の要望だよ。

978 名前:デフォルトの名無しさん [2020/07/05(日) 13:06:51.97 ID:9F15TCk0.net]
>>944
いやだから そ う じ ゃ な く て

privateでだけヌルポが出るように書いてるの。privateとpublicのテストの話だから。
出さないだけならnullチェック入れれば良いだけの話だが、そういうことじゃ無くて
わざと出るようになってるの。

そのプログラムならstaticなのだからそのまま呼べば良いし、
chinTestも呼ばれてないけどpublicなのだからテストしたければそのまま
呼べば良い話。

979 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 13:10:29.02 ID:JiRnWiGC.net]
>>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()

こんな風に内部実装を知らなくても呼べる。

980 名前:デフォルトの名無しさん [2020/07/05(日) 13:11:36.99 ID:MQ9nuMmc.net]
>>945
わざと出るように入れたのが現実の実装と乖離してるので、わざと入れる意味が無いので
気にする必要ないですよってこと

君はpublic経由でprivateをテストするんだって立場ですよね
君はどうテストを書きますかってことを教えて欲しいです
君の元のコードでもいいですよ、僕が変更したコードでも良いですよ
君はどうprivateをテストしますか?

981 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 13:12:18.35 ID:JiRnWiGC.net]
残念ながら、クラスを使えばOOPという認識は間違い。

982 名前:デフォルトの名無しさん [2020/07/05(日) 13:13:15.86 ID:MQ9nuMmc.net]
>>948
僕は君の認識が間違いだと思ってる、君の方が残念

983 名前:デフォルトの名無しさん [2020/07/05(日) 13:13:55.43 ID:MQ9nuMmc.net]
クラスの存在こそがOOPの本質



984 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 13:13:59.63 ID:JiRnWiGC.net]
え、そこに反論されるの?
何このスレ。

985 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 13:14:57.78 ID:JiRnWiGC.net]
JavaScriptとかpythonとか、元々、クラスはサポートしていないのに?
プロトタイプベースはオブジェクト指向じゃないとでも?

986 名前:デフォルトの名無しさん [2020/07/05(日) 13:17:49.53 ID:MQ9nuMmc.net]
>>951
えじゃねえよ、なめんなよ

987 名前:デフォルトの名無しさん [2020/07/05(日) 13:18:05.20 ID:9F15TCk0.net]
>>947
意味がないどころか、そこにしか意味がないんだよ。
それ「だけ」を見せるためのコードなんだから。staticとか
なら話の流れとなんにも関係がないのでそれこそ意味がない。

でもあえていうなら、そもそもまず連打が好きじゃ無い。自分ならループにするけど、
それだけでもない。

まず壊すようにテストすんの。null入れたり、変なオブジェクト入れたり。

で、privateをテストするんじゃなくて、要件通り動くかどうか。nullからint maxまで
回して、要件通りの結果が全てでくるか。変なオブジェクト入れたらどうか。
そういう感じ。

でも最初に書いたように、publicとprivateの話なんだから、そこで
エラーが出るか出ないかがないとこのスレ的にはなんの意味もない。

988 名前:デフォルトの名無しさん [2020/07/05(日) 13:18:37.20 ID:MQ9nuMmc.net]
>>952
JavaScriptにもPythonにもクラスあるよ
クラスがオブジェクト指向の本質だと気づいたから追加されたんじゃないでしょうかねー

989 名前:デフォルトの名無しさん [2020/07/05(日) 13:19:41.30 ID:9F15TCk0.net]
クラスの存在はOOPの大事な部分だけど、OOPの言語を使ってもほとんどOOPでは
無いというのはよくある話。巨大クラス一個とかだと頭を抱える。

990 名前:デフォルトの名無しさん [2020/07/05(日) 13:22:07.34 ID:MQ9nuMmc.net]
>>954
現実にありえない実装見せて、ほらね、と言われても僕は戸惑うばかり
そんな現実にありえないことを想定するからまずいんじゃないですかね
現実にそういうコード書いてるんじゃないかと僕はちょっと君のコーディング力を
疑わしく思ってきたのだけれども

public経由で、標準出力に出力するようなprivateコードを一生懸命テストしますか?
がんばり屋さんだなとは思うけど、効率悪くないですかね

991 名前:デフォルトの名無しさん [2020/07/05(日) 13:22:29.69 ID:MQ9nuMmc.net]
>>956
そんな極端な話ちゃうやろボケ

992 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 13:24:13.83 ID:JiRnWiGC.net]
そりゃ、クラスはオブジェクト指向を実現する上で便利だからね。大切な存在さ。でも、クラスなんて無くてもオブジェクト指向でコードは書けるし、逆に、クラスが合っても手続き型の記述をしたら、そりゃ、オブジェクト指向じゃねーわ。
つーか、クラスを使ったらオブジェクト指向ってマジで言ってる?
それってつまり、このスレで時々名前の出るstaticおじさんの書いたコードもオブジェクト指向だと言い張るつもり?

993 名前:デフォルトの名無しさん [2020/07/05(日) 13:25:43.22 ID:9F15TCk0.net]
>>957
えーー、違うそうじゃ無い。多分君よくわかってない。
例なわけで実際にありえないとかありえる訳が無い。そんな話じゃ無いし
根本的な部分がわかってない。

publicでは問題がなく、private単体だと問題がでるコードなわけで。この意味はわかる?



994 名前:デフォルトの名無しさん [2020/07/05(日) 13:29:16.63 ID:MQ9nuMmc.net]
>>959
staticおじさんの元の話知ってる? 僕はリアルタイムであれを読んでたからよく知ってるんだけれども
staticおじさんは必要なところではオブジェクト作るよ、でもASP.NETのForm Applicationのフレームワークには
もともとリッチなオブジェクトが用意されてるから実務ではそれを組み合わせるだけで事足りることが多いよ
だからstaticメインで組み上げてオーケーさって話だったよ

オブジェクト指向信者がアホな前提置いて話を発散させただけでstaticおじさんが言ってることはわりあいまともだった
こういう議論の場で神クラスを引き合いに出して批判するという極端なことやって意味があるのかなと僕は疑問ですね

995 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 13:30:55.04 ID:JiRnWiGC.net]
いや、そもそもstaticおじさんのコードはオブジェクト指向でも何でもねーよ!
話反らすな。

996 名前:デフォルトの名無しさん [2020/07/05(日) 13:32:41.77 ID:MQ9nuMmc.net]
>>962
staticおじさんの書いたコードもオブジェクト指向だと言い張るつもり?

と君が聞いたからstaticおじさんに対する僕の所見を述べたつもり
ASP.NETのオブジェクトを使ってるならオブジェクト指向でしょ
オブジェクト指向が為せる技だと思うよ

997 名前:デフォルトの名無しさん [2020/07/05(日) 13:33:02.71 ID:MQ9nuMmc.net]
オブジェクト指向便利だよね

998 名前:デフォルトの名無しさん [2020/07/05(日) 13:33:43.81 ID:9F15TCk0.net]
コードあげてくれるのは偉いと思うので気がひけるのだが、上のコードは
privateとpublicの違いを表すための部分がまるですっぽ抜けてるし、そもそも
staticだし結構それ自体staticおじさん感がある。すまんw

999 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 13:33:52 ID:JiRnWiGC.net]
>>963
ちげーよ。ASPがオブジェクト指向であって、staticおじさんのコードはオブジェクト指向でも何でもねーよ。

1000 名前:デフォルトの名無しさん [2020/07/05(日) 13:37:13 ID:MQ9nuMmc.net]
>>966
でもASP.NETのフレームワークがオブジェクト用意してなかったらstaticおじさんはコード書けなかったと思うし
staticおじさんのコードはオブジェクト指向を有効的に活用した非常に優れたコードだと思いますよ
必要もないのにオブジェクト作るのはアホですわ

1001 名前:デフォルトの名無しさん [2020/07/05(日) 13:38:05.15 ID:MQ9nuMmc.net]
staticおじさんは必要な場面ではオブジェクト作るっていってるからねー
僕はstaticおじさんに詳しいんだ

1002 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 13:38:11.20 ID:9F15TCk0.net]
神のGTO感があるw

1003 名前:デフォルトの名無しさん [2020/07/05(日) 13:40:17.58 ID:MQ9nuMmc.net]
物事の本質を見誤ると道を踏み外すよ
状態に依存してないのにインスタンスメソッドにしたりとか
staticメソッドを定義したらstaticおじさんと言ったりとか
そういうバカのできあがりですよ



1004 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 13:40:37.05 ID:JiRnWiGC.net]
>>967

> >>966
> でもASP.NETのフレームワークがオブジェクト用意してなかったらstaticおじさんはコード書けなかったと思うし

そうだね。

> staticおじさんのコードはオブジェクト指向を有効的に活用した非常に優れたコードだと思いますよ

お前がそう思うのなら、そう思えば。そはどうでもいい。

で?
クラスを定義すればオブジェクト指向だとまだ主張するの?

論点ずらすなや

1005 名前:デフォルトの名無しさん [2020/07/05(日) 13:42:50.97 ID:MQ9nuMmc.net]
>>971
何が気に入らなくて僕に絡んでるのかわからないですが
クラスがオブジェクト指向の本質であることには変わりないですよ
クラスとはデータと処理をセットにして持つことができるものです
クラスを定義することこそがオブジェクト指向の本質です

1006 名前:デフォルトの名無しさん mailto:< []
[ここ壊れてます]

1007 名前:>2020/07/05(日) 13:44:43.62 ID:MQ9nuMmc.net mailto: 責務ごとにオブジェクトをわけましょうなんていうのは
オブジェクト指向でプログラミングすることを前提にした設計論でしか無いです
クラスの存在こそがオブジェクト指向の本質です
[]
[ここ壊れてます]

1008 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 13:45:21.93 ID:JiRnWiGC.net]
>>972

>>926をオブジェクト指向と認識している時点でオメーは間違ってるんだよ。

1009 名前:デフォルトの名無しさん [2020/07/05(日) 13:47:18.05 ID:MQ9nuMmc.net]
>>974
いいえ、君のほうが間違いです
Mainという名前にしてるのはpaizaではMainじゃないと動かないからですよ
その辺わかって絡んでますか? あまり僕を怒らせないほうが良いです

1010 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 13:47:27.85 ID:JiRnWiGC.net]
>>972
何が気にいらないかって?
オブジェクト指向でも何でもねぇコードをオブジェクト指向と認識して今まで長ったらしい口論を続けてきたことだ。

クソみたいな時間だったな、オイ。

1011 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 13:52:06.41 ID:JiRnWiGC.net]
>>975
まぁ、いいさ。これ以上は不毛だ。スレも終わるし。
俺は俺の思う正しいオブジェクト指向で今後も楽をさせてもらうよ。
そっちも、そっちの思うオブジェクト指向とやらを使い続けるがいい。

成果が出た方が正義だ。

1012 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 13:55:35.80 ID:h7Qz+vpg.net]
オブジェクト指向だから髪型は自由なのさ

彡 ⌒ ミ
(´・ω・`) 不毛とかいうな!

1013 名前:デフォルトの名無しさん [2020/07/05(日) 13:56:22.57 ID:MQ9nuMmc.net]
ハゲに謝るべき



1014 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 13:56:24.62 ID:VS9zJ3bZ.net]
よし
話を一度整理しよう

privateメソッドだからテストしないとか言ってるやつはキチガイ
早く死んでね

1015 名前:デフォルトの名無しさん [2020/07/05(日) 14:06:22.83 ID:MQ9nuMmc.net]
ナイスな整理と言わざるを得ない
議論もリファクタリング可能であることを如実に示した

1016 名前:デフォルトの名無しさん [2020/07/05(日) 14:09:58.85 ID:MQ9nuMmc.net]
>>976
僕のコードはオブジェクト指向ですよ
そこんとこよろしくですよ

オブジェクトをどう分けるかって話はありますよ
しかし、それとは独立してオブジェクトは存在するので
オブジェクトを定義できるクラスの存在そのものがオブジェクト指向の本質なわけです
だからオブジェクト指向言語にはクラスが存在します

生物学の類、目のようなものです、どう分類するかは副次的な話であって
分類できることこそが最も重要な事柄です

1017 名前:デフォルトの名無しさん [2020/07/05(日) 14:18:27.81 ID:9F15TCk0.net]
正直あの短さでOOかどうかと(スタティックでインスタンス化もないコードだが)言うのは
不毛だけどID:JiRnWiGCの組み込みおじさんのがOO感はあるよ。

で、staticで出されてもprivateのテストがどうかと言う話には全く寄与しないわけだが、
じゃあ逆に、>>805のチンコテストのfuncSとfuncBはどうやってテストするの?

パブリック経由で全パターンと言うことならこれでこの話はおしまい。
パブリック経由でやりましょう。

違うと言うなら具体的にコードでおながいします。

smallestを9じゃなくて8にしろとかいう苦情は受け付けますw

1018 名前:デフォルトの名無しさん [2020/07/05(日) 14:23:34 ID:MQ9nuMmc.net]
>>983
僕ならテストしないですね、全部書き直します
メソッドを行数で分割するようなことしてるからそういう下痢便コードができあがるんじゃないかと思いますよ

1019 名前:デフォルトの名無しさん [2020/07/05(日) 14:24:31 ID:MQ9nuMmc.net]
クラスにしてもメソッドにしても責務でわけないと
行数が50行超えたから分割しなければみたいなアホなことやってるのはアホですわ

1020 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 14:25:15 ID:JiRnWiGC.net]
(組み込みおじさんじゃないんだけどな...組み込みもやるけど)

1021 名前:デフォルトの名無しさん [2020/07/05(日) 14:26:22 ID:MQ9nuMmc.net]
>>986
器用ですね、じゃあ僕との仲直りもすぐにできそうですね

1022 名前:デフォルトの名無しさん [2020/07/05(日) 14:28:26 ID:9F15TCk0.net]
>>984
書き直して決め打ちコピペにstaticなんだw
結局publicとprivateの違いはよくわかってないな。
まあ頑張れ。君とはこれまでだ。

>>986
組み込みおじさんって言ってたやんけ(言ってなかったか?)

1023 名前:デフォルトの名無しさん [2020/07/05(日) 14:30:37 ID:MQ9nuMmc.net]
>>988
staticにしたのは状態に依存してないからですね



1024 名前:デフォルトの名無しさん [2020/07/05(日) 14:31:51 ID:9F15TCk0.net]
下痢便君は10代後半から20代前半というところかなあ。

ウンコチンコのレベルと絡んでてもおじさんあんまり面白く無いんだよね。
自分でチンコテストのコードあげたけどw

でもコードあげたのは偉いと思うので頑張ってね。

1025 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 14:33:06 ID:JiRnWiGC.net]
あー、組み込みおじさんにも解るように だよ。
俺自身、組み込みもやるからややこしいが、ずっと前に登場した組み込みおじさんとは別人だよ。

まぁ、慌てて書いたから余計な発言だったか。
もう、この際OOPの利点さえ感じていればなんでもいいことにするよ。
スレも少ないし、ヒートダウンしたし。

1026 名前:デフォルトの名無しさん [2020/07/05(日) 14:33:34 ID:MQ9nuMmc.net]
>>990
僕まだ小学生でちゅ

1027 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 14:35:03.91 ID:9F15TCk0.net]
あー組み込みおじさん(固有名詞)が居たのね。一般名詞のつもりでした。
この板昨日からなので。

1028 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 14:35:40.42 ID:9F15TCk0.net]
>>992
偉いねえ。

1029 名前:デフォルトの名無しさん [2020/07/05(日) 14:37:40.20 ID:MQ9nuMmc.net]
参照透明なメソッドだとテストしやすいしバグの混入も減らせるのでおすすめ!
間違っても>>805こんな下痢便分割しちゃダメ

1030 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 14:38:27.28 ID:9F15TCk0.net]
しかし小学生の下痢便君とかと話ててもこっちは損するばかりだしなあ。
マジで。しかも下痢便君はましな方な可能性さえあるし。

予想以上だった、この板。マジやばい。ASP.NETのオブジェクトを使ってるなら
オブジェクト指向だし。

1031 名前:デフォルトの名無しさん [2020/07/05(日) 14:38:41.11 ID:MQ9nuMmc.net]
>>993
マジで!? ID:gS37C1rZ これ絶対君だと思ってた、言ってること薄っぺらいしアホだし

1032 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 14:42:18.59 ID:h7Qz+vpg.net]
不毛

彡 ⌒ ミ
(´・ω・`)

1033 名前:デフォルトの名無しさん [2020/07/05(日) 14:43:23.60 ID:9F15TCk0.net]
>>997
マジで某アメリカの誰でも知ってるとこの中の人だよ。
日本人あんまり居ないので、これ以上はやばいからどこだか
下痢便君に教えるわけが無いけど。

インデントとか言ってたの君だっけ?

そんなくだらない(しかも的外れな)揚げ足取りじゃなくて、
君のコード、根本的なとこに問題あるんだけど、わからない人に
わかれと言ってもわからないだろうからなあ。

ちゃんとOOをやったらわかるかも。頑張ってね。下痢便君w



1034 名前:デフォルトの名無しさん [2020/07/05(日) 14:43:28.02 ID:MQ9nuMmc.net]
>>998
ハゲて頑張っておられる方にお詫び申し上げます

1035 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 16日 14時間 55分 52秒






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<316KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef