板検索:
オブジェクト指向システムの設計 172 (387)
まとめビュー
1
uy ◆e6.oHu1j.o []   投稿日:2016/07/09 00:35:13  ID:Mn3UGZ+O.net
前スレ
オブジェクト指向システムの設計 171 [無断転載禁止]©2ch.net
オブジェクト指向システムの設計 171


2
デフォルトの名無しさん[sage]   投稿日:2016/07/09 00:40:05  ID:DRCwnEUQ.net
スレ立て乙

今回はどうなるものやら

3
デフォルトの名無しさん[sage]   投稿日:2016/07/09 02:21:37  ID:GFJ5/r//.net
今頃流行ってんだなOOP
10年くらい前は否定派のオッサンが多くてめっちゃ肩身狭かったけど
コメント2件

4
デフォルトの名無しさん[sage]   投稿日:2016/07/09 02:35:54  ID:3DBY5ZwO.net
>3
お前の会社は可哀想だなw

5
名無しさん@そうだ選挙に行こう! Go to vote![sage]   投稿日:2016/07/10 09:45:08  ID:uQXCaqsb.net
>3

川俣 晶さんの著書を読むと、「C#で開発しているプログラマは、Java以上にすばらしいC#に満足して開発している。」
っていうふうなこと描かれているね。
あえて、OOPが良いとか、JavaよりC#が良いなんて書籍やネットで騒ぐより、C#でプログラミングしているほうが楽しいってことみたい。

ってことで、「OOP否定」の流れにくみする人が多かったということだったのかも?
コメント1件

6
デフォルトの名無しさん[sage]   投稿日:2016/07/11 19:21:45  ID:X0XbLs9u.net
C#でコーディングしてるんだけど、呼び出した1メソッドずつtry~catchで囲め、共通化メソッド内での分岐じゃ読みにくいって言われたんだけどそんなに読みにくいの?
3分岐ぐらいしかないんだけど
1メソッドずつコピペで囲んだらなんかあったとき修正漏れとかあると思うんだけど
俺がおかしいの?
throwするとわかりにくいって怒られるし。
コメント3件

7
デフォルトの名無しさん[sage]   投稿日:2016/07/11 21:38:01  ID:qc/cfS6K.net(6)
>6
実際のコードがないと何とも言えん気がするが

>throwするとわかりにくいって怒られるし。
糞無能の悪寒
その屑さっさとビルの窓から放り投げるのがベスト解決策な気がするね
コメント1件

8
デフォルトの名無しさん[sage]   投稿日:2016/07/11 21:42:08  ID:5tv/61n2.net
C界隈出身の先輩が言う事は話半分で聞いてりゃいいよ。

9
デフォルトの名無しさん[sage]   投稿日:2016/07/11 21:50:23  ID:qc/cfS6K.net(6)
>5
むしろ10年前にOOP否定とか
他に何やってたんだ、そいつは?
最高に見通しのいい伝説の1ファイルmain()1万行とか書いてたのか?

4K40型モニタでハッ倒してやりたいね

10
デフォルトの名無しさん[sage]   投稿日:2016/07/11 21:53:10  ID:aTiidMol.net(8)
職場の人がみんなそうで、毎日変数一つにまとめろとかクラス一つにまとめろとかいろんな人から怒られたりして気が狂いそう
javaから入ってオブジェクト指向学んだんだけど、javaと同じようにオブジェクト指向で作っちゃいけないの?
戻り値列挙型で定義したら戻り値二択にしてboolで返せって、戻り値によってswitch文で処理書いてたんだけどそれも全部捨てろって
俺そんなにおかしいもの書いたのかな?
共通化したりするとわかりづらい読みづらいって言われる

11
デフォルトの名無しさん[sage]   投稿日:2016/07/11 21:55:32  ID:aTiidMol.net(8)
>7
共通化メソッドって言うのは例外処理のことね
例外処理一つにまとめたら例外ごとにメッセージ出せって言われたからメソッドこしらえたら分岐とか読み辛いからやめろって
読みやすいように考えたのに、そんなダメだったかな。
コメント1件

12
デフォルトの名無しさん[sage]   投稿日:2016/07/11 22:01:49  ID:dAMIv9Pn.net(2)
>11
簡単にでいいから書いてみ↓
https://ideone.com/
コメント1件

13
デフォルトの名無しさん[]   投稿日:2016/07/11 22:09:20  ID:aTiidMol.net(8)
>12
書いたらrunて押せばいいの?
コメント1件


14
デフォルトの名無しさん[sage]   投稿日:2016/07/11 22:13:53  ID:dAMIv9Pn.net(2)
>13
Runでok
Runして表示されるページのアドレスをここに書き込めば、みんなが見れる

15
デフォルトの名無しさん[]   投稿日:2016/07/11 22:21:48  ID:aTiidMol.net(8)

16
デフォルトの名無しさん[]   投稿日:2016/07/11 22:23:16  ID:aTiidMol.net(8)
変なのだったらごめん。
あとクラス名間違えてるごめん。

17
デフォルトの名無しさん[sage]   投稿日:2016/07/11 23:27:03  ID:qc/cfS6K.net(6)
>15
わかりにくい(怒)

try {
  // your code goes here
  Director.Create("C:\\testdir");
} catch (IOException ex) {
  MessageBox.Show("入出力エラーが発生しました。");
} catch (Exception ex) {
  MessageBox.Show("想定外のエラーが発生しました。");
}


これで十分だろ
何ErrHandlerって
再利用性もゼロだし、分割しなきゃならんほど複雑な処理してんのか?
ついでに言えばcatchすんのかthrowすんのか、どっちかにしろよ
このmainはcatchした上でまたthrowするの?

おまえ向いてないよ
コメント4件

18
デフォルトの名無しさん[sage]   投稿日:2016/07/11 23:30:23  ID:qc/cfS6K.net(6)
レビューは的確に
誤解がないよう断定調で書く
反省を促すためにも積極的に人格否定などを織り込む
これ良いレビューの基本ね

がんばれよ糞コードヴォーイ
お前はセンスない上頭が悪くてきっとチビデブハゲブサメンワキガだけど、ここにコードを書いたガッツだけは認める
今日流した悔し涙は、明日のお前の血になる

19
デフォルトの名無しさん[sage]   投稿日:2016/07/11 23:33:42  ID:MJsMJlaT.net
>6
なんとも言えんなー
ぶっちゃけまるっとtry-catchで括っちゃうと不味い場面のが多い気がする
今の職場では「ハイ例外ハイ死んだーエラーログ出てるからオッケー」
なんてノリだけどな
途中で死んで処理切り上げて抜けました後片付けは知りません
落ちて死んだりもしたけれどアプリケーションは元気です!
ってそれ不良品じゃねーか!
って気がしなくもない
DB関連の処理ならロールバックあるけど
やっぱ真面目に作ろうとすると昔ながらのc言語スタイルかなと
コメント2件

20
デフォルトの名無しさん[sage]   投稿日:2016/07/11 23:36:48  ID:aTiidMol.net(8)
>17
返信ありがとう
createメソッドとかcopyメソッドとかが出現する場所全部に入れないといけないからそういう風にしてる
throwはするなって言われたからキャッチした場所でメッセージ出力して、場合によっては戻り値返してる
こうしたくてこうしたいんじゃないけど、現状非難は浴びてるから向いてないのかもしれない

21
デフォルトの名無しさん[sage]   投稿日:2016/07/11 23:37:44  ID:qc/cfS6K.net(6)
        .______
