- 1 名前:uy ◆e6.oHu1j.o [2016/07/09(土) 00:35:13.95 ID:Mn3UGZ+O.net]
- 前スレ
オブジェクト指向システムの設計 171 [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/tech/1465636703/
- 94 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 22:45:05.83 ID:uq0wU9fp.net]
- 生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 以下でいいか? faithandbrave.hateblo.jp/entry/2014/05/30/153325 つまりは例外を呼ばずに値として埋め込みたいだけか。 関数型で組んだ場合には個々の要素で例外呼ばれても困るから、そりゃこうなるだろう。 そういった意味ではC++の例外機構は「手続き型」にしか対応してないね。 そこですぐ呼ばれる前提だ。 他の関数型言語の例外機構ってどうなっているんだ?知ってたらよろしく。 Haskellがこの手で値埋め込み、後でユーザ側で確認するというのは分かった。 なおJavaScriptは0割は無限大になるというお気楽仕様だ。 当初は驚いたが、正直これで問題ないよなとも思う。
- 95 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 22:58:10.35 ID:2JhFq5Nw.net]
- >>89
> Parseが返すパーズした結果とは何ぞや? 正しくはInt32.Parseなんだから当然Int32だろw Int32に変換した結果を戻す (変換できなければ戻さない) > 俺には名前だけではさっぱり分からんのだが あー、うん。クラス名が先に作ってことに 気づかなかったのねw >>86で引用してる>>84にかいてあんだろ。 気づけよw
- 96 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 23:09:44.65 ID:jyyAd6hv.net]
- Int32.Parse だからといって、必ずInt32が返るとは限らないだろ
おまえは、human.age()で必ずhumanが返ると考えるか?
- 97 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 23:11:23.52 ID:2JhFq5Nw.net]
- >>94
> なおJavaScriptは0割は無限大になるというお気楽仕様だ。 いや、お前、例外っていったら0除算しか思いつかんのかよw eval("{") とか実行してみろ。JavaScriptは例外を使う言語だ。 0以外の数値を0で割ったら無限大になるのは数学的に正しい。 JavaScriptが無限大を扱える言語ってだけだ。 もちろん数学的に正しいことをやっているから、 0 / 0 は NaN (非数)になる。 少なくともこの点は、お気楽ではなく高度な言語だと言える。 もっともJavaScriptに例外が搭載されたのはJavaScript 1.4(1999年あたり)からだけどな。 それ以前は(エラーを戻り値で返すのではなく)スクリプトが停止され window.onerrorイベントが呼ばれたんだっけな?もう忘れたが。
- 98 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 23:11:30.03 ID:jyyAd6hv.net]
- いっとくが、human.age()で必ずintが返るとは限らないからな
もしかしたらageオブジェクトが返るかもしれないからな
- 99 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 23:12:49.31 ID:2JhFq5Nw.net]
- >>96
> Int32.Parse だからといって、必ずInt32が返るとは限らないだろ > おまえは、human.age()で必ずhumanが返ると考えるか? Parseとageで関数名が違ってるじゃんw 名前で返すものが決まるって言ってんだろ。 human.parseだったら、human返すんじゃねーの?
- 100 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 23:13:53.29 ID:jyyAd6hv.net]
- >human.parseだったら、human返すんじゃねーの?
そんなの思い込みだろ ヒューマンパーズオブジェクトが返るかもしれないだろ
- 101 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 23:18:25.58 ID:2JhFq5Nw.net]
- >>94
> 他の関数型言語の例外機構ってどうなっているんだ?知ってたらよろしく。 関数型で戻り値でエラー情報なんか返したら 大混乱になるわw 関数呼び出しの中の、関数呼び出しの中の、関数呼び出しの中の、関数呼び出し で エラー情報が返ってきたら、if式による分岐の嵐でもはや 関数型言語のように見えないだろうね。
- 102 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 23:22:40.62 ID:2JhFq5Nw.net]
- >>100
> ヒューマンパーズオブジェクトが返るかもしれないだろ ほらね? 何が返るか想像できてるじゃんw Int32.Parseじゃ何を返すかさっぱりわからないって言ってるから それが間違いだよって話。 なにも100%完全に返り値の情報がわかるなんて言ってないんだよw
- 103 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 23:36:52.14 ID:C7S+nyqs.net]
- 型を見りゃいいだろ
まさかこのスレに居ながら、屁臭いペチプ〜やゴミのペールやペールの糞からひり出されたルビーや・・・そんな糞まみれのウンコ野郎はおるまいね?
- 104 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 00:31:59.76 ID:4Ps/X1K6.net]
- >>102
いやお前それ苦しいだろ >ほらね? 何が返るか想像できてるじゃんw 想像? 思い込みでしょ ヒューマンパーズオブジェクトが返るかもしれない、とは書いたが 実際には何が返るかわからないから、そう書いただけであって どうせ、仕様を調べなきゃならないんだよ
- 105 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 01:02:32.63 ID:9qkjMq+e.net]
- >>104
言うと思ったw でお前これから先仕様なんて調べるの? 調べないよね。もう覚えてしまったから。 あとは文字を見れば思い出すはずだ。 適切な名前があると覚やすいっていうのはこういうこと。
- 106 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 01:31:15.59 ID:rhZMoeJF.net]
- >>101
>関数型で戻り値でエラー情報なんか返したら >エラー情報が返ってきたら、if式による分岐の嵐でもはや ifの分岐しないためにfunctorだのアプリカティブだのmonadだのtraverseがあるじゃん? try1 >=> try2 >=> try3 >=> ... tryN みたいので「成功するまで処理を続けて失敗したら例外情報をもって途中で抜ける関数」を作れるし こういう合成力は関数型の強み
- 107 名前:デフォルトの名無しさん [2016/07/14(木) 06:27:39.21 ID:cfi8dg7p.net]
- 自分の思い込みの通りなら良い設計良いコードw
- 108 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 07:26:28.53 ID:xgZTwt3g.net]
- 正しく意図した通りに騙してくれるなら
明らかに良いコードだろ 頭のてっぺんからケツのシワまで数え上げてようやく読解できるコードが糞じゃなきゃ何なんだ
- 109 名前:デフォルトの名無しさん [2016/07/14(木) 07:44:38.40 ID:cfi8dg7p.net]
- クソの主観によりクソ認定されたコード達w
本当は良い奴も沢山いただろうに不憫だわーw
- 110 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 08:31:57.85 ID:qme/E7bl.net]
- 車輪の再発明しか出来ない人がいると聞いて。
- 111 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 23:14:34.82 ID:/IkQTUfk.net]
- DAO とかDTO ってのが出てくるアーキテクチャは手続き型であって、オブジェクト指向ではない
ってのが解る人ここにいるか?
- 112 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 23:20:25.90 ID:sS/v2c9e.net]
- そんな嘘ついちゃいけないんだお
- 113 名前:デフォルトの名無しさん [2016/07/15(金) 23:39:15.88 ID:iR/HdeCl.net]
- 今の日本人は>>111みたいな馬鹿が普通なんだお
|

|