.        |    |    |
     ∩∩  |     |    |  ∩∩
     | | | |  |    |    |  | | | |  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (  ,,)  |     |    | (・x・ )<おらっ!出てこい、 ID:aTiidMol
   /  つ━━"....ロ|ロ   . | l   |U \___________
 〜(  /   |    |    |⊂_ |〜
   し'∪  └──┴──┘  ∪

俺様が貴重な時間割いてレビューして下さったんだぞ?
涙の一つくらい流して感謝の言葉でも述べたらどうだ
お礼は三行以上
ついでに糞コード書いてごめんなさい、産まれてきてごめんなさいも言え、このビチグソが
こういう勘違いしたバカがリーダブルコード読んで利いたふうな口をきくからコードが糞臭くなるんだよ
PHPからやり直せ

22
デフォルトの名無しさん[sage]   投稿日:2016/07/11 23:39:31  ID:qc/cfS6K.net(6)
俺が悪かった
薬飲んで寝るよ
コメント1件

23
デフォルトの名無しさん[sage]   投稿日:2016/07/11 23:41:00  ID:aTiidMol.net(8)
>22
ちゃんと意見言ってくれただけでもありがたいよ。
薬飲んでるのか?
体は大事にな。
ゆっくり休んでな。
コメント1件

24
デフォルトの名無しさん[sage]   投稿日:2016/07/11 23:45:26  ID:jK3rCQ1d.net
精神不安定杉内
やっぱIT業界って頭やられちまう奴多いんだなw

25
デフォルトの名無しさん[sage]   投稿日:2016/07/11 23:48:51  ID:aTiidMol.net(8)
>19
そこまで複雑な処理じゃないんだ。
最初は下位で何かあったら共通処理から上がってきて、メソッド毎に○○処理中に〜みたいなメッセージ出力してまた投げて、メインで例外処理するだけのものだったんだけど、それじゃだめだって言われて
例外発生タイミングで例外処理しろって、投げるなって
じゃあチェック処理含めてcreateメソッド囲った共通処理作ってその中でメッセージ出力したらどうだって言ったら
ややこしいからコピペで一回一回囲めって言われたんだ
伝わるかな?

26
デフォルトの名無しさん[sage]   投稿日:2016/07/11 23:58:21  ID:EacXB/Ox.net
>23
ちなみにそういう時は、コードを2つ並べて書くものだ。
A. 俺はこう書いたんだが、
B. こう書けといわれて戸惑ってる
みたいに。どちらかは丸ごとコメントアウトしておけばいい。
>15がAで、>17がBであっているのか?

あとそれが正統Java流だと思っているのなら、とりあえずJavaスレでも聞いてみたらどうか。
もちろんここで既に聞いたことは明示して。
ちなみに皮肉で言っているわけではなく、俺では単に判定出来ないから「聞いてみれば」と言っている。
割とJavaってそんな感じで刻むイメージがあるから。
コメント1件

27
デフォルトの名無しさん[sage]   投稿日:2016/07/11 23:59:14  ID:c813o9It.net
>19
> やっぱ真面目に作ろうとすると昔ながらのc言語スタイルかなと
それはない。
C言語スタイルでは大規模アプリの例外処理は
大変すぎて手に負えなくなる。
コメント1件

28
デフォルトの名無しさん[sage]   投稿日:2016/07/12 00:14:23  ID:92wyFONm.net
using使え

29
デフォルトの名無しさん[sage]   投稿日:2016/07/12 00:18:40  ID:StomlD/Y.net(4)
C言語スタイルってなんぞ?

30
デフォルトの名無しさん[sage]   投稿日:2016/07/12 00:42:17  ID:M/oXbOZH.net(4)
>27
いやいや
だって例外を1番上で捕まえると
死ぬ箇所によって死に方が千差万別よ

それって折角閉じたクラスや関数であっても大ジャンプしてケツも拭かずに飛び出して来るからね

だから例外を一括で処理するとデリケートな処理してっとこだとまじーんじゃねーかな?ってのは思うわ
コメント1件

31
デフォルトの名無しさん[sage]   投稿日:2016/07/12 00:45:40  ID:StomlD/Y.net(4)
Cって例外ないじゃん
C++は既にJavaに似た例外あるじゃん

C言語スタイルってなんじゃん?
コメント1件

32
デフォルトの名無しさん[sage]   投稿日:2016/07/12 00:48:43  ID:M/oXbOZH.net(4)
>31
だから例外ないからその場で処理するしかないだろ
コメント1件

33
デフォルトの名無しさん[sage]   投稿日:2016/07/12 00:49:55  ID:StomlD/Y.net(4)
健全でない言葉が含まれているため表示しません 内容を確認する

34
デフォルトの名無しさん[sage]   投稿日:2016/07/12 01:02:14  ID:4M8hLvVe.net(12)
>30
> だって例外を1番上で捕まえると
> 死ぬ箇所によって死に方が千差万別よ

頭が硬すぎ。困るときだけ対処しろよ。

困らないときがほとんどなんだから
困るときだけ対処すればよい。
コメント1件

35
デフォルトの名無しさん[sage]   投稿日:2016/07/12 01:03:49  ID:4M8hLvVe.net(12)
C言語よりもあとにできた言語では
ほぼ全て例外機構があって、例外を使うのが推奨されている。
(例外を使うなって意見聞いたことあるか?)

という現実を見れば議論するべき内容じゃない。
例外が良い。の一択
コメント1件

36
デフォルトの名無しさん[sage]   投稿日:2016/07/12 01:09:39  ID:umCvEWis.net(5)
>35
釣りか?
むしろ使うなという方が大勢だと思うが。
http://www.textdrop.net/google-styleguide-ja/cppguide.xml#%E4%BE%8B%E5%A4%96
コメント2件

37
デフォルトの名無しさん[sage]   投稿日:2016/07/12 01:11:50  ID:Vf+ZIi05.net(2)
C言語の例外処理はシグナルを使う方法だろ

38
デフォルトの名無しさん[sage]   投稿日:2016/07/12 01:17:32  ID:rBak2gB5.net(3)
>36
Googleは例外が使われていない大量のレガシーコードを抱えている
そのレガシーコードと例外を扱う今風のコードを混ぜることにコストがかかるから例外を使わないというルールになっている
新規にコードを書くなら例外でエラーするのが一般的

>>Googleの既存コードに例外に対する耐性がないことを考慮すると、Googleのプロジェクトで例外を使うのは、新規プロジェクトで例外を使うのと比べて、ややコストが大きいと言えます。
>>例外の変換プロセスには時間がかかり、問題になりやすいものです。また私たちはエラーコードやアサーションといった例外の代替手段が大きな障害になるとは考えていません。
コメント1件

39
デフォルトの名無しさん[sage]   投稿日:2016/07/12 01:36:55  ID:4M8hLvVe.net(12)
>36
Googleは特殊な事例があるからってだけだなw

もうネタ切れ? つまり例外を使うべきだよね。
(もう何度もやって答え出てること繰り返すのは面倒だ)

40
デフォルトの名無しさん[sage]   投稿日:2016/07/12 01:37:15  ID:M/oXbOZH.net(4)
>34
会社でどっちに倒すか?
ってなったら俺ならその場で対処だな

ロールバックの付いてないDBみたいな処理のが世の中多いと思う

例えば0割とかモノによってはその場で対処必須なものもやっぱあるわけで

どっちかに方針を統一しろって話になったら例外大ジャンプは取り返しがつかない事態を内包すると思う

まあ、概ね大丈夫ってのはわかるけどね
コメント1件

41
デフォルトの名無しさん[sage]   投稿日:2016/07/12 01:38:38  ID:M/oXbOZH.net(4)
文中の例えばは間違い

42
デフォルトの名無しさん[sage]   投稿日:2016/07/12 01:38:41  ID:4M8hLvVe.net(12)
>40
> 例外大ジャンプは取り返しが
だからさ、例外小ジャンプすればいいだけだろ

なんで使い分けられない?

43
デフォルトの名無しさん[sage]   投稿日:2016/07/12 01:45:58  ID:4M8hLvVe.net(12)
プログラミングやってて時たまいるんだが、
視野が狭いっていうか、何かをやれって言ったら、
それだけしかやらないやつな。

自分で適切なコードが何かがわからない。
マニュアル通りにしかコードをかけない。

そんなやつがいるんだよね。

例えば例外はちゃんとキャッチしろって言ったら、
はいはいわかりましたよって、すべての関数にtry-catchを入れる。
んで、え?あんたがキャッチしろっていったんでしょ?
だから全部入れてやったんですが?って言うようなやつ。
コメント1件

44
デフォルトの名無しさん[sage]   投稿日:2016/07/12 01:48:36  ID:umCvEWis.net(5)
>38
そこは俺も読んでるよ。
しかし俺は逆に「例外を使え」ってのを聞いたことないんだが、
日曜コードではなくて、マジの商用コードでそういう方針の所ってあるか?
コメント1件

45
デフォルトの名無しさん[sage]   投稿日:2016/07/12 01:55:35  ID:4M8hLvVe.net(12)
> しかし俺は逆に「例外を使え」ってのを聞いたことないんだが、

なんのために言語に例外なんて機能を追加していると思ってるんだ?

言語マニュアルを読めば例外はどういうときに使うもので、
どういう使い方をするか説明してあるだろ。
それにその言語のライブラリは例外使われてるだろ。

ごく普通に使われってるとおりに使えばいいだけ。

46
デフォルトの名無しさん[sage]   投稿日:2016/07/12 01:58:01  ID:4M8hLvVe.net(12)
まああれだ。C言語のしがらみがないライブラリで
例外を使っていないライブラリありますか?
という質問に答えてみればいい。

例外を使うのが自然すぎてわざわざ使えという話じゃないことがわかるはず。

47
デフォルトの名無しさん[sage]   投稿日:2016/07/12 01:59:34  ID:rBak2gB5.net(3)
>43
エラーと例外の処理 (Modern C++)
https://msdn.microsoft.com/ja-jp/library/hh279678.aspx

>>最新の C++ のほとんどのシナリオでは、論理エラーとランタイム エラーの両方を報告および処理する方法として、例外を使用することが推奨されます。
コメント7件

48
デフォルトの名無しさん[sage]   投稿日:2016/07/12 02:01:08  ID:rBak2gB5.net(3)
ごめん、まちがえた
>47>44

49
デフォルトの名無しさん[sage]   投稿日:2016/07/12 02:01:24  ID:4M8hLvVe.net(12)
>47
レスする相手は俺じゃないだろw

例外の使用が推奨ね。
当たり前だが。

50
デフォルトの名無しさん[sage]   投稿日:2016/07/12 02:21:04  ID:umCvEWis.net(5)
>47,48
情報ありがとう。頭だけざっくり読んだけど、詳細検討には時間がかかりそうだ。
googleのコーディングガイドでしれっと最後に
> Windowsのコードについては、このルールは例外です(シャレでなく)。
とあるのだが、Windowsで閉じている場合は環境が整備されているから
googleみたいな運用方法でも障害にはならないということなのかな?

大ジャンプが問題になっているけど、
現実的には大ジャンプ無しでの処理を強制するのなら例外を使う意味は無いよね。
例えば>17なら従来方式、

int result = Director.Create("C:\\testdir");
if (result==1) MessageBox.Show("入出力エラーが発生しました。");
else if (result==2) MessageBox.Show("想定外のエラーが発生しました。");

でもほぼ同じなわけでさ。当然そのMSのサンプルコードもthrowしている。
その点>15の方がそのMSのサンプルコードには似ている。
とはいえthrowするなってのは環境的な問題もあるとは思うんだが。
コメント1件

51
デフォルトの名無しさん[sage]   投稿日:2016/07/12 02:28:01  ID:SKMsT/RZ.net
>6
tryで囲む領域が大きくなると、どこでエラーが起きたか、わかりにくい

throwはややこしい。
一々、これは内側、これは外側の関数で処理するとか、変わるのはややこしい

LinuxのようなC言語だと、関数の下の方に、
リソース解放などの共通処理をまとめて、gotoでそこへ飛ばすようにするけど、
まあ、ややこしいプログラミングは避けた方がいい

仕事のプログラムは、個人のプログラムとは、書き方が違ってくる。
初心者・新入社員も入って来るから、自分だけがわかる書き方はダメ

52
デフォルトの名無しさん[sage]   投稿日:2016/07/12 02:33:58  ID:4M8hLvVe.net(12)
>50
そんな小さい処理で同じとか言われてもな。

resultって数字しか返せないだろ。
例外ならオブジェクトを返すことができる。
エラーとして返せる情報は無限大だ。
見つからないパスがどこか情報だって返せる。

あと自動で上に戻る機能。
とかさ、例外の機能をお前は理解してるか?
してないだろ。

なんでどの言語にも例外があるのかを考えよう。
必要だったから例外を作ったんだよ。
これぐらいは理解しろ。
理解したら、なぜ必要なのかの理由を調べろ。

53
デフォルトの名無しさん[sage]   投稿日:2016/07/12 02:36:15  ID:4M8hLvVe.net(12)
> throwはややこしい。
> 一々、これは内側、これは外側の関数で処理するとか、変わるのはややこしい

うん。馬鹿だからだと思うよw

処理する必要があるときだけ処理する。
それだけのこと。

っていうかさ、さっき俺が言ったことじゃん。
自分で何が適切かを考えられない。

マニュアルを用意してほしい、そのとおりにやりたい
自分で何も考えたくない。
やれって言われたからやりましたー。
だから俺の責任じゃないですー。

自分で考えることを何もしようとしない。

54
デフォルトの名無しさん[sage]   投稿日:2016/07/12 03:23:53  ID:umCvEWis.net(5)
>47,48
だいぶ読んだ。

どっちがいいかは結構微妙だと思うんだけどね。
結局の所全体ポリシーとして「例外」を考慮しないといけないし、もちろんRAIIも徹底してないと危険。
だから出来るだけスマポというのはその通りだけど、
言っちゃ悪いけどRAIIとスマポだけで行く気なら最初からGC言語使えばいいだけだし。
むしろGC言語でGCタイミングをユーザが完全に制御可能にして例外使いまくりというのが正解か?

ついでに教えて欲しいんだけど、下記URLにある
https://msdn.microsoft.com/ja-jp/library/hh279653.aspx
no-fail/strong/basic保証ってのは単なる知識として考慮しろって話であって、
コンパイラに型として指示してコンパイラ側で全部整合性をチェックしてくれるようなことはないんだよね?

どこまで処理するかにもよるけど、原因が分かってそれを通知出来ればいいだけなら、
むしろ「例外機構」の設計が必要になる分、無駄なような気も。
なんつーか、将棋ソフトの駒クラスの例外を設計しようぜ!みたいな。

例えば、
> 発生することのないエラーをチェックするには、アサートを使用します。
> 発生する可能性があるエラー (たとえば、パブリック関数のパラメーターにおける入力検証のエラーなど)
> をチェックするには、例外を使用します。(>47内URL)
つまり、将棋で言うと「二歩」「打ち歩詰め」は例外として処理しろってんだろ?
なんだかウザイだけの気が。(まあそれ以前に駒クラスが不要だが)

元々は正常処理と異常処理のコードを「見やすさ」の為に分離したいというところから来ているはずなのだけど、
その「見やすさ」を得る為に他も色々注意して設計しろというのは無駄/本末転倒だと思うね。
ただそのコストが環境整備によって極限まで低下したのであれば、それもありかとも思うけど。
それがWindowsの世界なのかなとはgoogleの付け足しから感じた。
コメント1件

55
デフォルトの名無しさん[sage]   投稿日:2016/07/12 04:39:01  ID:Vf+ZIi05.net(2)
Googleのスタイルガイドを読む限り、Windowsのコードの場合は独自性ガ強くて
どうにもならんところが多いからコーディング規則を逸脱しても仕方がないって感じだな
コメント1件

56
デフォルトの名無しさん[sage]   投稿日:2016/07/12 06:14:29  ID:4M8hLvVe.net(12)
>54
あんたが例外を使ったことがないから
例外がすごく使いやすいってことを知らないだけ。
何かと理由をつけて使いづらいってことにしたがってるだけだな。

戻り値だと注意が必要な場面がたくさんあるが、
例外だとさほど注意しなくても正しく動くアプリが作れる。
なにせ例外処理する必要が有るところだけ書けばいいからね。
すべて正しく書かないといけないC言語方式は大変。

57
デフォルトの名無しさん[sage]   投稿日:2016/07/12 06:16:12  ID:4M8hLvVe.net(12)
例えばC言語方式だと、
printfの戻り値までチェックしないといけない。

ちなみにprintfが失敗する例として書き込み不可能な
デバイスに標準出力をリダイレクトする等がある。

例外だとチェックしなくても書き込みができなかったときに
エラーで中断してくれる。

58
デフォルトの名無しさん[sage]   投稿日:2016/07/12 08:53:57  ID:3JVrmQRs.net
例外を「例外」だと思わないマが多すぎる
とくにJavaから来た人

59
デフォルトの名無しさん[sage]   投稿日:2016/07/12 10:05:30  ID:KWfKXhYB.net
ところでOOPと関係ある?

60
デフォルトの名無しさん[]   投稿日:2016/07/12 10:09:09  ID:3O9ex62E.net(2)
例外よりeitherの方が使いやすいよ
型安全だし
コメント2件

61
デフォルトの名無しさん[sage]   投稿日:2016/07/12 10:09:59  ID:ddtK31Ex.net
ここはOOだけやってんだろ?Pはスレ違いだしな。

62
デフォルトの名無しさん[]   投稿日:2016/07/12 10:10:01  ID:3O9ex62E.net(2)
例外よりeitherの方が使いやすいよ
型安全だし

63
デフォルトの名無しさん[sage]   投稿日:2016/07/12 11:43:29  ID:K7Zjf19C.net
>17はずれてるだろ

例外処理のメソッドを作った理由は「分割しなきゃならんほど複雑な処理している」からじゃなくて
「あちこちで発生する例外」を共通に処理するためだろ
だから当然再利用もしている
「catchすんのかthrowするのか」ってのも意味不明
コメント1件

64
デフォルトの名無しさん[]   投稿日:2016/07/12 20:39:39  ID:cQbnp1H7.net(2)
>63
意図を汲んでくれてありがとう

65
デフォルトの名無しさん[]   投稿日:2016/07/12 21:54:41  ID:cQbnp1H7.net(2)
>26
規約も規則もないみたいで好きに作っていいっていわれたからこう作った。
https://ideone.com/g1uE5d
ちなみにローカル環境でしか動かさないツールだから例外処理はログ出力ぐらいでしか
使わない。
ツールが落ちないようになってるならthrowしちゃいけない理由も特にない。
そうしたらなんでこういう風に作るの?はぁ、ちゃんと見ておけばよかっ、た。
って言われて、レビューとヒアリング聞いてみたの結果これが最適解だった。
コメントは言われたこと少し載せてみた感じ。
https://ideone.com/lbl7VW
これで伝わる?
多少おかしなとこあったとしてもそんなに意味わかんないことしたのかな。
ややこしい?
ファイル作るのにファイル名抜けてたりなんだりしてるけど黙殺してくださいごめん。
コメント4件

66
デフォルトの名無しさん[sage]   投稿日:2016/07/12 22:51:05  ID:StomlD/Y.net(4)
う〜ん、PG歴2年目くらい?
コードをたくさん書きたいお年頃的な
なんつーかクドい

下のコードで必要十分に見えるよ

>予期せぬ値って何?想定があるの?必要?(笑)
同じ感想でワロタ
コメント2件

67
デフォルトの名無しさん[sage]   投稿日:2016/07/12 22:57:14  ID:aSzJV8SF.net
普通に書け
普通に
オリジナリティなんていらねえんだよゴミが

68
デフォルトの名無しさん[sage]   投稿日:2016/07/12 23:25:13  ID:umCvEWis.net(5)
>55
最後の「ルールの例外」からするとそんな感じだな。
夜はそこまで読んでなかったわ。

>60,62
大事なことなので?
ってのはさておき、それについても布教用のドキュメントはあるのか?(例>47)
ググッてもいまいち出てこないんだが。

>47,48
こんな記述を見つけた。これって何言語か知らないか?
> 言語によっては基本保証やno-fail保証を静的に解析可能なものがあります。
> いくつかの言語ではno-fail保証をそのまま言語レベルでサポートしています。
> コードを静的に解析することでno-fail保証を約束するものもあります。
> また、基本保証を強制している言語や機構があります。
http://qiita.com/Kokudori/items/987073d59529b6c9a37c
コメント2件

69
デフォルトの名無しさん[sage]   投稿日:2016/07/12 23:28:42  ID:VAaNpcds.net
>66
初心者であるとかお年頃であるとか
そーいうのじゃない可能性もあるな

文章にしたって簡潔に書けない人おるやろ
あの手の人は死んでも直らない

70
デフォルトの名無しさん[sage]   投稿日:2016/07/13 00:20:45  ID:7t1kL6eB.net(2)
>68
Eiffelみたいな契約プログラミングによる保証か、
https://ja.wikipedia.org/wiki/契約プログラミング
もしくは、
C++11のnoexceptのような仕組みかな
http://cpprefjp.github.io/lang/cpp11/noexcept.html
コメント1件

71
デフォルトの名無しさん[sage]   投稿日:2016/07/13 00:26:34  ID:C7S+nyqs.net(2)
noexceptでヌルポったらどうなるん?
コメント1件

72
デフォルトの名無しさん[sage]   投稿日:2016/07/13 00:44:09  ID:yKl3ljrD.net
>68
>60のはHaskellのEitherモナドのことを言っていると思われ
http://itpro.nikkeibp.co.jp/article/COLUMN/20090210/324443/
一応、C++やC#でそれっぽいコードを書いている人はいるみたいだが……

>71
例外が投げられたら、std::terminate()が呼ばれて終了

73
デフォルトの名無しさん[]   投稿日:2016/07/13 00:48:21  ID:wcqcmuYS.net
>66
共通の例外処理を繰り返したくないと書かれてるじゃん
読解力がない上に自分の意見を押し付けるってさあ…

74
デフォルトの名無しさん[sage]   投稿日:2016/07/13 00:49:32  ID:uq0wU9fp.net(6)
>65
おー書いたか、ご苦労さん。
俺が想定したものとは異なるが、それ以上に情報を含んでいたので、
レビューの様子もよく伝わったぜ。

まあ感想は他の連中と同じだな。
君は難しいコードを書いている。だから駄目なんだよ。
張り切って色々やろうとしているけど、それが駄目なんだ。
手を抜くことには努力を惜しまないってのが優れたプログラマだろ。
少なくともそのレビューと上司はまともだから、言うことを聞いた方がいい。

その上司のコードが何故いいか?それは簡単だから。
構造が単純だから、ぱっと見たらちゃんと動くことが分かる。
それに対して、君のコードはちゃんと動くかはよくよく見ないと分からない。

上司のコードは「自分で処理出来る例外はcatch、それ以外は放置」というポリシーだから、
基本的に下から上がってきた例外は「予想外」として落としている。
つまり例外ツリーは単純なツリー構造で、
このポリシーさえ守れば今後とも簡単に処理を追加出来る。
そして処理も基本的に上から下に処理されるだけだ。単純明快でいい。

対して君のコードは、そうじゃない。
よくよく読まないと果たしてちゃんと動くかどうかも分からない。
そして追加するにしても君が作ったクラスを全部知ってからでないと追加出来ない。
つまり、やることが増えすぎているし、密結合になっている。
対して減らせたのはせいぜいDirectry/Fileの例外の被り部分だけだろ。
それは明らかに設計コストを増してしまっている。

75
デフォルトの名無しさん[sage]   投稿日:2016/07/13 00:50:08  ID:uq0wU9fp.net(6)
多分勘違いしているのだと思うし、実際そういう奴も多い気もするが、
ベタに書くのが悪いとか、同じようなコードが2箇所に出現するのが悪いとか、
そういう単純な問題ではないんだ。
分かりやすく言えば、
「そのコードを初めて渡されて、ああこのコードはちゃんと動くだろうねと分かるまでに、何秒かかるか」
について最適化しろということなんだよ。
当たり前だが全く同じ内容がダブってたら読むのに2倍かかるから、
それはループなり多態なりして一つに減らせってことになる。
だけど無理に多態したりして「コードを追う手間」が増えるようでは駄目なんだ。

その上司のコードはさらっと読んだだけで動くのが分かる。
でも君のコードはあちこち追い回さないと動くかどうかも分からない。

もちろん君が書いたコードだから、君のコードを君が読むのには苦労しないだろう。
だからもし君に同様の同僚がいて、同様に駄目出しをくらっているのなら、
その時の両方のコードを君が初見で読みこんで、
その構造と動くかどうかを把握するまで何秒かかるかを比較してみればいい。

76
デフォルトの名無しさん[sage]   投稿日:2016/07/13 00:53:31  ID:2JhFq5Nw.net(11)
>65
まずMain関数はこれだけだ。
これ以外不要。

public class Test {
 public static void Main() {
  try {
    CreateTempFile("targetPath");
    MaggageBox.Show("一時ファイルが作成されました");
  } catch(XXXException e) {
    MaggageBox.Show(e.Message);
  }
 }
}
コメント1件

77
デフォルトの名無しさん[sage]   投稿日:2016/07/13 00:59:57  ID:2JhFq5Nw.net(11)
CreateTempFileの中身はこうだな

void CreateTempFile(string path) {
 String directory_path = ディレクトリのパス(path);
 Directory.CreateDirectory(directory_path);
 File.Create(path);
}

ディレクトリやファイル作成時にExistsなんてやる必要ない。
Existsのチェックした後に、他プロセスから作成されることもある。
「チェック→実行」のパターンはロック機能がない限りたいていアンチパターン。

78
デフォルトの名無しさん[sage]   投稿日:2016/07/13 01:03:40  ID:2JhFq5Nw.net(11)
結局のところこの程度であればMainに全部入れてもよい良い

public class Test {
 public static void Main() {
  try {
    String path = "targetPath";
    String directory_path = ディレクトリのパス(path);
    Directory.CreateDirectory(directory_path);
    File.Create(path);
    MaggageBox.Show("一時ファイルが作成されました");
  } catch(XXXException e) {
    MaggageBox.Show(e.Message);
  }
 }
}

このコードを出発点としてだ。
メッセージを変えたいのであれば、
メッセージだけを変えるように工夫すればいい。

Mainに全部入れても良いと言ったが、CreateTempFile()という1関数で実行したいならそれもあり
その場合、CreateTempFile()でメッセージを変えたい例外だけトラップして
メッセージを置き換えて投げ直すだけで、Main関数は>76のようにシンプルのままでいられる。

79
デフォルトの名無しさん[]   投稿日:2016/07/13 01:19:00  ID:OE4fGXcq.net(3)
なにこのキモいスレw

80
デフォルトの名無しさん[sage]   投稿日:2016/07/13 02:08:26  ID:uq0wU9fp.net(6)
>70,72
情報ありがとう。

> 契約プログラミング
考え方はよしとして、大して採用されてないのは効果がいまいちだったのかな?

> noexcept
お?これはなかなか良い感じ。

ついでにそこから辿れる以下も読んだが、こちらも例外を有効活用しようとしている。
(より正確に言えば、例外を有効活用する時のライブラリの作りについてだが)
http://boostjp.github.io/archive/boost_docs/document/generic_exception...
例外の文法を使えば、確かに表現力は上がる。それは事実だが、ここに書いてあるように、
当然STLや自前クラスがどの例外保証を持っているかすべて把握してないと駄目だし、
完全活用するとなるとなかなか難しい気がするね。
(プログラミング時に把握しなければいけない項目が増える)

> HaskellのEitherモナド
Haskellの知識はないのでとりあえず日本語部分だけ読んでみたが、
この読み方では有効かどうかは判定不可能だorz
> C++やC#でそれっぽいコード
このURLをくれればすごく助かります。
コメント1件

81
デフォルトの名無しさん[sage]   投稿日:2016/07/13 02:16:26  ID:2JhFq5Nw.net(11)
> 当然STLや自前クラスがどの例外保証を持っているかすべて把握してないと駄目だし、

例外保証ってなんや?

その例外保証があるかどうかわからんものが
戻り値でエラーを返したら、それを保証してくれると
思う根拠は何や?

気をつけることがあるとしたら、それは戻り値でも同じだし
正常処理とエラーを、一つの戻り値(変数)に入れる分
複雑度は上がるんだぞ。

82
デフォルトの名無しさん[sage]   投稿日:2016/07/13 03:23:41  ID:vjGvgzcz.net
>65
ディレクトリを作れない時に、throwして外のスコープに飛ばすのは、ややこしい。
そこでエラー処理できる

外のスコープから見ても、内側からも、throwしてくると考えると、
考える組み合わせ数が増える。
組み合わせ爆発を避けるため、早期に枝切りすべき

また、内外のスコープで、情報を共有するため、
Commonというグローバル変数もどきを、作らざるを得ないから、
内外の関数が、密結合を起こしてしまっている

修正・保守していくうちに、こういうのがいずれ、スパゲティ・泥団子へと成長していき、
誰の手にも負えないようになっていく

83
デフォルトの名無しさん[sage]   投稿日:2016/07/13 06:01:23  ID:QAw5IbxT.net
>65
的確な指摘じゃない?
どうみても下の方が出来がいい

84
デフォルトの名無しさん[sage]   投稿日:2016/07/13 06:22:04  ID:7t1kL6eB.net(2)
>80
>契約プログラミング
C++だとBoost.Contract
.NetだとSystem.Diagnostics.Contracts
があるね
使ったことないけど

>例外保証
なんか、まじめに考え過ぎな気がする
どのクラスがどの例外保証を持っているかなんて、気にして書いている人なんていないんじゃないか
(と、言うとちゃんとやってる人に怒られそうだが)

例外安全、例外耐性を考慮して、きれいにやるなら把握しているに超したことはないけれど
基本的には「いちいち戻り値でエラー判定するのが面倒。戻り値だとエラー判定忘れることがある(アプリがエラー状態のまま動き続けてしまう)。例外をつかえばそれらを簡単に回避できる」くらいの感覚で使われてるんじゃないかな

例えばオブジェクト指向でクラス設計するときはSOLID原則を意識することはあれ、
そこまで厳密に遵守して書かないし、他人の書いたクラスがSOLID原則に則ってるかなんて気にしないでしょ?

それに今時の言語なら標準ライブラリが例外を投げるから、それらを使うなら自分のコードでも例外を使うことで
「このコードでは、エラーは常に例外で通知する」という一貫性が生まれる

プログラミングにおいて一貫性は重要だ
先日のGoogleのスタイルだと「例外を使わない」という点で一貫性がある

もちろん、現実世界ではそんなにすべてうまくいかないから
必要があれば戻り値のエラー通知を部分的に使うのはかまわないと思うよ
.Netにも例外を投げるInt32.Perseと投げないInt32.TryPersreの2種類があるし

>Either
"C++ Either"や"C# Either"でググれば「書いてみた」系のブログが引っかかる
コメント3件

85
デフォルトの名無しさん[sage]   投稿日:2016/07/13 07:23:43  ID:L2fL/y00.net
おはようございます!
ご回答ありがとうごさいました。
そうかー難しいのか。
難しいということはたまに言われますが、なにが難しいのかわからなくていつも悩んでいるので、自分は設計には向いていないのかもしれません。
下流で頑張ります。
皆さんも今日一日頑張ってください!
それでは!

86
デフォルトの名無しさん[sage]   投稿日:2016/07/13 09:37:32  ID:2JhFq5Nw.net(11)
>84
> .Netにも例外を投げるInt32.Perseと投げないInt32.TryPersreの2種類があるし

名前が重要なんだよ。(ちなみにParseな)

例外を使ったときのメリットは、関数の名前通りの戻り値にできるってこと。

Parseはパースするんだよ。だから戻り値はパースした結果であり
エラーを戻すことはない。パースできなければ例外。

TryParseはパースすることをトライするんだよ。だから戻り値はトライした結果。
もしトライすることすらできなければ、それは当然例外。

その2つは、例外を投げるかどうかの違いじゃなくてやる処理の違い。
そしてどちらもやるべきことができなければ、例外を返す。
コメント1件

87
デフォルトの名無しさん[]   投稿日:2016/07/13 19:05:13  ID:OE4fGXcq.net(3)
そんなに力説するほどの事か?w
コメント1件

88
デフォルトの名無しさん[sage]   投稿日:2016/07/13 21:38:19  ID:2JhFq5Nw.net(11)
>87
これは力説するほどのことだよ。
なぜなら可読性の話だから。

英語わからんとか、ソースコードを命令の並びだとかしか
認識してないレベルの人にはわからないだろうけど、
ソースコードは読むもの。

読みやすさを大きく左右する要素の一つが、
適切な名前をつけているかどうかだから。

たまに適当な関数名つけてる人がいるけど、ほんとやめてほしい。
適当な単語を並べただけじゃソースコード読めないから。
名前から意味がわからないから、中の処理を読んで解析しないといけなくなる。

89
デフォルトの名無しさん[]   投稿日:2016/07/13 21:54:55  ID:OE4fGXcq.net(3)
それなら問うが
Parseが返すパーズした結果とは何ぞや?
TryParseが返すトライした結果とは何ぞや?
俺には名前だけではさっぱり分からんのだが
これがお前の望む適切な名前とはとても思えんのだがw
コメント2件

90
デフォルトの名無しさん[sage]   投稿日:2016/07/13 22:01:55  ID:lnUCd6s/.net
>89
友情努力勝利に決まってるだろ

91
デフォルトの名無しさん[sage]   投稿日:2016/07/13 22:31:57  ID:oLxbX2RO.net
正直TryParseで変換できちゃうのはちょっと気持ち悪い

92
デフォルトの名無しさん[sage]   投稿日:2016/07/13 22:44:01  ID:uq0wU9fp.net(6)
>84
例外をエラー通知として使う分にはその辺は知らなくていいんだよ。
ただ、例外で復旧させようとするのなら、その辺を全て把握する必要がある。
そして彼等はそれにも耐えられるようにSTLを整備しようとしている。
それは無駄なコストを発生するから、それについて彼等も議論しているわけだ。

ただ、今見た限りはまだ環境が追いついていないね。(ドキュメントが出来ていない)
偶々このページを見ていただけだから、unordered_map自体に意味はないけど、
http://en.cppreference.com/w/cpp/container/unordered_map
個々のメソッドには例外発生時の動作が書いてあるけど、本体のページに纏まっていない。
だからunordered_mapを使ったらどの例外安全になるのかを確認する為には、
全部のメソッドを確認するしかない。
大半の奴は確認もせずに「例外を使った方が安全です」と信じているだけだろう。

例外を活用しようとなると、既に書いたように、大ジャンプを避けられない。
その場でいちいち判定するだけなら、余計に汚らしくなるだけだ。
ただしこれについては速度面ではtry/catchの方が上だと指摘されているし、
表面上のコード量では確かにそうだ。
とはいえ、x86に於いては分岐予測+投機実行なので、
ほぼ常に通らないパスのif-elseifについては、
気になるのなら1段目で切ってしまえば速度低下はしない。(if (result>0))

93
デフォルトの名無しさん[sage]   投稿日:2016/07/13 22:44:36  ID:uq0wU9fp.net(6)
> 必要があれば戻り値のエラー通知を部分的に使うのはかまわないと思うよ
個人的にはTryParseをよく使っている。それで十分だから。
必要性はない。try/catchでも書ける。

戻り値判定の場合は、その場での処理が強要される。
結果、65の上司型のコードしか書けない。
実際にあのコードを戻り値判定に変換するのも簡単だ。
この使い方をする場合は好みの問題でしかない。

一方、例外を用いれば、65がやろうとした「積極的にthrowして統合的に扱う」ことも出来る。
戻り値判定でこれをするのは大変なことになるので、これをしてこそ活用だと言える。
とはいえ、これがろくな事になる気配が全く感じられない。

ちなみに、言語的な例外復旧能力に必ずしも頼る必要はない。
上位レベルでの復旧も実は簡単だからだ。
例えばTryParse、ファイルから読むのならソースは保持する必要がない。
Seek出来ないネットワークストリーム等なら、MemoryStreamに一旦受ければいい。
JSONみたいに階層ありオブジェクトを丸々生成するのなら、成功した後に差し替えればいい。
これらの場合は、ロールバックを上位で行うことはほぼ自然に出来てしまうので、
結果的にSTLが実装した例外機構の為に無駄に税金を払う事にしかならない。
この点を修正しようというnoexceptはC++っぽくていいが、
なるほどこんな事をやっているうちは生Cを駆逐することは出来ないだろう。

94
デフォルトの名無しさん[sage]   投稿日:2016/07/13 22:45:05  ID:uq0wU9fp.net(6)
生Cはある意味世界がno-fail保証されている。
そして失敗した場合は上記のように自前で戻すか、諦めるしかない。単純な話だ。
ロールバックする気なら、この点については例外で処理した方がコード的には楽だ。
しかし実行効率ではどうやっても生Cの方が上になる。何もしてないコードだからだ。
生Cは世界が単純に出来ている。あまり気にしたことはないが、これは大きな利点だね。
言語がシンプルな結果、シンプルな記述を強要され、結果的に65のようなコードを記述出来ない。
65みたいな「考えすぎておかしくなっている奴」には生Cギプスが効くかもしれない。

> .NetだとSystem.Diagnostics.Contracts
以下を見る限り、型についてのTDDみたいな感じだな。
静的チェックが出来るのはいいね。ただ、流行るかと言われれば微妙かな。
https://visualstudiogallery.msdn.microsoft.com/1ec7db13-3363-46c9-851f-1ce455f66970

> C++ Either
以下でいいか?
http://faithandbrave.hateblo.jp/entry/2014/05/30/153325
つまりは例外を呼ばずに値として埋め込みたいだけか。
関数型で組んだ場合には個々の要素で例外呼ばれても困るから、そりゃこうなるだろう。
そういった意味ではC++の例外機構は「手続き型」にしか対応してないね。
そこですぐ呼ばれる前提だ。

他の関数型言語の例外機構ってどうなっているんだ?知ってたらよろしく。
Haskellがこの手で値埋め込み、後でユーザ側で確認するというのは分かった。
なおJavaScriptは0割は無限大になるというお気楽仕様だ。
当初は驚いたが、正直これで問題ないよなとも思う。
コメント2件

95
デフォルトの名無しさん[sage]   投稿日:2016/07/13 22:58:10  ID:2JhFq5Nw.net(11)
>89
> Parseが返すパーズした結果とは何ぞや?

正しくはInt32.Parseなんだから当然Int32だろw
Int32に変換した結果を戻す
(変換できなければ戻さない)

> 俺には名前だけではさっぱり分からんのだが

あー、うん。クラス名が先に作ってことに
気づかなかったのねw
>86で引用してる>84にかいてあんだろ。
気づけよw

96
デフォルトの名無しさん[sage]   投稿日:2016/07/13 23:09:44  ID:jyyAd6hv.net(3)
Int32.Parse だからといって、必ずInt32が返るとは限らないだろ
おまえは、human.age()で必ずhumanが返ると考えるか?
コメント1件

97
デフォルトの名無しさん[sage]   投稿日:2016/07/13 23:11:23  ID:2JhFq5Nw.net(11)
>94
> なおJavaScriptは0割は無限大になるというお気楽仕様だ。

いや、お前、例外っていったら0除算しか思いつかんのかよw
eval("{") とか実行してみろ。JavaScriptは例外を使う言語だ。

0以外の数値を0で割ったら無限大になるのは数学的に正しい。
JavaScriptが無限大を扱える言語ってだけだ。
もちろん数学的に正しいことをやっているから、 0 / 0 は NaN (非数)になる。
少なくともこの点は、お気楽ではなく高度な言語だと言える。

もっともJavaScriptに例外が搭載されたのはJavaScript 1.4(1999年あたり)からだけどな。
それ以前は(エラーを戻り値で返すのではなく)スクリプトが停止され
window.onerrorイベントが呼ばれたんだっけな?もう忘れたが。

98
デフォルトの名無しさん[sage]   投稿日:2016/07/13 23:11:30  ID:jyyAd6hv.net(3)
いっとくが、human.age()で必ずintが返るとは限らないからな
もしかしたらageオブジェクトが返るかもしれないからな

99
デフォルトの名無しさん[sage]   投稿日:2016/07/13 23:12:49  ID:2JhFq5Nw.net(11)
>96
> Int32.Parse だからといって、必ずInt32が返るとは限らないだろ
> おまえは、human.age()で必ずhumanが返ると考えるか?

Parseとageで関数名が違ってるじゃんw
名前で返すものが決まるって言ってんだろ。

human.parseだったら、human返すんじゃねーの?

100
デフォルトの名無しさん[sage]   投稿日:2016/07/13 23:13:53  ID:jyyAd6hv.net(3)
>human.parseだったら、human返すんじゃねーの?

そんなの思い込みだろ
ヒューマンパーズオブジェクトが返るかもしれないだろ
コメント1件

101
デフォルトの名無しさん[sage]   投稿日:2016/07/13 23:18:25  ID:2JhFq5Nw.net(11)
>94
> 他の関数型言語の例外機構ってどうなっているんだ?知ってたらよろしく。

関数型で戻り値でエラー情報なんか返したら
大混乱になるわw

関数呼び出しの中の、関数呼び出しの中の、関数呼び出しの中の、関数呼び出し で
エラー情報が返ってきたら、if式による分岐の嵐でもはや
関数型言語のように見えないだろうね。
コメント1件

102
デフォルトの名無しさん[sage]   投稿日:2016/07/13 23:22:40  ID:2JhFq5Nw.net(11)
>100
> ヒューマンパーズオブジェクトが返るかもしれないだろ

ほらね? 何が返るか想像できてるじゃんw

Int32.Parseじゃ何を返すかさっぱりわからないって言ってるから
それが間違いだよって話。

なにも100%完全に返り値の情報がわかるなんて言ってないんだよw
コメント1件

103
デフォルトの名無しさん[sage]   投稿日:2016/07/13 23:36:52  ID:C7S+nyqs.net(2)
型を見りゃいいだろ

まさかこのスレに居ながら、屁臭いペチプ〜やゴミのペールやペールの糞からひり出されたルビーや・・・そんな糞まみれのウンコ野郎はおるまいね?

104
デフォルトの名無しさん[sage]   投稿日:2016/07/14 00:31:59  ID:4Ps/X1K6.net
>102
いやお前それ苦しいだろ

>ほらね? 何が返るか想像できてるじゃんw

想像?
思い込みでしょ
ヒューマンパーズオブジェクトが返るかもしれない、とは書いたが
実際には何が返るかわからないから、そう書いただけであって
どうせ、仕様を調べなきゃならないんだよ
コメント1件

105
デフォルトの名無しさん[sage]   投稿日:2016/07/14 01:02:32  ID:9qkjMq+e.net
>104
言うと思ったw

でお前これから先仕様なんて調べるの?
調べないよね。もう覚えてしまったから。
あとは文字を見れば思い出すはずだ。

適切な名前があると覚やすいっていうのはこういうこと。

106
デフォルトの名無しさん[sage]   投稿日:2016/07/14 01:31:15  ID:rhZMoeJF.net
>101
>関数型で戻り値でエラー情報なんか返したら
>エラー情報が返ってきたら、if式による分岐の嵐でもはや

ifの分岐しないためにfunctorだのアプリカティブだのmonadだのtraverseがあるじゃん?
try1 >=> try2 >=> try3 >=> ... tryN
みたいので「成功するまで処理を続けて失敗したら例外情報をもって途中で抜ける関数」を作れるし
こういう合成力は関数型の強み

107
デフォルトの名無しさん[]   投稿日:2016/07/14 06:27:39  ID:cfi8dg7p.net(2)
自分の思い込みの通りなら良い設計良いコードw

108
デフォルトの名無しさん[sage]   投稿日:2016/07/14 07:26:28  ID:xgZTwt3g.net
正しく意図した通りに騙してくれるなら
明らかに良いコードだろ
頭のてっぺんからケツのシワまで数え上げてようやく読解できるコードが糞じゃなきゃ何なんだ

109
デフォルトの名無しさん[]   投稿日:2016/07/14 07:44:38  ID:cfi8dg7p.net(2)
クソの主観によりクソ認定されたコード達w
本当は良い奴も沢山いただろうに不憫だわーw

110
デフォルトの名無しさん[sage]   投稿日:2016/07/14 08:31:57  ID:qme/E7bl.net
車輪の再発明しか出来ない人がいると聞いて。

111
デフォルトの名無しさん[sage]   投稿日:2016/07/15 23:14:34  ID:/IkQTUfk.net
DAO とかDTO ってのが出てくるアーキテクチャは手続き型であって、オブジェクト指向ではない

ってのが解る人ここにいるか?
コメント3件

112
デフォルトの名無しさん[sage]   投稿日:2016/07/15 23:20:25  ID:sS/v2c9e.net
そんな嘘ついちゃいけないんだお

113
デフォルトの名無しさん[]   投稿日:2016/07/15 23:39:15  ID:iR/HdeCl.net
今の日本人は>111みたいな馬鹿が普通なんだお
コメント1件

114
デフォルトの名無しさん[sage]   投稿日:2016/07/21 22:59:46  ID:6Fy4Bz7m.net
>113
やはり解る人はいないか
DAOやDTOってのはデータと処理を分離するから手続き的なんだがなぁ
コメント1件

115
デフォルトの名無しさん[sage]   投稿日:2016/07/21 23:36:49  ID:vaQfL518.net
オブジェクト指向なのはEntityを使ったタイプのO/Rマッパーだね。
Railsとかもそう。DAOやDTOなんてのは出てこないで
データベースがオブジェクトにそのままマッピングされる。

116
デフォルトの名無しさん[sage]   投稿日:2016/07/22 08:12:39  ID:OQdSZmk7.net
抽象化が過ぎて解る人がいないだけ

117
デフォルトの名無しさん[sage]   投稿日:2016/07/22 18:14:47  ID:fQzF4pQd.net
>111
主張が良くわからない。

http://www.nulab.co.jp/designPatterns/designPatterns3/designPatterns...
に出てくる例と説明にそって、論を展開してみてくれ。

118
デフォルトの名無しさん[]   投稿日:2016/07/30 00:56:46  ID:crIAC8Sk.net(2)
言いたいのは単純に

DAO/DTO

オブジェクト指向論で定義されたものじゃない。
オブジェクト指向で実装されただけで、これらを使うには手続きが必要だ。

それだけだろ。
コメント1件

119
デフォルトの名無しさん[sage]   投稿日:2016/07/30 02:56:03  ID:YgaIk6dE.net
んなことゆーたら全部手続きですやんける
コメント1件

120
デフォルトの名無しさん[sage]   投稿日:2016/07/30 02:57:31  ID:6YLFMraq.net
>119
程度の問題

121
デフォルトの名無しさん[sage]   投稿日:2016/07/30 03:07:28  ID:crIAC8Sk.net(2)
単に>114が知ったかぶりしたいだけだろ。
>111の段階で明らかだし。

122
デフォルトの名無しさん[sage]   投稿日:2016/07/30 08:02:13  ID:gkAo/Cig.net
>118
逆だろ
使うのはオブジェクト指向にするためで
その実装の中身は程度の差こそあれ
DBを相手にする以上手続き的にならざるを得ない

123
デフォルトの名無しさん[]   投稿日:2016/07/30 08:03:21  ID:cz6waps9.net
知ったかぶりにすらなってなくて意味のない単語の羅列にすぎん

124
デフォルトの名無しさん[]   投稿日:2016/08/04 16:27:41  ID:pdTKskF+.net
クラスの中に別のクラスをコンポジットしてあり、
そのクラスの中にも別のクラスをコンポジットしてあり…という場合、

最下層のクラスに必要な値を入れるために何度もメソッドを経由するのが大変なのですが
オブジェクト指向ではこれが普通なのでしょうか?

カプセル化せずに
outerClass.middleClass.innerClass.set_value(100);
とした方が楽だと思うのですがまずいでしょうか?
コメント2件

125
デフォルトの名無しさん[sage]   投稿日:2016/08/04 19:08:09  ID:w6fnMNqO.net
別に良いけど
innerClass.set_valueが呼ばれて値が変更されたときに
変更されたことをouterClassやmiddleClassに通知する仕組みが必要になるかもしれないよ
この場合、余計にややこしくなる

そのほかのディメリットはカプセル化しないことで発生するディメリットと同じ

126
デフォルトの名無しさん[sage]   投稿日:2016/08/04 20:37:30  ID:jTAWnEUa.net
>124
O/Rマッパーを使うからそういう処理は
勝手にやってくれる。

127
デフォルトの名無しさん[sage]   投稿日:2016/08/04 22:17:26  ID:9BD7w8j0.net
>124
更に言えば
実装方法としても、set_valueは分かり難いし楽でも何でもない
あえてやるなら
outerClass.set_value(key, value)とか?
コメント4件

128
デフォルトの名無しさん[sage]   投稿日:2016/08/04 22:24:04  ID:dkWDRS+N.net(5)
>127
最低のやり方だな
そのk,vのMap、実行するまで完全なブラックボックスになるじゃん
死んで、どうぞ

129
デフォルトの名無しさん[sage]   投稿日:2016/08/04 23:34:15  ID:dkWDRS+N.net(5)
>127
くっせ〜なホント
こういうペチプ〜崩れの塵屑見ると延髄チョップからのバックドロップ食らわせてやりたくなるわ
まじな。死ね。

130
デフォルトの名無しさん[sage]   投稿日:2016/08/04 23:36:44  ID:dkWDRS+N.net(5)
なんでもarrayにしときゃいいと思ってるド低脳
チンパンジー以下のサルゥ
ほんとつっかえ・・・

131
デフォルトの名無しさん[sage]   投稿日:2016/08/04 23:37:05  ID:dkWDRS+N.net(5)
>127
血染めの赤にしてやる
死ね

132
デフォルトの名無しさん[sage]   投稿日:2016/08/04 23:46:15  ID:dkWDRS+N.net(5)
>127
おら何とか言えよゴミ
ID変わるまで逃げるのか?
ほんまつっかえゴミくずやな〜

133
デフォルトの名無しさん[sage]   投稿日:2016/08/05 07:18:34  ID:ZdrtHNhg.net
イコール代入するなら、最後は明示されたセッター呼ぶのは中途半端な気がする。

各クラスにユーティリティメソッド実装できるなら、
outerClass.getNodeFromPath("middleClass.innerClass").set_value(xxx)
とか取得関数持っちゃうと、文字列だけ不細工だけどなんとでもなったりするんじゃないかな。

134
デフォルトの名無しさん[sage]   投稿日:2016/08/05 10:32:18  ID:VlcB2rw7.net
結論
余計なことはするな

135
デフォルトの名無しさん[]   投稿日:2016/08/10 22:14:29  ID:UWZg55pn.net
株式会社TOUAが2016年7月に破産
http://www.tdb.co.jp/tosan/syosai/4191.html
コメント1件

136
デフォルトの名無しさん[sage]   投稿日:2016/08/11 00:00:42  ID:0L+mrDki.net
>135
派遣会社ってピンハネしかしてないのに潰れるの?
コメント1件

137
デフォルトの名無しさん[]   投稿日:2016/08/11 00:16:35  ID:OU7OxTj6.net
>136
トウアは仕事をしない、仕事ができない人間を抱えすぎていたのと、資金がもともとないのにオフィスを分散させたり、複数社のグループにしていたせいで効率が悪かった。

これは会社を大きく見せたい人間が社長の会社の典型的なパターン。

中間搾取でも取引先の支払いが遅いと資金が足りなくなって破たんする。

最後はとにかく仕事を増やして乗り切るつもりだったんだろうけど追いつかなかったんだろうな。

プロパーのレベルが低いのは、賢いSIer、ユーザー企業も分かってたし、仕事をここの下請けに丸投げ、押し付けているのも分かるから仕事が取れなくなっていた。

ドコモあたりのアホ企業頼みだった。

138
デフォルトの名無しさん[sage]   投稿日:2016/09/10 13:15:16  ID:twqmh/TK.net
予想通り、誰もいなくなったのね。

139
デフォルトの名無しさん[sage]   投稿日:2016/09/10 15:03:56  ID:+QFLkWhC.net
static Koma.move() の頃がおまいら一番輝いてたね}

140
デフォルトの名無しさん[sage]   投稿日:2016/09/17 22:40:32  ID:hd6Wyy09.net
人の意見を聞かずにバッサリ切り捨てる、典型的な2ch脳な人が
のさばり出した時点で離れた。


141
デフォルトの名無しさん[sage]   投稿日:2016/09/19 10:09:43  ID:bJUofi69.net
それぞれに結論がでてる状態なんだろ?
俺も一連のやりとりでオブジェクト指向ってやっぱりクソだなって再認識した

142
デフォルトの名無しさん[sage]   投稿日:2016/09/19 11:03:13  ID:KUojTFe6.net(4)
やっぱり誰でもわかる手続き型がナンバーワン

143
デフォルトの名無しさん[sage]   投稿日:2016/09/19 12:18:29  ID:0K/woKyj.net
手続き型は誰でもわかるが工数が多すぎてな
ビジネスでやる以上工数は節約しなきゃ

144
デフォルトの名無しさん[sage]   投稿日:2016/09/19 12:59:11  ID:KUojTFe6.net(4)
誰でもわかる明朗なコードを書かなくてはいけない
ビジネスだからこそ、手続き型がナンバーワン
ビジネスは君の趣味ではない

145
デフォルトの名無しさん[sage]   投稿日:2016/09/19 13:02:51  ID:xTk+6xzH.net
ビジネスだからこそお荷物は解雇しなきゃならない
ある程度の能力のある人間が工数を減らせる手法で開発する
工数の掛かる手続き型しか書けない読めない人は解雇するべきビジネスだから

146
デフォルトの名無しさん[sage]   投稿日:2016/09/19 13:08:18  ID:KUojTFe6.net(4)
趣味をビジネスに持ち出すオタクはNGですよ、これ常識w

147
デフォルトの名無しさん[sage]   投稿日:2016/09/19 14:10:27  ID:VkQagIEW.net
成長しない新米プログラマをいつまでも傭い続けるわけにはいかない
ビジネスってさボランティアじゃないんだよね

148
デフォルトの名無しさん[sage]   投稿日:2016/09/19 14:18:05  ID:KUojTFe6.net(4)
で、君らはまたstatic final Koma.move(int kyori)すんの?

149
デフォルトの名無しさん[sage]   投稿日:2016/09/19 14:29:03  ID:AFsKEmAF.net
回り将棋ならいいかもしれない

150
デフォルトの名無しさん[]   投稿日:2016/12/27 23:00:43  ID:DbM4OtJE.net(2)
ViewModelってどのレイヤーに属するんだ?
Viewに関する知識はないからUIレイヤーではないだろう
ビジネスルールに関する知識は必要だからドメインレイヤー?

151
デフォルトの名無しさん[sage]   投稿日:2016/12/27 23:06:49  ID:+TUrL10Q.net(2)
UIレイヤーの中のドメインレイヤーとの境界面、じゃないの

152
デフォルトの名無しさん[sage]   投稿日:2016/12/27 23:10:35  ID:+TUrL10Q.net(2)
あ、あとViewModelに必要な知識はビジネスルールじゃなくて
ドメインレイヤーのインターフェースだけじゃないのかな?
ビジネスルールに関することはモデル内で処理するべきだと思って作ってるけど…
コメント1件

153
デフォルトの名無しさん[sage]   投稿日:2016/12/27 23:37:51  ID:DbM4OtJE.net(2)
>152
俺も最初はそう思ってたけど現実にそれではうまくいかなかったんだ

Hoge
x
y
z => sqrt(x * y)
このエンティティはビジネスルール上の不変条件としてx * y >= 0でなければならないとする
普通ならxとyのセッターで不変条件を監視して不正ならすぐに例外を投げる実装になる
ドメインレイヤーのModelって基本的に全てこんな感じ

でもViewModelでは不変条件を常には満たさなくてもいい
その代わり不変条件を満たしていない事を検知する方法が必要って感じになると思う
つまりこんな感じ
HogeViewModel
x
y
z => x * y >= 0 ? sqrt(x * y) : null
hasError => x * y < 0
xとyのセッターでは不変条件の監視をしないで不正な値も受け入れる
ただし不正な状態ではhasErrorが真になる
xとyは入力コントロールに、zは出力コントロールにバインドされる
hasErrorはエラーアイコンやコントロールの色にバインドされる

両者はビジネスルール的には同じ事を表現しているはずなんだけどドメインModelとViewModelでどうしても別々の実装になってしまう
ViewModelからドメインModelを参照するだけではうまくいかないしどうしてもViewModelにビジネスルールが染み出してしまう

154
デフォルトの名無しさん[sage]   投稿日:2016/12/28 00:02:52  ID:KMmXCa3M.net
自分は個人で作ってるだけで好きなようにやれるからだけど、
そういう場合、自分はxもyもそのままモデルに投げてその処理はいったんそこで終わり。
モデルで値をチェックしてエラーならエラーイベント発生
→入力用ViewModelがそのイベントを受け取ってViewに伝えるDataErrorイベント発生
→Viewが変化

zについても、モデルから受け取ったPropertyChangedイベントをViewに中継するだけにする、かな…

あくまでも、x,yの値によってモデルが例外を投げないように自分で作れるからだけど…

155
デフォルトの名無しさん[sage]   投稿日:2016/12/28 20:24:38  ID:b06lzq40.net(4)
限界あるな
xにうんこって入れられても一旦は保存するってことだろそれ
まさにクソまみれ

156
デフォルトの名無しさん[sage]   投稿日:2016/12/28 21:08:30  ID:YF6A9Wev.net
ViewModelが勝手に「これはうんこだ!捨てておこう!」「これはうんこじゃない!大丈夫だ!」
なんてやってる方が、いずれシステムがうんこまみれになる危険が高い気がするが…

人間だって、目がうんこの反射光をとらえて、視神経がそれを脳に伝えて、
そして最後に脳が「うんこだ!汚い!」ってやるんだから
Modelが「うんこだ!汚い!」と判断するまで、
ViewやViewModelが入力情報をそのまま伝えていくことを
「うんこを一旦保存」とかとらえるのはおかしいと思うんだけどな…
コメント1件

157
デフォルトの名無しさん[sage]   投稿日:2016/12/28 21:55:12  ID:b06lzq40.net(4)
>156
じゃあ超長い文字列とかも一旦は保存するんだろ?
思想に限界があるって気付けよ

158
デフォルトの名無しさん[sage]   投稿日:2016/12/28 22:03:00  ID:b06lzq40.net(4)
そもそも画面仕様が専用であるはずなのに
データ型のみModel依存ってこだわりがうんこ
画面なんか内部も含めて作り捨て上等だろ

159
デフォルトの名無しさん[sage]   投稿日:2016/12/28 22:06:08  ID:b06lzq40.net(4)
次の変更は一度にたくさん入力したいのでExcelかcsvから読み込んでもらえますか?
だったら一生懸命付けた汎用性もm9(^Д^)プギャー

160
デフォルトの名無しさん[sage]   投稿日:2016/12/28 23:01:11  ID:gapvLjp6.net
画面の検証は入力長、上下限、正規表現など簡単なものだけ採用する
自動計算項目も簡単なものだけを採用する
例えば金額と税率から税込価格を自動計算するとか商品コード入力したら商品名取ってくるとかその程度で我慢する
画面の検証や自動計算項目はあくまで入力支援が目的なのでビジネスルールに完全に遵守する必要はない
ビジネスルールを厳密に守らなければいけないのはアプリケーションサービスインターフェースより向こう側だけ
アプリケーションサービスの内部で画面か受け取った入力内容をドメインモデルにマップしてそこで本気の検証や計算を行う

161
デフォルトの名無しさん[sage]   投稿日:2016/12/29 00:14:19  ID:5yPVbf0y.net(2)
一切関知すべきじゃないな。
うんこかもしれないもの、としてVM以降に渡して、うんこではないものを貰うしか無い。
コメント1件

162
デフォルトの名無しさん[sage]   投稿日:2016/12/29 00:36:39  ID:BD9K+jOv.net(2)
それだと使い勝手は悪くなるな

163
デフォルトの名無しさん[sage]   投稿日:2016/12/29 02:16:04  ID:ZpKqxRRa.net(3)
>161
小数じゃないのに小数点が入力できちゃったり
マイナス値なんて取らないのにマイナスが入力できちゃったり
全角なんて入力してほしくないのに全角で打てちゃったり
ファイルパスを入力して欲しいのにパスに入力できない文字が入る
その状態でファイルオープンダイアログ開いたら死ぬの?とか
素人丸出しアプリだな
visualstudioでプロパティいじれば解決する話をわざわざコードで記述してバグる超絶欠陥製品にしかならないだろうね
すべての値のチェックを入口で退治するんではなくて一度保持してしまうから問題を拡散している
undoしたらどこの値に戻るの?それ
コメント2件

164
デフォルトの名無しさん[sage]   投稿日:2016/12/29 02:36:25  ID:RruPXahs.net
>163
何を誤解してるかわからんが、それは、ビューモデル以外の場所で即座に否定されたり、是正されたり、これはは間違ってますよとエラーと判定されるから、
ビューモデルは、判定結果をおとなしく持って、ビューにレンダリングしてもらうだけじゃん。

お前がやってんのは、それはVMの仕事じゃない。
コメント1件

165
デフォルトの名無しさん[sage]   投稿日:2016/12/29 08:38:21  ID:ZpKqxRRa.net(3)
>164
だからさ
その構造を実現することになんの意味があるのって話
コメント1件

166
デフォルトの名無しさん[sage]   投稿日:2016/12/29 10:19:02  ID:BD9K+jOv.net(2)
>163
そういうのは大前提としてやった上での話だよ
整数入力コントロールには指定した桁数いないの数字しか入らない(アルファベットなどはキーを押しても入力されない)
その上でビューモデルにどこまでビジネスルールの知識を与えるか、ドメインモデルとの違いはなんだ、という議論をしている
コメント1件

167
デフォルトの名無しさん[sage]   投稿日:2016/12/29 10:37:25  ID:vPLPY1D6.net
>165
データを処理する処理に徹することができるのと
データを描画する処理に徹することができるんじゃん。
コメント1件

168
デフォルトの名無しさん[sage]   投稿日:2016/12/29 11:35:18  ID:3hi3YdfK.net(5)
>167
現実にはできなくて、やるメリットもあまりなくてって状況だと思うけど
コメント1件

169
デフォルトの名無しさん[sage]   投稿日:2016/12/29 11:43:36  ID:3hi3YdfK.net(5)
>166
だったら内部の仕様も画面にべったりなんでしょ?
今更分離して何がしたいの?
コメント1件

170
デフォルトの名無しさん[sage]   投稿日:2016/12/29 11:49:35  ID:3hi3YdfK.net(5)
はっきり言ってしまうと経験が浅いから掲げる理想が陳腐
大規模DBとそれを操作するインターフェイスを真似たモデルであれば
画面なんてプロジェクトごと作り捨て上等なんだよ
DBはもう誰も仕様変更を入れられない
画面は実現したい内容によって完全廃棄もありうる
これが現実なんだよ
コメント1件

171
デフォルトの名無しさん[sage]   投稿日:2016/12/29 12:03:50  ID:orpg8/1p.net(4)
>169
VとMVの分離のメリットなら2つ大きいのがある
1. UIの状態数の最小化
2. 手続型から宣言型への移行

172
デフォルトの名無しさん[sage]   投稿日:2016/12/29 12:23:28  ID:orpg8/1p.net(4)
>170
画面を使い捨てる前提ならますます分離した方がいい
ひと昔前はViewにビジネスロジックが当たり前のように書かれていた
こういう画面は本当に使い捨てていい画面なのか判断が難しい
画面を使い捨てる前にリファクタリングを行いビジネスロジックを抽出して分析しなければならなかった
必要なビジネスロジックは残して別の画面から利用するように変更しなければならない
この作業が全てうまくいけばようやっと画面を使い捨てる事が許される

173
デフォルトの名無しさん[sage]   投稿日:2016/12/29 13:00:59  ID:3hi3YdfK.net(5)
だからさ
現実にはできないじゃん
ちょっと突っ込まれるだけでボロボロ抜けが出てくんだから
コメント1件

174
デフォルトの名無しさん[sage]   投稿日:2016/12/29 13:23:47  ID:orpg8/1p.net(4)
>173
最近はちゃんと分離されているシステムが増えてきてる
コメント1件

175
デフォルトの名無しさん[sage]   投稿日:2016/12/29 13:26:05  ID:3hi3YdfK.net(5)
>174
誰の周辺の話なの?
コメント1件

176
デフォルトの名無しさん[sage]   投稿日:2016/12/29 13:36:40  ID:orpg8/1p.net(4)
>175
世界的に

177
デフォルトの名無しさん[sage]   投稿日:2016/12/29 19:34:31  ID:AIw2bcpm.net
>168
割と大規模やってるけど、気合でWPFに移行してからそこそこうまく行ってるよ。
出来なくて切った会社は沢山あった。
コメント2件

178
デフォルトの名無しさん[sage]   投稿日:2016/12/29 22:28:45  ID:ZpKqxRRa.net(3)
>177
そんな多大な犠牲を払ってようやくできたのか?(笑)
設計ってみんながわかりやすくするためにするもんじゃないの?
選ばれし者しかできない時点で失敗してるんだよ
わかる?
コメント1件

179
デフォルトの名無しさん[sage]   投稿日:2016/12/29 23:34:45  ID:5yPVbf0y.net(2)
>178
莫大な犠牲は下請けが払ったんだと思うよ。
選ばれしものしかできないとは思わないが、
選ばれしものが出来ないのはある程度あるんじゃないの?
馬鹿とか。
コメント1件

180
デフォルトの名無しさん[sage]   投稿日:2016/12/30 01:32:03  ID:JXfD++Nt.net(2)
>179
何のための画面と内部の分離だったの?
メリットが見えない
選ばれし者しか理解できないソースと組んだやつしか読めないソースの品質の違いが俺にはさっぱりわからないよ
コメント2件

181
デフォルトの名無しさん[sage]   投稿日:2016/12/30 08:31:43  ID:fHdmB1av.net(2)
>180
前者は選ばれしもの(といってもWPF程度なら並みのプログラマで十分なので選ばれしもというのは大げさだが)なら超低コストで保守できる
後者は書いた本人も含めて保守に膨大なコストがかかる
このようにコストが全く違うわけだけど何故同じと思ったのか理解し難いね
メリットが見えないんじゃなくて見えないフリしてるだけだろきみは
コメント1件

182
デフォルトの名無しさん[sage]   投稿日:2016/12/30 09:27:05  ID:0uD1Maua.net(4)
インスタンスメソッドは選ばれしものにしか使えないから
全てスタティックメソッドにしなさい
ってことですか?

183
デフォルトの名無しさん[sage]   投稿日:2016/12/30 09:41:15  ID:U2S2spdu.net
>visualstudioでプロパティいじれば解決する
あーダメダメ

184
デフォルトの名無しさん[sage]   投稿日:2016/12/30 09:55:02  ID:G92pvYFd.net(2)
できるヤツができないヤツに合わせる必要はない
退化する

185
デフォルトの名無しさん[sage]   投稿日:2016/12/30 10:07:30  ID:0uD1Maua.net(4)
スタティックお兄さん爆誕
古き良きプログラミングの時代、復活の刻

186
デフォルトの名無しさん[sage]   投稿日:2016/12/30 10:21:30  ID:JXfD++Nt.net(2)
>181
え?でもいまの状態で画面と内部の分離ができてないじゃん
値のチェック前に一旦値を保存するんだよね?
内部に問い合わせないとチェックする内容がわからんから
偉そうなこと言ってるけどできたもんはゴミじゃん
コメント2件

187
デフォルトの名無しさん[sage]   投稿日:2016/12/30 11:02:39  ID:fHdmB1av.net(2)
>186
保存ってどこから出てきたんだ?
コメント1件


188
デフォルトの名無しさん[sage]   投稿日:2016/12/30 11:28:27  ID:zvHkIzW0.net(2)
>187
このスレよく読んでからレスしてね

189
デフォルトの名無しさん[sage]   投稿日:2016/12/30 12:14:51  ID:tYlkXQKT.net
ViewModelからModelに入力値の通知を行うことを「保存」と呼ぶ頭のおかしい人が約1名いるだけ

190
デフォルトの名無しさん[]   投稿日:2016/12/30 15:13:10  ID:NIWDNqpS.net
なるほど
どうりで話が通じんわけだ

191
デフォルトの名無しさん[sage]   投稿日:2016/12/30 15:29:32  ID:7Zd5OH2Q.net(2)
>180
画面直すのかデザイナさんにもできる、
ロジック直すのが画面に一切影響しない事を謳ってプログラマだけで出来る。
これ大規模だと結構大きいよ。デザイナさんに動いてもらうのそこそこかかるし。

>186
一旦保存って何かわからん。VMの変数に持つよね、って事?
VMの変数に持とうがなんだろうが、入力値と使用値と出力値が同じ所(例えばテキストボックス)に表示されるのは、そもそもが事故の元だよ。
コメント1件

192
デフォルトの名無しさん[sage]   投稿日:2016/12/30 15:44:27  ID:zvHkIzW0.net(2)
>191
はぁ?
なんのこと喋ってるの?
ちゃんと理解してからレスしてね
コメント1件

193
デフォルトの名無しさん[sage]   投稿日:2016/12/30 15:52:05  ID:7Zd5OH2Q.net(2)
>192
>177
で発端にすらなってるから、理解はしてるが。
アホなのかな。

194
デフォルトの名無しさん[sage]   投稿日:2016/12/30 21:13:04  ID:0uD1Maua.net(4)
なぜオブジェクト指向の設計の話になると喧嘩になってしまうのか?
やはり関数型にすべきでないのか?
コメント1件

195
デフォルトの名無しさん[sage]   投稿日:2016/12/30 22:35:50  ID:VqDrYuY4.net
>194
モナドを許すか許さないか論、原始再帰関数の定義の喧嘩になるのがオチ。
手続きとしてCPUが処理している所に別のパラダイム持ち込むとこうなるし、
関数としてGPUが処理している所に手続きを持ち込むと同じように異論は出てくる。

196
デフォルトの名無しさん[]   投稿日:2016/12/30 22:36:08  ID:KB0M7zpX.net
喧嘩がなくなるなら関数型喜んでつかうわ

197
デフォルトの名無しさん[sage]   投稿日:2016/12/30 22:54:38  ID:G92pvYFd.net(2)
工数の少ない方を採用するなぁ
何が何でもオブジェクト指向!ってのは手段が目的になっちゃってるように感じる

198
デフォルトの名無しさん[sage]   投稿日:2016/12/30 23:59:17  ID:0uD1Maua.net(4)
感情をイミュータブルにしましょう

199
デフォルトの名無しさん[sage]   投稿日:2016/12/31 07:44:43  ID:XK+xRs9l.net(5)
工数最小マンって無責任だと思うよ
保守は他人がやるからラピッドでええやんってクズばかりだから業界全体が停滞してるんだよ
多少工数が増えてもエレガントなOOPで作るべきだ
というかそもそも工数ベースで見てもOOPの方が優位だけどな
コメント1件

200
デフォルトの名無しさん[sage]   投稿日:2016/12/31 08:26:58  ID:qTR6JDNw.net(2)
工数最小≠OOP
って、どっから沸いてきた式だよ
コンパイル通らないぞハゲ

201
デフォルトの名無しさん[sage]   投稿日:2016/12/31 10:34:26  ID:H2pBZ8ZG.net
>199
ん?でもさぁ
汎用性つけまくった挙句に次の変更が来なかったら汎用化にかけた工数は無駄じゃない?
コメント1件

202
デフォルトの名無しさん[sage]   投稿日:2016/12/31 11:05:14  ID:XK+xRs9l.net(5)
>201
汎用性と保守性を混同するのは初心者にはありがちだけど全く別のものだぞ
OOPはまず保守性を高めてくれるってのが主だ
結果として見ると汎用性もオマケで付いてくる場合が多いってだけだ
コメント1件

203
デフォルトの名無しさん[sage]   投稿日:2016/12/31 11:40:12  ID:I0WFUQzY.net(4)
>202
そもそもOOPだと何で保守性上がるの?
コメント1件

204
デフォルトの名無しさん[sage]   投稿日:2016/12/31 12:13:13  ID:3aGn9kAy.net
粗結合の徹底→モジュール化→単体テストしやすさ、古くなった部分の可換性
コメント2件

205
デフォルトの名無しさん[sage]   投稿日:2016/12/31 12:24:49  ID:XK+xRs9l.net(5)
>203
SOLIDを実践しやすいから
モデルを忠実にコードに反映できるから
コメント1件

206
デフォルトの名無しさん[sage]   投稿日:2016/12/31 13:03:52  ID:I0WFUQzY.net(4)
>204
OOPならではの部分を強調してほしかったが
疎結合とモジュール性についてまっさきに触れているので結果的に好感触

>205
聞いて損した
コメント1件

207
デフォルトの名無しさん[sage]   投稿日:2016/12/31 13:15:07  ID:XK+xRs9l.net(5)
>206
俺も答えて損した
馬の耳になんとかってヤツだね

208
デフォルトの名無しさん[sage]   投稿日:2016/12/31 13:18:39  ID:I0WFUQzY.net(4)
なんかごめんね…
コメント1件

209
デフォルトの名無しさん[sage]   投稿日:2016/12/31 14:00:22  ID:XK+xRs9l.net(5)
>208
反省しろよ
コメント1件

210
デフォルトの名無しさん[sage]   投稿日:2016/12/31 15:09:26  ID:2Xzfkrwi.net(2)
>209
おまえもな
コメント1件

211
デフォルトの名無しさん[sage]   投稿日:2016/12/31 16:41:13  ID:n5yZbU99.net
>210
消えろ
ぶっ飛ばされんうちにな
コメント2件

212
デフォルトの名無しさん[sage]   投稿日:2016/12/31 17:32:21  ID:2Xzfkrwi.net(2)
>211
おまえもな


213
デフォルトの名無しさん[sage]   投稿日:2016/12/31 17:32:59  ID:qTR6JDNw.net(2)
>211
あんまり調子こいてると手続き型にするぞ?

214
デフォルトの名無しさん[sage]   投稿日:2016/12/31 17:37:54  ID:I0WFUQzY.net(4)
もういいから

215
デフォルトの名無しさん[sage]   投稿日:2016/12/31 17:40:02  ID:YOFqYiBF.net
工数気にするのって完全受注型で自分とこで商品開発できないようなところだろうなと思うわ

216
デフォルトの名無しさん[sage]   投稿日:2017/01/01 00:00:05  ID:7qccLNYe.net
採算度外視で開発とかないわ

217
デフォルトの名無しさん[]   投稿日:2017/01/06 17:03:12  ID:rigfFBS6.net
オブジェクト指向の良書教えて
コメント1件

218
デフォルトの名無しさん[sage]   投稿日:2017/01/06 17:25:52  ID:A0+jLhsU.net

219
デフォルトの名無しさん[sage]   投稿日:2017/01/06 20:45:05  ID:8EHemPmg.net
ループかよ

220
デフォルトの名無しさん[sage]   投稿日:2017/01/07 11:22:42  ID:IG42UiTG.net
>204
手続き型でもできる。
というよりオブジェクトみたいに状態に注目するより
メッセージやメソッド、関数に注目するほうが自然な場合もある。
まあオブジェクト脳だとそういった処理をまとめたクラスを作るんだろうけど。
コメント2件

221
デフォルトの名無しさん[sage]   投稿日:2017/01/07 12:04:44  ID:kXk28A5p.net
>220
具体例は?

222
デフォルトの名無しさん[sage]   投稿日:2017/01/07 13:39:47  ID:u/YaKAHu.net
 サ ー ビ ス ク ラ ス

223
デフォルトの名無しさん[sage]   投稿日:2017/01/07 21:45:21  ID:6fDgBl5y.net
>220
> 手続き型でもできる

それはとても興味深い指摘です。後学のため、
これぞ手続き型の(つまり「そこまでやったらもはやOOP」とは言わせない、そういった小細工のない)
コードで実演してみてもらうことはできますか?

224
デフォルトの名無しさん[sage]   投稿日:2017/01/07 23:48:37  ID:8zzGw/ml.net
そもそもオブジェクト指向にメリットなんかないのにやり方がわからないとかさっさと廃業しろ

225
デフォルトの名無しさん[sage]   投稿日:2017/01/08 00:04:42  ID:MJfiP+Ss.net(2)
デストラクタは OOP でないと難しいね
え?ポインタの存在自体が邪道ですか?そうかもしれないですかね‥

226
デフォルトの名無しさん[sage]   投稿日:2017/01/08 01:57:35  ID:91a1aYUK.net
デストラクタってOOP以前からあるしOOPと直結する関係性もない
それになぜいきなりポインタ?もはや何が言いたいのか判らない
コメント1件

227
デフォルトの名無しさん[sage]   投稿日:2017/01/08 08:49:06  ID:FbXxDY90.net(2)
そう難しく考える必要はなく物事をシンプルに考えていくと自然とOOPにたどり着くんだけどね
OOPに拒否感を持つ人はその当たり前の感覚を持っていないアスペなんじゃないかな
子供の頃いじめられたりしなかったか?

機械的な命令並べてgotoするより意味的な命令並べてifとかloopとか使ったほうが簡単だな
同じ処理をなんども書くより関数にしたほうが簡単だな
引数が多くて煩わしいから一緒に使う変数をまとめて構造体にしたほうが簡単だな
この構造体は特定の関数以外から変更されたらそれらの実行の前提条件が崩れるからそれら以外からメンバに触れないようにアクセス制御したほうが間違えなくていいな
それらの関数を構造体と同じ箇所で定義すれば管理しやすいな
メンバ変数みたいにドット演算子でそれらの関数にアクセスできれば楽だな
………

こういう感覚は別にOOPを知らなくてもコーディングを簡単に安全にしたいという欲求があれば自然とたどり着くものなんだけど
感覚がおかしいのかガチで気が付かなかったのか
たどり着けないかわいそうな子も世の中には少なからずいるんだね
コメント1件

228
デフォルトの名無しさん[sage]   投稿日:2017/01/08 08:58:29  ID:FbXxDY90.net(2)
なんていうかね
棍棒だと重いし動物殺しにくいけど木の棒の先っぽに鋭い石括りつけたら軽くてめっちゃ殺せるんだけどウホホwww
正直この程度の発想でしかないんだよ
OOPってそんなに高尚で難しいものじゃない
それをわざわざ難しい概念だと錯覚して悩むのは時間の無駄じゃないか?
OOPとはなにかOOPの存在意義はなんて哲学者みたいなことを考えてないでさ
自分の感覚に従ってOOPってよくわからんけど手続き型より楽だわウホホwwwって気楽にコーディングすればいいんだよ

229
デフォルトの名無しさん[sage]   投稿日:2017/01/08 09:38:52  ID:oIuk3BCz.net(4)
なんで人格攻撃に移るの?
自分の中で辻褄が合ってないから反論できないのに他人を叩くことでそれを解消しようとするのは間違ってる
お前は技術者を廃業しろ
コメント1件

230
デフォルトの名無しさん[sage]   投稿日:2017/01/08 09:50:56  ID:TXqGgIea.net(6)
ワイ「関数型最強ウホホwww」

231
デフォルトの名無しさん[sage]   投稿日:2017/01/08 10:35:35  ID:uhuLxfGv.net
> 物事をシンプルに考えていくと自然とOOPにたどり着く

逆だろうね
物事を自分のおつむの程度にしかとらえられない人間がようやくたどり着いたのが>227が書てるOOPもどき
この程度の理解の人間がOOPを真に理解してそのメリットを引き出せているとはとうてい思えない

232
デフォルトの名無しさん[sage]   投稿日:2017/01/08 10:35:39  ID:jdkn79Su.net
>229
残念ながらこれもOOPがらみでよく見られる光景
追い詰められてならまだしもわりと最初のほうからこれだもんね
さらにそれにしたってそれすらを長文でぐだぐだと…推して知るべし

233
デフォルトの名無しさん[sage]   投稿日:2017/01/08 11:28:11  ID:TXqGgIea.net(6)
2chの長文すら読めないオジサンって、普段技術書読まないんですかあ?

234
デフォルトの名無しさん[sage]   投稿日:2017/01/08 11:45:15  ID:kab+ZCih.net(4)
技術書ってクソばかりじゃないですか

235
デフォルトの名無しさん[sage]   投稿日:2017/01/08 12:53:03  ID:MJfiP+Ss.net(2)
>226
デストラクタはOOPと同時ですよ

236
デフォルトの名無しさん[sage]   投稿日:2017/01/08 13:04:04  ID:TNnQVUnB.net(2)
protectedっていつ使うんですかぁ?中途半端じゃないですかぁ?

237
デフォルトの名無しさん[sage]   投稿日:2017/01/08 13:07:40  ID:TXqGgIea.net(6)
継承やUTで簡単に使えるようにするため
privateは全てprotectedにしろと言われたことあったわ

238
デフォルトの名無しさん[sage]   投稿日:2017/01/08 13:23:09  ID:kab+ZCih.net(4)
継承っていう仕組みがクソ。疎結合とはなんだったのかって気分にしてくれる。

239
デフォルトの名無しさん[sage]   投稿日:2017/01/08 13:34:11  ID:kab+ZCih.net(4)
OOPのメリットとして吹聴される要素の8割はクソ。
カプセル化はクソ(めんどくさい)
継承はクソ(親子のねっとりしたつながりがキモイ)
多態は野ぐそ(多態のための汎化、インタフェース抽出とか勘違いも甚だしい。保守性に逆行している)
俺OOP使ってこんな曲芸できます案件多すぎクソ。
コメント1件

240
デフォルトの名無しさん[sage]   投稿日:2017/01/08 13:38:11  ID:tl4nBuMM.net(2)
葡萄に手が届かない狐さんのたわごと

241
デフォルトの名無しさん[sage]   投稿日:2017/01/08 14:08:24  ID:TXqGgIea.net(6)
>239
車輪的再発明すきそう

242
デフォルトの名無しさん[sage]   投稿日:2017/01/08 14:08:45  ID:XDbKIsfA.net(5)
OOPみたいな簡単な仕組みも理解できない人って可哀想
もっと体動かすだけとか根性あればなんとかなる仕事に転職しないの?

243
デフォルトの名無しさん[sage]   投稿日:2017/01/08 14:17:09  ID:+qBxgbmJ.net
OOPは本当に簡単で短絡的な思考のすえたどり着く結論だからね
オブジェクトに操作が内包されているというのは
まるで利権主義で、縦割り行政で、日本的といえる
自分の仕事しかしないし、利権はぜった他人に渡さない
利権という物質的なオブジェクトにすべてが紐づいていて整理されている

まぁ実用面では便利な部分もあるんだが
外でOOPサイコーとかいうと人格を疑われかねない
本音と建て前でこっそり使うものだ

244
デフォルトの名無しさん[sage]   投稿日:2017/01/08 15:26:35  ID:TXqGgIea.net(6)
OOPを無くした人類はどこへ向かうのか

245
236[sage]   投稿日:2017/01/08 15:47:12  ID:TNnQVUnB.net(2)
オブジェクト指向を用いるメリット
「ラクして、楽しく、良いもの」を作れる

スッキリJavaより抜粋

246
デフォルトの名無しさん[sage]   投稿日:2017/01/08 16:12:47  ID:TXqGgIea.net(6)
「ラクして、楽しく、良いもの」を作れる
オブジェクト指向登場後のソフトウェア業界は
さぞかし良い世界になったんだろなあ

247
デフォルトの名無しさん[sage]   投稿日:2017/01/08 16:19:04  ID:kab+ZCih.net(4)
とてつもなく良い世界にはなってる。

248
デフォルトの名無しさん[sage]   投稿日:2017/01/08 16:46:50  ID:XDbKIsfA.net(5)
簡単になりすぎて捌ける規模が大きくなったから
逆に要求が膨れ上がって結局辛い世になってる気もするが
まあCOBOLとかやらされるよかマシかな

249
デフォルトの名無しさん[sage]   投稿日:2017/01/08 16:51:03  ID:hENayCqC.net
オブジェクト志向言語使っててもアホが考えた社内規約とやらとヘボいフレームワークで全く楽にならねえw
コメント1件

250
デフォルトの名無しさん[sage]   投稿日:2017/01/08 17:26:00  ID:XDbKIsfA.net(5)
>249
あーわかる
なぜか規約もフレームワークも手続型っぽいんだよな

251
デフォルトの名無しさん[sage]   投稿日:2017/01/08 19:34:42  ID:oIuk3BCz.net(4)
オブジェクト指向の利点って明確にならないね
コメント1件

252
デフォルトの名無しさん[sage]   投稿日:2017/01/08 21:51:12  ID:tl4nBuMM.net(2)
そういやこのスレって、どんな話題で始まったんだっけ?
「オブジェクト指向の利点を明確にする」
だったっけ?
コメント1件

253
デフォルトの名無しさん[sage]   投稿日:2017/01/08 22:30:47  ID:oIuk3BCz.net(4)
>252
まずメリットが明確にならないとやる意味もわからなくてさ

254
デフォルトの名無しさん[sage]   投稿日:2017/01/08 23:00:17  ID:iT+T8lZs.net
>251
俺も最近正直そう思うようになった

最初の頃:おぶじぇくとしこう?
途中:OOP!ポリモ!デザパタ本!OOSC本!
その後:関数型?関数と変数だったら変数散らかるんじゃないんけ!
そののち:意外と関数型記述性ある!不思議と短く書けるなんやこれ!
しばらくして:いや?非OOPでも意外と書けた!
 OOP-OOPLというより大事なんは単にモジュール性や!直交性や!
 徹底してインタフェースと実装のシンプルさを保つことや!
今:そんでOOPのメリットって何なんやろな?
コメント1件

255
デフォルトの名無しさん[sage]   投稿日:2017/01/08 23:23:47  ID:XDbKIsfA.net(5)
そういう本質的に重要な事を記述しやすいってところだろ?
コメント1件

256
デフォルトの名無しさん[sage]   投稿日:2017/01/08 23:34:45  ID:oIuk3BCz.net(4)
>255
え?
全然意味わかんない
コメント1件

257
デフォルトの名無しさん[sage]   投稿日:2017/01/08 23:40:45  ID:XDbKIsfA.net(5)
>256
そのうちわかるよ

258
デフォルトの名無しさん[sage]   投稿日:2017/01/08 23:49:40  ID:Y13a86EN.net
でたw
「そのうち」としか答えない相手から聞き出せることはもう無い

259
デフォルトの名無しさん[sage]   投稿日:2017/01/08 23:58:45  ID:GQKjgtEl.net
>254
要するに編集方針の違いでしかないんだよ。
出来るやつが書けばどれでもどうとでもなる。
それだけ。
それよりOAOO/DRY/メトリックス(トポロジー)の方が重要。

260
デフォルトの名無しさん[sage]   投稿日:2017/01/09 00:35:10  ID:XasE0eMK.net(2)
ソースのどこに記述するか?って方式の話でしかないよね
ボタン1を押したときの処理Aはオブジェクト指向で記述しようがそれ以外で記述しようが
ソースのどこかに記述しなければならない
オブジェクト指向ってのはつまるところその様式美



別にどこだっていいじゃん( ´∀`)b

261
デフォルトの名無しさん[sage]   投稿日:2017/01/09 01:00:59  ID:Dm7q6S9e.net
そしてウンポコPのペチプァみたいなゴミ屑コードができあがる

262
デフォルトの名無しさん[sage]   投稿日:2017/01/09 07:16:32  ID:MB0kUoDj.net
そのボタン1は、UIコントロールの基底クラスを継承するというOOPで作られてるとは思うけど
まぁだからといって使う側がOOPに従わなきゃならん、ということにはならないな

ボタン1を使いながら「OOPなんて不要!」と言ってるとしたらアホだとは思うが
コメント1件

263
デフォルトの名無しさん[sage]   投稿日:2017/01/09 07:18:15  ID:XasE0eMK.net(2)
>262
話の主旨もわからず回答とかおめでてーな

264
デフォルトの名無しさん[sage]   投稿日:2017/01/09 10:27:05  ID:VxLyi546.net
イベントハンドラの引数に押されたボタンのid渡すコード見るたびに
せっかくのオブジェクト指向が台無しになってる感はある。

265
デフォルトの名無しさん[sage]   投稿日:2017/01/10 22:51:34  ID:drzFW1uA.net
クソコードハラスメントって概念を提唱したい
書いた本人が意図する、しないにかかわらず、相手が不快に思い、
相手が自身の尊厳を傷つけられたと感じるようなクソコードを指します。

糞レベル1. 汚いコードだなぁと思う
糞レベル2. 汚すぎて読むのためらう
糞レベル3. どうしたらこうなっちゃうのか理解不能
糞レベル4. なぜこれを人に見せたのか理解不能
コメント2件

266
デフォルトの名無しさん[sage]   投稿日:2017/01/11 00:22:47  ID:GtOiWPCh.net(4)
大概書いた奴は既に現場にいないという現実

某糞PHPの糞保守案件でガチで撲殺してやりたいコードあったわ

267
デフォルトの名無しさん[sage]   投稿日:2017/01/11 00:55:08  ID:t4W503XG.net(2)
自社で保守する仕事なら綺麗に書くけど
同業他社が保守するなら難解な方がいいだろ
足を引っ張って競争が優位になる
コメント1件

268
デフォルトの名無しさん[sage]   投稿日:2017/01/11 00:58:40  ID:p4WB0UzK.net
無駄

269
デフォルトの名無しさん[sage]   投稿日:2017/01/11 00:58:42  ID:GtOiWPCh.net(4)
>267
こんなんだから凋落してくんだよジャップランド土人が

270
デフォルトの名無しさん[sage]   投稿日:2017/01/11 01:03:37  ID:t4W503XG.net(2)
アベノミクスで不景気だしどこも余裕がない
毎日残業で安月給じゃそりゃ人格も歪んでくる

271
デフォルトの名無しさん[sage]   投稿日:2017/01/11 01:06:16  ID:1SbN3a75.net(2)
>265
その全てをパスしているが動かないコードと
その全てを満たしているが動くコードの
どちらを持っていくかと言われたら迷わず糞を持っていく俺
コメント1件

272
デフォルトの名無しさん[sage]   投稿日:2017/01/11 01:20:12  ID:GtOiWPCh.net(4)
>271
動くなんて大前提だよ
そんなんだから脳みそまで糞まみれなんだよボケナス
殺すぞ
コメント1件

273
デフォルトの名無しさん[sage]   投稿日:2017/01/11 06:50:15  ID:1SbN3a75.net(2)
>272
動いた上でさらに付加する価値だろ?
そんなの省かれるに決まってるだろ
いい加減テメェのこだわりは重要じゃねぇって気付けよ

274
デフォルトの名無しさん[]   投稿日:2017/01/11 12:29:20  ID:1hmax6h/.net
結論が出た様です
>265のセンスのない造語の使用は却下されました
妥当な結果でしょう

275
デフォルトの名無しさん[sage]   投稿日:2017/01/11 22:20:40  ID:R6uUA9rB.net
仕様が無いのになぜ動いていると言えるのか。
コメント1件

276
デフォルトの名無しさん[sage]   投稿日:2017/01/11 22:53:40  ID:SOQiv9G3.net(2)
動いてるとも動いてないとも言えない
これが波動関数ってやつさ

277
デフォルトの名無しさん[sage]   投稿日:2017/01/11 23:44:57  ID:GtOiWPCh.net(4)
>275
仕様がない=動作が正=動いている

278
デフォルトの名無しさん[sage]   投稿日:2017/01/11 23:53:04  ID:SOQiv9G3.net(2)
仕様がないつまり未定義
つまり何が起こってもおかしくない
パルプンテ状態

279
デフォルトの名無しさん[sage]   投稿日:2017/01/12 08:29:14  ID:D/kCxt4Z.net
Cの悪口はやめろ

280
デフォルトの名無しさん[sage]   投稿日:2017/01/14 20:38:16  ID:2kEkn3lr.net
初期化以降はリードオンリーとするフィールドint barがある場合
class Foo {
private int bar;
public Foo(int bar) {this.bar = bar;}
public int getBar() {return bar;} // ゲッターだけ公開
}
↑こうするより↓こうしたほうが色々気持ちよくない?
class Foo {
public final int bar; // C#ではfinalのかわりにreadonly
public Foo(int bar) {this.bar = bar;}
}
どうよ?
コメント1件

281
デフォルトの名無しさん[sage]   投稿日:2017/01/14 21:48:54  ID:YGCVk3Sf.net
>280
C#ならプロパティ使えばよくね
コメント1件

282
デフォルトの名無しさん[sage]   投稿日:2017/01/14 21:56:28  ID:rLoB6nGZ.net
>281
Java脳だから仕方ない

283
デフォルトの名無しさん[sage]   投稿日:2017/01/14 23:11:55  ID:/w8IJdhk.net
C#は、自動プロパティの初期化もできるようになったしな

284
デフォルトの名無しさん[sage]   投稿日:2017/01/15 09:41:20  ID:h+wxmfZm.net(2)
OOPでフィールドを丸出しなんてはしたないことはやめてください
コメント1件

285
デフォルトの名無しさん[sage]   投稿日:2017/01/15 19:09:57  ID:L9FFXvsx.net
>284
それに対する俺の考えはこう
・あるものが不変で良いなら不変にしておきたい
・不変であるのならメソッドを経由しなくていい
・フィールドをpublicにしておける言語がある理由もそこらへんじゃないのかなっ
どう?
「OOPで〜」に対する返事にはなってないかもしれないけど

286
デフォルトの名無しさん[sage]   投稿日:2017/01/15 19:25:01  ID:h+wxmfZm.net(2)
フィールドは実装
実装を晒しては行けない
コメント2件

287
デフォルトの名無しさん[sage]   投稿日:2017/01/15 19:43:31  ID:0NZmkTyB.net
オブジェクト指向的にはプロパティへのアクセスはメッセージに限定してカプセル化としたいんじゃないかなぁ?
って思う
コメント1件

288
285[sage]   投稿日:2017/01/15 20:03:27  ID:zmg1eHAc.net
元の主張はいったん置いとくけど

>286 >287
そういうOOPLがあったらいいのにね(あるかどうかは知らない)
それはそれでスッキリすると思うよ

あとクラス図なんかにフィールド含まれてるのすら嫌だもん
>286的理由で
インタフェースで考えていたいレベルに実装が飛び出てるのが嫌だしダメだと思う

289
デフォルトの名無しさん[sage]   投稿日:2017/01/15 20:05:23  ID:kU0DmNyE.net
そういうOOPLってのは
フィールドをpublicに出来ない言語って意味ね

290
デフォルトの名無しさん[sage]   投稿日:2017/01/15 23:28:22  ID:W9Vj9w+K.net(2)
ま、はしかみたいなものだね
OOの美学みたいな考えがあるんだろうけど
よくよく考えると大した概念ではないし、本質的でもない
多くのOOPはマルチメソッドをサポートしていないので
二つのオブジェクトに跨る処理をどちらに書こうかという
問題にぶち当たるし、得てしてそういった複数のオブジェクトに跨がる処理が
そのプログラムの本質的な部分であったりもするからね
プログラムの簡単な部分に関しては簡単に書ける、それがOOP

291
デフォルトの名無しさん[sage]   投稿日:2017/01/15 23:55:46  ID:W9Vj9w+K.net(2)
OOはどちらかといえばデータ構造に基づいた設計手法で
(あ、クラスはデータじゃなくて機能って言う人もいるだろうが
データに対する機能を提供している側面があるので・・)
空間に基づいた設計手法といえるが
当然、時間に基づいた考え方というのもあり得て
プログラムの本質が手続きであり、命令を上から順番に実行していくものだとするなら
こちらのほうが本題かもしれなく、少なくとも何がどの順で実行されるか
良くわからないという事態だけは避けなければならない
あまり自律的なオブジェクトを設計してはダメってこと
AがBのメソッドを呼んで、その中で今度はBがAのメソッドを呼び出す・・・
ということは避けなければならない
なぜならAがBのメソッドを呼び出したとき、Aは処理の途中であり
その状態でBがAのメソッドを呼び出すのは危険だから
デッドロックの危険性もある
オブジェクト同士がメッセージをパッシングし合い、まるで生態系のように振る舞い
結果として何らかの機能が提供されるというのは、機能の観点からは遠回りであるし
何がどの順で実行されるかよくわからないという意味で、手続き的には厄介だ
俺たちは何かのシミュレーションがしたいというわけではない
AとBをコミュニケートされるなら、それらの親にあたる部分が仲介すればよく
AとBが直接コミュニケートする必要はない
そうすれば手順が明確になる
オブジェクトとは良きパーツであるべき

292
デフォルトの名無しさん[sage]   投稿日:2017/01/16 00:16:59  ID:WtkYzKjH.net(2)
private Integer id;
private String domain;

String getAccountId() {
return domain + "-" + id.toString() + ;
}

こんな感じで、ゲッタの方が処理挟まないといけんくなったとき、ラクダからちゃう?
でもやっぱaccountId定義してコンストラクタ初期化すれば
やっぱフィールドおっ広げいいかとも思っちゃったり
コメント1件

293
デフォルトの名無しさん[sage]   投稿日:2017/01/16 06:36:24  ID:5GH26V/A.net
リフレクションでめんどくさいからやめろよ

294
デフォルトの名無しさん[sage]   投稿日:2017/01/16 10:25:44  ID:Keb10HxT.net
>292
それはじめると君の同僚たちもそれに倣って、
結果、画面にもSQLにも業務ロジックにも、至る所に文字列操作が書かれるぞ
連結してaccountId作ったり、accountIdを文字数や正規表現でidとdomainにバラしたり…

295
デフォルトの名無しさん[sage]   投稿日:2017/01/16 23:15:52  ID:WtkYzKjH.net(2)
class User {
private Integer id;
private String domain;

String getAccountId() {
return domain + "-" + id.toString() + ;
}
}

ならええやろ
user.getAccountId()や

至る所で
String aid = user.getDomain() + "-" + user.getId();
こんなんされるよりまし
コメント1件

296
デフォルトの名無しさん[sage]   投稿日:2017/01/16 23:43:04  ID:7tn+c1o5.net
それだと至る所でハイフンでsplitされるって話だろ
AccountId値型を作ろう


297
デフォルトの名無しさん[sage]   投稿日:2017/03/25 12:41:38  ID:Hepb4FxQ.net
instanceおじさんをレイオフする会を発足します

298
デフォルトの名無しさん[sage]   投稿日:2017/03/26 09:22:55  ID:BMgG41Fb.net
本来であればフィールドメンバと引数とわずかばかりのシステムメソッドで処理を完結するのがベストなのだが、
それしようとすると、やりたいことをやるために必要な情報がなかったりして
親の親から引数を渡し直さないとけなくなったりしてそうこうしてるうちに
結局グローバル変数やシングルトン(instance)で便利になったと喜んでしまう性。

299
デフォルトの名無しさん[sage]   投稿日:2017/03/26 22:59:55  ID:EKCv78dE.net
>295
現時点でCallerには「domain-id」の文字列以外必要ないなら、それでOK
Callerもid or domainが単独で必要ならgetIdやgetDomainもつける

IDだけじゃなくて、たとえばなんかのログインフォームのようにメールアドレスもサポートするならクラス側で承ける
文字列返すかAcccontDataクラスでも作るかは
idの形式があと3つ4つあるか(ついったと顔ブックとなんちゃらinアカでもログインOKみたいな、ならクラス)
or メルアドのみで数年やれるか(なら文字列でサクっと実装しちまえよ)による

300
デフォルトの名無しさん[sage]   投稿日:2017/04/20 23:17:36  ID:nIwh3CMn.net
ワインと豆腐には旅をさせちゃあいけない
という山岡さんの名言がある

俺は変数にも旅はさせてはいけないと思う
つまり、変数はprivateにのみしておいて
それを外に参照させたり渡したりしないうちは安泰だということ

301
デフォルトの名無しさん[sage]   投稿日:2017/04/21 03:45:03  ID:vq22u+1l.net
漫画を引用する様な見識の狭い奴の言う事を誰が本気で聞くのか
語りたい事があるなら自分自身の言葉で語れ

302
デフォルトの名無しさん[]   投稿日:2017/04/21 12:33:54  ID:e2S2gBzR.net
旅をするのは変数ではなく値なんだけどね

303
デフォルトの名無しさん[sage]   投稿日:2017/04/21 21:12:23  ID:JwbSy4qm.net
グロバール変数やめました
シングルトンもやめました
結果、
オブジェクトをたらい回しにしまくりんぐ地獄

304
デフォルトの名無しさん[sage]   投稿日:2017/04/23 15:03:38  ID:jdVuS3ql.net(2)
郵便物が来たってメモはたらい回しでいいけど、
郵便物自体はたらい回しするなよ。

305
デフォルトの名無しさん[sage]   投稿日:2017/04/23 15:28:16  ID:mKAZq6VZ.net(2)
それは郵便物オブジェクトが人間オブジェクトにメッセージパッシングして言ってんの?

306
デフォルトの名無しさん[sage]   投稿日:2017/04/23 15:45:39  ID:jdVuS3ql.net(2)
郵便物オブジェクトは何もしないだろ。
メッセージをパッシングしているのはメッセンジャーさ。

307
デフォルトの名無しさん[sage]   投稿日:2017/04/23 16:15:44  ID:mKAZq6VZ.net(2)
メッセンジャーヴォーイズはどこで何をしてるんだい??

308
デフォルトの名無しさん[sage]   投稿日:2017/04/23 21:23:18  ID:mOY43HnC.net
staticおじさんは今日も元気でした
コメント1件

309
デフォルトの名無しさん[sage]   投稿日:2017/04/23 22:31:23  ID:HqNmAyPa.net(2)
>308
言葉に気をつけろよ
キャットドア問題の前にお前らはボロ雑巾のように敗れ去っているのだから

310
デフォルトの名無しさん[sage]   投稿日:2017/04/23 23:16:24  ID:fe+cTrdN.net(2)
勝ち負けだったのか
コメント1件

311
デフォルトの名無しさん[sage]   投稿日:2017/04/23 23:26:57  ID:HqNmAyPa.net(2)
>310
負けは認めるんだな

312
デフォルトの名無しさん[sage]   投稿日:2017/04/23 23:46:36  ID:fe+cTrdN.net(2)
ごめんやけど最近来たから勝負してたところを見たことない
どんな勝負だったの?

313
デフォルトの名無しさん[sage]   投稿日:2017/04/24 00:08:36  ID:ix3EvlHl.net(4)
あとキャットドアって初めて聞いたんだけど何なの?

314
デフォルトの名無しさん[さげ]   投稿日:2017/04/24 00:13:48  ID:ix3EvlHl.net(4)
>>キャットドア問題
ググってもAmazonしか出てこない、、、

315
デフォルトの名無しさん[sage]   投稿日:2017/04/24 00:51:34  ID:eKiX5mKm.net
google「オブジェクト指向 キャットドア問題」
で出るな
コメント2件

316
デフォルトの名無しさん[さげ]   投稿日:2017/04/24 01:00:29  ID:ix3EvlHl.net(4)
>315
まじか!
ありがとう、見てみるよ

317
デフォルトの名無しさん[sage]   投稿日:2017/04/24 01:02:48  ID:ix3EvlHl.net(4)
なんか別のスレがヒットするだけなんだけどあってる?
オブジェクト指向って自然な文法だな 3

318
デフォルトの名無しさん[sage]   投稿日:2017/04/24 06:42:37  ID:DtGFy1JY.net
キャットドア問題って何だよ
博識な俺様でも知らんぞ

319
デフォルトの名無しさん[sage]   投稿日:2017/04/24 19:56:51  ID:aju9PDoI.net
それを流行らせようとして必死なやつをどっかのスレで見たわ
放置推奨

320
デフォルトの名無しさん[sage]   投稿日:2017/04/24 20:17:16  ID:MN8pW2Am.net
なんだ
騒ぎ立ててるヤツが居るだけなのね

なんかおもしろい議論があるのかと思って期待してたのにな

321
デフォルトの名無しさん[sage]   投稿日:2017/04/24 21:31:35  ID:Fbyj+dPJ.net
結局、キャットドア問題解決できなかったしね

322
デフォルトの名無しさん[sage]   投稿日:2017/04/25 10:33:30  ID:ibd4gvgd.net
>315
オブジェクト指向 "キャットドア問題"
9 件 (0.37 秒)

323
デフォルトの名無しさん[sage]   投稿日:2017/04/25 12:08:14  ID:5ILiyJO9.net
キャットドア問題が何を問題にしているのかわからない
合力できるようにDoorOpenerCompositionを定義すれば済む話では?

(new Cat(weight: 5)).can_open(new Door(weight: 4, knob: true)) //=> false
(new Human(weight: 15)).can_open(new Door(weight: 14, knob: true) //=>true
(new Cat(weight: 5)).can_open(new Door(weight: 4, knob: false)) //=> true
(new Cat(weight: 5)).can_open(new Door(weight: 10, knob: false)) //=> false
(new Cat(weight: 4) + new Cat(weight: 3) + new Cat(weight: 5)).can_open(new Door(weight: 10, knob: false)) //=> true
コメント3件

324
デフォルトの名無しさん[sage]   投稿日:2017/04/25 19:47:55  ID:sSL6z0RB.net
staticおじさんは今日も大勝利

325
デフォルトの名無しさん[sage]   投稿日:2017/04/25 20:11:32  ID:4og0+rzt.net
結局どんな勝負なの?
コメント1件

326
デフォルトの名無しさん[sage]   投稿日:2017/04/25 21:16:26  ID:qd1hD0YR.net(2)
>325
結局、キャットドア問題解決できなかったしね

327
[sage]   投稿日:2017/04/25 23:25:27  ID:RguWTiRy.net
キャットドアとやらが拠り所なのか…

328
デフォルトの名無しさん[sage]   投稿日:2017/04/25 23:46:03  ID:qd1hD0YR.net(2)
if cat door is open
human begining become
and we will we will goto heaven

329
デフォルトの名無しさん[sage]   投稿日:2017/04/25 23:57:29  ID:qaES5lmc.net
ごめん、それでは理解できない
どんな勝負だったの?
勝利条件やルールは何だったの?
コメント1件

330
[sage]   投稿日:2017/04/26 00:00:54  ID:R2CP97M0.net
何かの引用のもじりなんだろうか?
ひどい英語に見えるけどなんか意味あるのかな…

331
デフォルトの名無しさん[sage]   投稿日:2017/04/26 00:19:05  ID:9BTWZVlt.net
>329
逃げるのか?
コメント1件

332
デフォルトの名無しさん[sage]   投稿日:2017/04/26 00:35:26  ID:1c8kYD+M.net
ネコ用のドアって蚊やハエが入って来ないの?

333
デフォルトの名無しさん[sage]   投稿日:2017/04/26 06:46:17  ID:Ex4Hni8+.net(2)
>331
や、だから俺はそもそも勝負に参加してないっての
参加するにしても勝利条件とルールを聞いても誰も教えてくれないから参戦もできない
コメント1件

334
デフォルトの名無しさん[sage]   投稿日:2017/04/26 06:52:05  ID:LAzkzAvR.net(2)
>333
マヌケなヤローだ

335
デフォルトの名無しさん[sage]   投稿日:2017/04/26 07:00:16  ID:Ex4Hni8+.net(2)
ああ
これは会話させてくれないやつだ

放置推奨と言われた意味がやっとわかった
コメント1件

336
デフォルトの名無しさん[sage]   投稿日:2017/04/26 07:56:46  ID:LAzkzAvR.net(2)
>335
いいや、本スレに行って参戦宣言でもすれば即座に着火するよ
みんな内心納得してないからね

337
デフォルトの名無しさん[sage]   投稿日:2017/04/27 22:21:41
クラス階層をどう作るか、メソッドをどのオブジェクトに持たせるかっていう、大抵は主目的にならない部分の問題を、
現実世界の物理的な制約、言語学や分類学の観点から「〜であるべき」と主張しあうおバカな問題だよ>キャットドア問題
たまに出現してスレを白けさせる美少女クラス云々と同類。

プログラミングを知らなくても身近なものを抽象化して語ることは誰でもできるから、無駄にレスが稼げる
コメント2件

338
デフォルトの名無しさん[]   投稿日:2017/04/28 12:21:14
それは抽象化ではないとだけ言っておこう

339
デフォルトの名無しさん[sage]   投稿日:2017/04/28 22:22:35
>337
おバカな問題だということが分からないやつがたくさんいるから
似非開発者をフィルタリングするのに便利だよ

340
デフォルトの名無しさん[]   投稿日:2017/04/29 00:17:16
頭が悪いという事実以外にどこに問題があるのか

341
デフォルトの名無しさん[sage]   投稿日:2017/04/29 01:10:48
まあな、お前らほど優秀な奴らがあの場にいたらキャットドア問題など発生すらしなかったんだろうなw

342
デフォルトの名無しさん[sage]   投稿日:2017/04/29 03:01:54
どんなに優秀なやつが居ても無理
自分の考えることが正解で他はダメみたいな考えしてるやつらの口論に出口はない

343
デフォルトの名無しさん[]   投稿日:2017/04/29 14:57:30
>323
俺はこんなコード書きたくないなあ
コメント1件

344
デフォルトの名無しさん[sage]   投稿日:2017/04/29 18:07:18
>343
お前が書かなくても>323が書いてお前に保守させるから問題ない
コメント1件

345
デフォルトの名無しさん[sage]   投稿日:2017/04/29 18:32:37
>344
> お前に保守させるから

無理だろw
どうやって、やらせるんだよ。
お前に、他人に何かをやらせる力なんてないだろw

346
デフォルトの名無しさん[sage]   投稿日:2017/04/29 22:20:18
>337
わかるわかる
美少女クラスがどうとかウンコがどうとか
そーいうので必死でレス稼いでる子がいるよな
自転車置き場議論の一端だよな
これならレスできる!って連中が集っちゃう

347
デフォルトの名無しさん[sage]   投稿日:2017/05/01 21:31:28
OOの技術って何って言われたら
整理整頓術、としか言いようがない罠
とりわけコードに対して、オブジェクト(クラス)にぶら下げとけば良いんじゃね?っていう
多態だ継承だっつっても、コードをオブジェクト単位で整理したときに
ちゃんと動くようにするための仕組みでしかないよ
それなのに犬は哺乳類で猫はニャーとか、最近はこういうこと言う人居なくなったけど
かつて本当にバカげたことを言っていたよね
仕事をするうえで整理整頓は重要だけど、作業性の問題であってサイエンスでは無いしな
いやね、まじめな話、作業性さえよければ何だってかまわないでしょ、マジで
だから結局、作業性の問題なんだよ、これは

348
デフォルトの名無しさん[sage]   投稿日:2017/05/01 21:37:55
作業性?

349
デフォルトの名無しさん[sage]   投稿日:2017/05/01 21:59:16
我々生まれもって木構造が好きだから
クラス階層というもんのドキュメント性も何か
心惹いてたんだろうねえ
継承がもたらすポリモの便利さにくわえてね

350
デフォルトの名無しさん[sage]   投稿日:2017/05/01 22:04:47
実際、作業性なんだよ
作業性が良いと、仕事が早く終わるし、ミスも減るんだよ
そのために整理する仕事があるんだよ
どこの工場でもやっていることだ
工場に限らず仕事は全てそうではあるがな

逆に物凄く崇高な理論や思想が何かあったとしても
余計に時間がかかってミスも増えるんなら糞くらえだろ
家に帰れなくだけ

351
デフォルトの名無しさん[sage]   投稿日:2017/05/01 22:12:12
まぁソフトウェアの設計といえば
どれだけの時間で処理が完了するか見積もったり
メモリ使用量を算出したり
そういう楽しいのはあるけども
OOはそういうのじゃ無いよね
OO設計は完全に整理整頓術以外の何物でもない
とりわけ、コードを、どこに、書くか、という問題
コメント1件

352
デフォルトの名無しさん[sage]   投稿日:2017/05/01 22:16:37
>351
普通にメンテナンス性、可読性、
複雑なものをシンプルにする技術とか
言えばよくね?

353
デフォルトの名無しさん[sage]   投稿日:2017/05/01 22:22:57
で、それって何?って言われれば
まとめて整理整頓術としか言いようがない

354
デフォルトの名無しさん[sage]   投稿日:2017/05/01 22:28:24
作業性って工場系の用語だと思うんけど定義を教えてくれ
作業のしやすさ=作業性?
それとも作業効率を高める性質=作業性?

自分の周りじゃあまり使われない言葉だけど便利そうだな

355
デフォルトの名無しさん[sage]   投稿日:2017/05/01 22:51:43
> 整理整頓術

これも自分の周りじゃ使われない言葉だな

356
デフォルトの名無しさん[sage]   投稿日:2017/05/01 22:57:39
大体において、作業がしやすければ、作業効率は高まるもんなんだよ
ここで、ごく一部の例外とか、そういうのはどうでもよい
基本的な原則といって良いだろう
だから両方の意味でつかわれるし、両方同時に言ってるし
付け加えれば品質の意味も含まれる
作業しやすいほうが品質が上がるのは当たり前だからな

ただ、作業性の意味が分からないってのはちょっとアレじゃねって
俺は思うが
別に工場用語でも何でもないし

357
デフォルトの名無しさん[sage]   投稿日:2017/05/01 23:05:09
あと、整理整頓術も工場用語でも何でもないぞ

それからソフトウェア業界であまり使われないのはそうだろう
俺があえてこの瞬間そう言ってる、言い直しているってこと
OO設計は結局整理整頓術ってのは俺の意見であって
Wikipediaに書いてあるようなことを書き込んでも面白くないだろ
要はバカっぽく言い直しているってこと
コメント2件

358
[sage]   投稿日:2017/05/01 23:10:42
工場での生産の作業性をぼんやりした形で適当に定義しないでほしいな。

作業性が良ければ早く終わる、は幻想。
早い、安い、旨いは3つを取れないもんなんだよ。早くてうまけりゃ安くは無いし、早くて安けりゃ旨くはない。
効率を上げるには工程に工夫がいるし、工程を楽にしたけりゃ単純性が居るし、単純性を上げるには効率をさげにゃならん。
コメント1件

359
[sage]   投稿日:2017/05/01 23:12:40
>357
お前が馬鹿なのか勘違いしてるのか、恣意的に混同してるのかわからんが、少なくともお前が言ってることが机上の崇高な理論で思想だよ。

360
デフォルトの名無しさん[sage]   投稿日:2017/05/01 23:15:56
>357
もうちょっと整理整頓して文章書こうな(藁干草)

361
デフォルトの名無しさん[]   投稿日:2017/05/01 23:17:09
吉野家は3件全立してると思ってた
コメント1件

362
[sage]   投稿日:2017/05/01 23:20:32
>361
高くはない、まずくはない、遅くもないものはなんとかなる。
その状態が、生産ラインの安定地点でもある。

363
デフォルトの名無しさん[sage]   投稿日:2017/05/01 23:46:27
>358
そんな細かな話は一切してない
彼方を立てれば此方が立たないって領域の話は、個々に対応する話であって
それ言い出すと、美女のウンコの話になる
つまり、対象とする要件がわからないのに、美女クラス作るのは無理
不毛だろ
ただ明らかに作業性の悪い状態で作業すると作業効率が落ちるのは確か
そのことしか言えない

しかし、OOが整理整頓術と考えれば、美女のウンコであるとか
キャットドア問題とかいう意味不明なやつとか、心底どうでもよくなる
それが狙い
コメント1件

364
デフォルトの名無しさん[sage]   投稿日:2017/05/02 00:18:05
POAやDOAは整理整頓術とは違うの?
整理整頓術は作業性を高めるためにあるとして
異なる整理整頓術があるのは重視してる目的が異なるからじゃないのか?

365
デフォルトの名無しさん[sage]   投稿日:2017/05/02 01:00:54
整理整頓じゃなくてモデリングだな
設計とも言う

366
デフォルトの名無しさん[sage]   投稿日:2017/05/02 04:16:06
オブジェクト指向って処理をソースのどこに書くかってだけの技術だしね
どんなにこねくり回しても直接的には1円にもならないんだよね
違うと認めないやつもいそうだけど
そろそろ自分が扱ってるモノの本質を見定めるべき
コメント2件

367
デフォルトの名無しさん[sage]   投稿日:2017/05/02 06:27:34
それをバカにしつづけた結果
メンテ不能なモンスターができあがり
ビジネスチャンスを逃す

368
デフォルトの名無しさん[sage]   投稿日:2017/05/02 08:01:47
>366
お前のその考えじゃ一円も生み出せないわな

369
デフォルトの名無しさん[sage]   投稿日:2017/05/02 08:32:01
>366
需要さえ見出せばいくらでもお金になるよ
小手先の技術より経済の本質を見定めればいいと思う

370
デフォルトの名無しさん[sage]   投稿日:2017/05/02 09:26:50
経済の本質?ロボットによる自動化かね?

371
[sage]   投稿日:2017/05/02 10:53:02
>363
個々に対応しない全体論なんてあるわけねえじゃん。
頭おかしいのか?

372
デフォルトの名無しさん[sage]   投稿日:2017/05/02 23:05:52
じゃあお前キャットドア問題解けるの?
コメント1件

373
[sage]   投稿日:2017/05/04 12:00:51
>372
次世代言語の前スレで単なるオブジェクト指向では無理でしょ的にGoで断片書いた。
コメント1件

374
デフォルトの名無しさん[sage]   投稿日:2017/05/04 13:02:33
>373
書いたじゃなくてその話をここでもう一度やれって言ってんだよ
コメント2件

375
[sage]   投稿日:2017/05/04 13:35:48
>374
何でもう一度?一回やったのに生産性無い事をしたがる/させるんだなぁ。
もう一回話したいテーマ挙げてよ。
少なくともキャットドア問題とやらは問題自体に不備があるから、何の解もありえないだろ。
正しく問題を出し直すなら出し直せば?

376
デフォルトの名無しさん[sage]   投稿日:2017/05/04 14:19:13
>374
オレは>323に書いた
これだと駄目な理由を早よ書け
コメント1件

377
デフォルトの名無しさん[sage]   投稿日:2017/05/04 18:23:43
>376
323のプログラムは何の役に立つの?
コメント2件

378
デフォルトの名無しさん[sage]   投稿日:2017/05/04 19:20:07
>377
キャットドア問題が解けること

379
[sage]   投稿日:2017/05/04 20:17:32
砂上の楼閣が作れるスコップみたいな話か。

380
デフォルトの名無しさん[sage]   投稿日:2017/05/04 23:18:06
>377
分脈はおろかコードすら読めない奴がレスしてんじゃねーよ
コメント1件

381
デフォルトの名無しさん[sage]   投稿日:2017/05/04 23:44:26
>380
分脈!!

何の役に立つかも考えずにCatやHumanをコードに登場させてるから駄目なんだよ
それが分からないうちあのスレにいた人たちと同レベル
オブジェクト指向わかったつもり系
コメント1件

382
デフォルトの名無しさん[sage]   投稿日:2017/05/05 02:35:43
>381
さながらキミは文脈わかったつもり系か

383
デフォルトの名無しさん[sage]   投稿日:2017/05/07 08:39:23
文脈系男子は帰って

384
<塔eする役ね。成長はないけどまぁ食っていけてるならいいんじゃない。 []   投稿日:0000/00/00 00:00:00

385
デフォルトの名無しさん[sage]   投稿日:2017/05/24 21:18:50  ID:VdpFCLoQ.net
レッテル張りして、プンスカ怒ってるみたいだけど、そうとう図星だったか。
設計ミスるのも程々にしとき。

386
デフォルトの名無しさん[sage]   投稿日:2017/05/24 22:12:57  ID:krzOkTvb.net
>388
お前は設計ミスなんてしないもんな
なぜなら設計したことがないからw

387
デフォルトの名無しさん[sage]   投稿日:2017/05/25 00:25:16  ID:hLFywp3s.net
なんか、もういいや。建設的じゃねーし。
更新情報
・スレッド一覧ページで過去ログのタイトル検索・一覧表示ができるようになりました(2016/1/20)
NGワード登録
登録する
スレッド内検索

プログラム板 タイトル検索

このスレッドが人気です(実況系)
NHK総合を常に実況し続けるスレ 134282 (453)NHK実況
実況 ◆ フジテレビ 83488 (434)フジ実況
おはよう!時代劇 暴れん坊将軍4 #21(第22話)[字][再] (563)テレ朝実況
はやドキ!& あさチャン!月曜日★1 (398)TBS実況
別冊アサ(秘)ジャーナル 「明徳義塾」 (641)TBS実況
フランケンシュタインの恋 #8 (965)NTV実況
岩合光昭の世界ネコ歩きチリ・ノルウェー★3 (533)NHK実況
ダウンタウンのガキの使い 「ダウンタウン2Sトーク」★2 (781)NTV実況
このスレッドが人気です(ニュース系)
【モータースポーツ】佐藤琢磨が日本人初のインディ500優勝! (798)音楽・芸能ニュース
【話題】使うと年寄り認定される「昭和言葉」ランキング ナウい、アベック、チャンネルを回す、チョッキ など★2 (529)ニュー速+
【出会い系バー出入り】前川・前文科次官「行ったことは事実」「女性の貧困について実地の視察調査の意味合いがあった」★89 (695)ニュー速+
【話題】使うと年寄り認定される「昭和言葉」ランキング ナウい、アベック、チャンネルを回す、チョッキ など (1001)ニュー速+
【出会い系バー出入り】前川・前文科次官「行ったことは事実」「女性の貧困について実地の視察調査の意味合いがあった」★88 (1001)ニュー速+
【話題】「スサノオ」を祀ったほとんどの神社が被災を免れたのに、「アマテラス」を祀る神社の大半は被災…津波と神社との関係が論文に (922)ニュー速+
【出会い系バー出入り】前川・前文科次官「行ったことは事実」「女性の貧困について実地の視察調査の意味合いがあった」★87 (1000)ニュー速+
【社会】「欲望に素直、カッコいい」バブル時代に憧れる若者たち★4 (1001)ニュー速+
プログラム板の人気スレ
Excel VBA 質問スレ Part48 (305)
ふらっと C#,C♯,C#(初心者用) Part128 (611)
次世代言語議論スレ[Go Rust Kotlin Scala]第4世代 (808)
Xamarin Part4 (439)
C言語なら俺に聞け 140 (322)
【統計分析】機械学習・データマイニング15 (644)
くだすれPython(超初心者用) その33 (994)
オブジェクト指向って自然な文法だな 3 (645)
ねねっちと一緒にプログラムを勉強するスレ第2話 (790)
Visual Studio 2017 Part2 (543)
Java入門・初心者質問スレ Part.3 (580)
Ruby 初心者スレッド Part 60 (300)
プログラミング言語 Rust 3 (61)
推薦図書/必読書のためのスレッド 81 (905)
C#, C♯, C#相談室 Part94 (288)
Linuxでお手軽にプログラムを組む方法を教えてくれ (61)
Swift part10 (733)
C++相談室 part130 (395)
Git 15 (824)
Visual Studio 2015 Part8 (741)
JavaScript の質問用スレッド vol.123 (311)
ふらっと C#,C♯,C#(初心者用) Part127 (408)
Pythonのお勉強 Part53 (84)
C# vs Java どっちが好き? その3 (286)
スマホでは容量的にナンセンスなブロックチェーン (86)
関数型プログラミング言語Haskell Part30 (600)
Androidプログラミング質問スレ revision53 (369)
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part21 (79)
このサイトについて
このサイトは2ちゃんねるからデータを取得し、表示するサービスです。
画像のインライン表示機能について
画像のURLの後ろにある[画像をインライン表示]をクリックすると、URLの下に表示します。
表示される画像は横幅100pxに縮小されていて、クリックすると原寸で表示します。
このサイトの特徴
1)スレッド内検索ができます
2)レス(「>>1」など)のポップアップができます
3)不適切な言葉を含む投稿を表示しません
4)ページ内で画像を直接表示できます
5)2ch他スレッドへのリンクはタイトル・板名つきでリンクします
6)すっきりとしたデザインで表示します
7)最新スレや前スレをチェック・一覧表示します
8)NGワード機能の搭載でイヤな言葉が目に入りません
9)荒らしを自動チェックします
10)スレッド内・同一IDの書き込みだけ表示できます
11)レスの返事をレスされた発言の下に表示する「まとめビュー」が利用できます
12)シリーズ化したスレッドの一覧を表示します
13)最新のスレッドがある場合はお知らせします
削除について
こちらをご覧ください
機能要望について
現在機能要望受付中です。
問い合わせについて
こちらのページからどうぞ
広告


首都圏の方、ソフトバンク光オススメですよ


このサイトは2ch.scからデータを取得・表示しています。削除などについてはこちらをご覧ください。 アクセスモード:差分取得 - 新着書き込みなし(304)