前スレ
オブジェクト指向システムの設計 171 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1465636703/
探検
オブジェクト指向システムの設計 172 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1uy ◆e6.oHu1j.o
2016/07/09(土) 00:35:13.95ID:Mn3UGZ+O2016/07/09(土) 00:40:05.67ID:DRCwnEUQ
スレ立て乙
今回はどうなるものやら
今回はどうなるものやら
2016/07/09(土) 02:21:37.29ID:GFJ5/r//
今頃流行ってんだなOOP
10年くらい前は否定派のオッサンが多くてめっちゃ肩身狭かったけど
10年くらい前は否定派のオッサンが多くてめっちゃ肩身狭かったけど
2016/07/09(土) 02:35:54.68ID:3DBY5ZwO
>>3
お前の会社は可哀想だなw
お前の会社は可哀想だなw
2016/07/10(日) 09:45:08.81ID:uQXCaqsb
>>3
川俣 晶さんの著書を読むと、「C#で開発しているプログラマは、Java以上にすばらしいC#に満足して開発している。」
っていうふうなこと描かれているね。
あえて、OOPが良いとか、JavaよりC#が良いなんて書籍やネットで騒ぐより、C#でプログラミングしているほうが楽しいってことみたい。
ってことで、「OOP否定」の流れにくみする人が多かったということだったのかも?
川俣 晶さんの著書を読むと、「C#で開発しているプログラマは、Java以上にすばらしいC#に満足して開発している。」
っていうふうなこと描かれているね。
あえて、OOPが良いとか、JavaよりC#が良いなんて書籍やネットで騒ぐより、C#でプログラミングしているほうが楽しいってことみたい。
ってことで、「OOP否定」の流れにくみする人が多かったということだったのかも?
2016/07/11(月) 19:21:45.70ID:X0XbLs9u
C#でコーディングしてるんだけど、呼び出した1メソッドずつtry~catchで囲め、共通化メソッド内での分岐じゃ読みにくいって言われたんだけどそんなに読みにくいの?
3分岐ぐらいしかないんだけど
1メソッドずつコピペで囲んだらなんかあったとき修正漏れとかあると思うんだけど
俺がおかしいの?
throwするとわかりにくいって怒られるし。
3分岐ぐらいしかないんだけど
1メソッドずつコピペで囲んだらなんかあったとき修正漏れとかあると思うんだけど
俺がおかしいの?
throwするとわかりにくいって怒られるし。
2016/07/11(月) 21:38:01.16ID:qc/cfS6K
2016/07/11(月) 21:42:08.33ID:5tv/61n2
C界隈出身の先輩が言う事は話半分で聞いてりゃいいよ。
2016/07/11(月) 21:50:23.51ID:qc/cfS6K
2016/07/11(月) 21:53:10.62ID:aTiidMol
職場の人がみんなそうで、毎日変数一つにまとめろとかクラス一つにまとめろとかいろんな人から怒られたりして気が狂いそう
javaから入ってオブジェクト指向学んだんだけど、javaと同じようにオブジェクト指向で作っちゃいけないの?
戻り値列挙型で定義したら戻り値二択にしてboolで返せって、戻り値によってswitch文で処理書いてたんだけどそれも全部捨てろって
俺そんなにおかしいもの書いたのかな?
共通化したりするとわかりづらい読みづらいって言われる
javaから入ってオブジェクト指向学んだんだけど、javaと同じようにオブジェクト指向で作っちゃいけないの?
戻り値列挙型で定義したら戻り値二択にしてboolで返せって、戻り値によってswitch文で処理書いてたんだけどそれも全部捨てろって
俺そんなにおかしいもの書いたのかな?
共通化したりするとわかりづらい読みづらいって言われる
2016/07/11(月) 21:55:32.79ID:aTiidMol
>>7
共通化メソッドって言うのは例外処理のことね
例外処理一つにまとめたら例外ごとにメッセージ出せって言われたからメソッドこしらえたら分岐とか読み辛いからやめろって
読みやすいように考えたのに、そんなダメだったかな。
共通化メソッドって言うのは例外処理のことね
例外処理一つにまとめたら例外ごとにメッセージ出せって言われたからメソッドこしらえたら分岐とか読み辛いからやめろって
読みやすいように考えたのに、そんなダメだったかな。
2016/07/11(月) 22:01:49.58ID:dAMIv9Pn
13デフォルトの名無しさん
2016/07/11(月) 22:09:20.16ID:aTiidMol >>12
書いたらrunて押せばいいの?
書いたらrunて押せばいいの?
2016/07/11(月) 22:13:53.85ID:dAMIv9Pn
15デフォルトの名無しさん
2016/07/11(月) 22:21:48.36ID:aTiidMol16デフォルトの名無しさん
2016/07/11(月) 22:23:16.01ID:aTiidMol 変なのだったらごめん。
あとクラス名間違えてるごめん。
あとクラス名間違えてるごめん。
2016/07/11(月) 23:27:03.16ID:qc/cfS6K
>>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するの?
おまえ向いてないよ
わかりにくい(怒)
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するの?
おまえ向いてないよ
2016/07/11(月) 23:30:23.93ID:qc/cfS6K
レビューは的確に
誤解がないよう断定調で書く
反省を促すためにも積極的に人格否定などを織り込む
これ良いレビューの基本ね
がんばれよ糞コードヴォーイ
お前はセンスない上頭が悪くてきっとチビデブハゲブサメンワキガだけど、ここにコードを書いたガッツだけは認める
今日流した悔し涙は、明日のお前の血になる
誤解がないよう断定調で書く
反省を促すためにも積極的に人格否定などを織り込む
これ良いレビューの基本ね
がんばれよ糞コードヴォーイ
お前はセンスない上頭が悪くてきっとチビデブハゲブサメンワキガだけど、ここにコードを書いたガッツだけは認める
今日流した悔し涙は、明日のお前の血になる
2016/07/11(月) 23:33:42.75ID:MJsMJlaT
>>6
なんとも言えんなー
ぶっちゃけまるっとtry-catchで括っちゃうと不味い場面のが多い気がする
今の職場では「ハイ例外ハイ死んだーエラーログ出てるからオッケー」
なんてノリだけどな
途中で死んで処理切り上げて抜けました後片付けは知りません
落ちて死んだりもしたけれどアプリケーションは元気です!
ってそれ不良品じゃねーか!
って気がしなくもない
DB関連の処理ならロールバックあるけど
やっぱ真面目に作ろうとすると昔ながらのc言語スタイルかなと
なんとも言えんなー
ぶっちゃけまるっとtry-catchで括っちゃうと不味い場面のが多い気がする
今の職場では「ハイ例外ハイ死んだーエラーログ出てるからオッケー」
なんてノリだけどな
途中で死んで処理切り上げて抜けました後片付けは知りません
落ちて死んだりもしたけれどアプリケーションは元気です!
ってそれ不良品じゃねーか!
って気がしなくもない
DB関連の処理ならロールバックあるけど
やっぱ真面目に作ろうとすると昔ながらのc言語スタイルかなと
2016/07/11(月) 23:36:48.16ID:aTiidMol
>>17
返信ありがとう
createメソッドとかcopyメソッドとかが出現する場所全部に入れないといけないからそういう風にしてる
throwはするなって言われたからキャッチした場所でメッセージ出力して、場合によっては戻り値返してる
こうしたくてこうしたいんじゃないけど、現状非難は浴びてるから向いてないのかもしれない
返信ありがとう
createメソッドとかcopyメソッドとかが出現する場所全部に入れないといけないからそういう風にしてる
throwはするなって言われたからキャッチした場所でメッセージ出力して、場合によっては戻り値返してる
こうしたくてこうしたいんじゃないけど、現状非難は浴びてるから向いてないのかもしれない
2016/07/11(月) 23:37:44.57ID:qc/cfS6K
.______
. | | |
∩∩ | | | ∩∩
| | | | | | | | | | | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ,,) | | | (・x・ )<おらっ!出てこい、 ID:aTiidMol
/ つ━━"....ロ|ロ . | l |U \___________
〜( / | | |⊂_ |〜
し'∪ └──┴──┘ ∪
俺様が貴重な時間割いてレビューして下さったんだぞ?
涙の一つくらい流して感謝の言葉でも述べたらどうだ
お礼は三行以上
ついでに糞コード書いてごめんなさい、産まれてきてごめんなさいも言え、このビチグソが
こういう勘違いしたバカがリーダブルコード読んで利いたふうな口をきくからコードが糞臭くなるんだよ
PHPからやり直せ
. | | |
∩∩ | | | ∩∩
| | | | | | | | | | | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ,,) | | | (・x・ )<おらっ!出てこい、 ID:aTiidMol
/ つ━━"....ロ|ロ . | l |U \___________
〜( / | | |⊂_ |〜
し'∪ └──┴──┘ ∪
俺様が貴重な時間割いてレビューして下さったんだぞ?
涙の一つくらい流して感謝の言葉でも述べたらどうだ
お礼は三行以上
ついでに糞コード書いてごめんなさい、産まれてきてごめんなさいも言え、このビチグソが
こういう勘違いしたバカがリーダブルコード読んで利いたふうな口をきくからコードが糞臭くなるんだよ
PHPからやり直せ
2016/07/11(月) 23:39:31.75ID:qc/cfS6K
俺が悪かった
薬飲んで寝るよ
薬飲んで寝るよ
2016/07/11(月) 23:41:00.30ID:aTiidMol
2016/07/11(月) 23:45:26.00ID:jK3rCQ1d
精神不安定杉内
やっぱIT業界って頭やられちまう奴多いんだなw
やっぱIT業界って頭やられちまう奴多いんだなw
2016/07/11(月) 23:48:51.28ID:aTiidMol
>>19
そこまで複雑な処理じゃないんだ。
最初は下位で何かあったら共通処理から上がってきて、メソッド毎に○○処理中に〜みたいなメッセージ出力してまた投げて、メインで例外処理するだけのものだったんだけど、それじゃだめだって言われて
例外発生タイミングで例外処理しろって、投げるなって
じゃあチェック処理含めてcreateメソッド囲った共通処理作ってその中でメッセージ出力したらどうだって言ったら
ややこしいからコピペで一回一回囲めって言われたんだ
伝わるかな?
そこまで複雑な処理じゃないんだ。
最初は下位で何かあったら共通処理から上がってきて、メソッド毎に○○処理中に〜みたいなメッセージ出力してまた投げて、メインで例外処理するだけのものだったんだけど、それじゃだめだって言われて
例外発生タイミングで例外処理しろって、投げるなって
じゃあチェック処理含めてcreateメソッド囲った共通処理作ってその中でメッセージ出力したらどうだって言ったら
ややこしいからコピペで一回一回囲めって言われたんだ
伝わるかな?
2016/07/11(月) 23:58:21.13ID:EacXB/Ox
2016/07/11(月) 23:59:14.37ID:c813o9It
2016/07/12(火) 00:14:23.00ID:92wyFONm
using使え
2016/07/12(火) 00:18:40.28ID:StomlD/Y
C言語スタイルってなんぞ?
2016/07/12(火) 00:42:17.97ID:M/oXbOZH
>>27
いやいや
だって例外を1番上で捕まえると
死ぬ箇所によって死に方が千差万別よ
それって折角閉じたクラスや関数であっても大ジャンプしてケツも拭かずに飛び出して来るからね
だから例外を一括で処理するとデリケートな処理してっとこだとまじーんじゃねーかな?ってのは思うわ
いやいや
だって例外を1番上で捕まえると
死ぬ箇所によって死に方が千差万別よ
それって折角閉じたクラスや関数であっても大ジャンプしてケツも拭かずに飛び出して来るからね
だから例外を一括で処理するとデリケートな処理してっとこだとまじーんじゃねーかな?ってのは思うわ
2016/07/12(火) 00:45:40.75ID:StomlD/Y
Cって例外ないじゃん
C++は既にJavaに似た例外あるじゃん
C言語スタイルってなんじゃん?
C++は既にJavaに似た例外あるじゃん
C言語スタイルってなんじゃん?
2016/07/12(火) 00:48:43.19ID:M/oXbOZH
>>31
だから例外ないからその場で処理するしかないだろ
だから例外ないからその場で処理するしかないだろ
2016/07/12(火) 00:49:55.80ID:StomlD/Y
>>32
アナルほど凍死罵
アナルほど凍死罵
2016/07/12(火) 01:02:14.20ID:4M8hLvVe
2016/07/12(火) 01:03:49.06ID:4M8hLvVe
C言語よりもあとにできた言語では
ほぼ全て例外機構があって、例外を使うのが推奨されている。
(例外を使うなって意見聞いたことあるか?)
という現実を見れば議論するべき内容じゃない。
例外が良い。の一択
ほぼ全て例外機構があって、例外を使うのが推奨されている。
(例外を使うなって意見聞いたことあるか?)
という現実を見れば議論するべき内容じゃない。
例外が良い。の一択
2016/07/12(火) 01:09:39.99ID:umCvEWis
>>35
釣りか?
むしろ使うなという方が大勢だと思うが。
http://www.textdrop.net/google-styleguide-ja/cppguide.xml#%E4%BE%8B%E5%A4%96
釣りか?
むしろ使うなという方が大勢だと思うが。
http://www.textdrop.net/google-styleguide-ja/cppguide.xml#%E4%BE%8B%E5%A4%96
2016/07/12(火) 01:11:50.86ID:Vf+ZIi05
C言語の例外処理はシグナルを使う方法だろ
2016/07/12(火) 01:17:32.84ID:rBak2gB5
>>36
Googleは例外が使われていない大量のレガシーコードを抱えている
そのレガシーコードと例外を扱う今風のコードを混ぜることにコストがかかるから例外を使わないというルールになっている
新規にコードを書くなら例外でエラーするのが一般的
>>Googleの既存コードに例外に対する耐性がないことを考慮すると、Googleのプロジェクトで例外を使うのは、新規プロジェクトで例外を使うのと比べて、ややコストが大きいと言えます。
>>例外の変換プロセスには時間がかかり、問題になりやすいものです。また私たちはエラーコードやアサーションといった例外の代替手段が大きな障害になるとは考えていません。
Googleは例外が使われていない大量のレガシーコードを抱えている
そのレガシーコードと例外を扱う今風のコードを混ぜることにコストがかかるから例外を使わないというルールになっている
新規にコードを書くなら例外でエラーするのが一般的
>>Googleの既存コードに例外に対する耐性がないことを考慮すると、Googleのプロジェクトで例外を使うのは、新規プロジェクトで例外を使うのと比べて、ややコストが大きいと言えます。
>>例外の変換プロセスには時間がかかり、問題になりやすいものです。また私たちはエラーコードやアサーションといった例外の代替手段が大きな障害になるとは考えていません。
2016/07/12(火) 01:36:55.20ID:4M8hLvVe
2016/07/12(火) 01:37:15.67ID:M/oXbOZH
>>34
会社でどっちに倒すか?
ってなったら俺ならその場で対処だな
ロールバックの付いてないDBみたいな処理のが世の中多いと思う
例えば0割とかモノによってはその場で対処必須なものもやっぱあるわけで
どっちかに方針を統一しろって話になったら例外大ジャンプは取り返しがつかない事態を内包すると思う
まあ、概ね大丈夫ってのはわかるけどね
会社でどっちに倒すか?
ってなったら俺ならその場で対処だな
ロールバックの付いてないDBみたいな処理のが世の中多いと思う
例えば0割とかモノによってはその場で対処必須なものもやっぱあるわけで
どっちかに方針を統一しろって話になったら例外大ジャンプは取り返しがつかない事態を内包すると思う
まあ、概ね大丈夫ってのはわかるけどね
2016/07/12(火) 01:38:38.08ID:M/oXbOZH
文中の例えばは間違い
2016/07/12(火) 01:38:41.27ID:4M8hLvVe
2016/07/12(火) 01:45:58.42ID:4M8hLvVe
プログラミングやってて時たまいるんだが、
視野が狭いっていうか、何かをやれって言ったら、
それだけしかやらないやつな。
自分で適切なコードが何かがわからない。
マニュアル通りにしかコードをかけない。
そんなやつがいるんだよね。
例えば例外はちゃんとキャッチしろって言ったら、
はいはいわかりましたよって、すべての関数にtry-catchを入れる。
んで、え?あんたがキャッチしろっていったんでしょ?
だから全部入れてやったんですが?って言うようなやつ。
視野が狭いっていうか、何かをやれって言ったら、
それだけしかやらないやつな。
自分で適切なコードが何かがわからない。
マニュアル通りにしかコードをかけない。
そんなやつがいるんだよね。
例えば例外はちゃんとキャッチしろって言ったら、
はいはいわかりましたよって、すべての関数にtry-catchを入れる。
んで、え?あんたがキャッチしろっていったんでしょ?
だから全部入れてやったんですが?って言うようなやつ。
2016/07/12(火) 01:48:36.07ID:umCvEWis
2016/07/12(火) 01:55:35.82ID:4M8hLvVe
> しかし俺は逆に「例外を使え」ってのを聞いたことないんだが、
なんのために言語に例外なんて機能を追加していると思ってるんだ?
言語マニュアルを読めば例外はどういうときに使うもので、
どういう使い方をするか説明してあるだろ。
それにその言語のライブラリは例外使われてるだろ。
ごく普通に使われってるとおりに使えばいいだけ。
なんのために言語に例外なんて機能を追加していると思ってるんだ?
言語マニュアルを読めば例外はどういうときに使うもので、
どういう使い方をするか説明してあるだろ。
それにその言語のライブラリは例外使われてるだろ。
ごく普通に使われってるとおりに使えばいいだけ。
2016/07/12(火) 01:58:01.82ID:4M8hLvVe
まああれだ。C言語のしがらみがないライブラリで
例外を使っていないライブラリありますか?
という質問に答えてみればいい。
例外を使うのが自然すぎてわざわざ使えという話じゃないことがわかるはず。
例外を使っていないライブラリありますか?
という質問に答えてみればいい。
例外を使うのが自然すぎてわざわざ使えという話じゃないことがわかるはず。
2016/07/12(火) 01:59:34.67ID:rBak2gB5
>>43
エラーと例外の処理 (Modern C++)
https://msdn.microsoft.com/ja-jp/library/hh279678.aspx
>>最新の C++ のほとんどのシナリオでは、論理エラーとランタイム エラーの両方を報告および処理する方法として、例外を使用することが推奨されます。
エラーと例外の処理 (Modern C++)
https://msdn.microsoft.com/ja-jp/library/hh279678.aspx
>>最新の C++ のほとんどのシナリオでは、論理エラーとランタイム エラーの両方を報告および処理する方法として、例外を使用することが推奨されます。
2016/07/12(火) 02:01:08.65ID:rBak2gB5
2016/07/12(火) 02:01:24.87ID:4M8hLvVe
2016/07/12(火) 02:21:04.05ID:umCvEWis
>>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するなってのは環境的な問題もあるとは思うんだが。
情報ありがとう。頭だけざっくり読んだけど、詳細検討には時間がかかりそうだ。
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するなってのは環境的な問題もあるとは思うんだが。
2016/07/12(火) 02:28:01.69ID:SKMsT/RZ
>>6
tryで囲む領域が大きくなると、どこでエラーが起きたか、わかりにくい
throwはややこしい。
一々、これは内側、これは外側の関数で処理するとか、変わるのはややこしい
LinuxのようなC言語だと、関数の下の方に、
リソース解放などの共通処理をまとめて、gotoでそこへ飛ばすようにするけど、
まあ、ややこしいプログラミングは避けた方がいい
仕事のプログラムは、個人のプログラムとは、書き方が違ってくる。
初心者・新入社員も入って来るから、自分だけがわかる書き方はダメ
tryで囲む領域が大きくなると、どこでエラーが起きたか、わかりにくい
throwはややこしい。
一々、これは内側、これは外側の関数で処理するとか、変わるのはややこしい
LinuxのようなC言語だと、関数の下の方に、
リソース解放などの共通処理をまとめて、gotoでそこへ飛ばすようにするけど、
まあ、ややこしいプログラミングは避けた方がいい
仕事のプログラムは、個人のプログラムとは、書き方が違ってくる。
初心者・新入社員も入って来るから、自分だけがわかる書き方はダメ
2016/07/12(火) 02:33:58.13ID:4M8hLvVe
>>50
そんな小さい処理で同じとか言われてもな。
resultって数字しか返せないだろ。
例外ならオブジェクトを返すことができる。
エラーとして返せる情報は無限大だ。
見つからないパスがどこか情報だって返せる。
あと自動で上に戻る機能。
とかさ、例外の機能をお前は理解してるか?
してないだろ。
なんでどの言語にも例外があるのかを考えよう。
必要だったから例外を作ったんだよ。
これぐらいは理解しろ。
理解したら、なぜ必要なのかの理由を調べろ。
そんな小さい処理で同じとか言われてもな。
resultって数字しか返せないだろ。
例外ならオブジェクトを返すことができる。
エラーとして返せる情報は無限大だ。
見つからないパスがどこか情報だって返せる。
あと自動で上に戻る機能。
とかさ、例外の機能をお前は理解してるか?
してないだろ。
なんでどの言語にも例外があるのかを考えよう。
必要だったから例外を作ったんだよ。
これぐらいは理解しろ。
理解したら、なぜ必要なのかの理由を調べろ。
2016/07/12(火) 02:36:15.80ID:4M8hLvVe
> throwはややこしい。
> 一々、これは内側、これは外側の関数で処理するとか、変わるのはややこしい
うん。馬鹿だからだと思うよw
処理する必要があるときだけ処理する。
それだけのこと。
っていうかさ、さっき俺が言ったことじゃん。
自分で何が適切かを考えられない。
マニュアルを用意してほしい、そのとおりにやりたい
自分で何も考えたくない。
やれって言われたからやりましたー。
だから俺の責任じゃないですー。
自分で考えることを何もしようとしない。
> 一々、これは内側、これは外側の関数で処理するとか、変わるのはややこしい
うん。馬鹿だからだと思うよw
処理する必要があるときだけ処理する。
それだけのこと。
っていうかさ、さっき俺が言ったことじゃん。
自分で何が適切かを考えられない。
マニュアルを用意してほしい、そのとおりにやりたい
自分で何も考えたくない。
やれって言われたからやりましたー。
だから俺の責任じゃないですー。
自分で考えることを何もしようとしない。
2016/07/12(火) 03:23:53.60ID:umCvEWis
>>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の付け足しから感じた。
だいぶ読んだ。
どっちがいいかは結構微妙だと思うんだけどね。
結局の所全体ポリシーとして「例外」を考慮しないといけないし、もちろんRAIIも徹底してないと危険。
だから出来るだけスマポというのはその通りだけど、
言っちゃ悪いけどRAIIとスマポだけで行く気なら最初からGC言語使えばいいだけだし。
むしろGC言語でGCタイミングをユーザが完全に制御可能にして例外使いまくりというのが正解か?
ついでに教えて欲しいんだけど、下記URLにある
https://msdn.microsoft.com/ja-jp/library/hh279653.aspx
no-fail/strong/basic保証ってのは単なる知識として考慮しろって話であって、
コンパイラに型として指示してコンパイラ側で全部整合性をチェックしてくれるようなことはないんだよね?
どこまで処理するかにもよるけど、原因が分かってそれを通知出来ればいいだけなら、
むしろ「例外機構」の設計が必要になる分、無駄なような気も。
なんつーか、将棋ソフトの駒クラスの例外を設計しようぜ!みたいな。
例えば、
> 発生することのないエラーをチェックするには、アサートを使用します。
> 発生する可能性があるエラー (たとえば、パブリック関数のパラメーターにおける入力検証のエラーなど)
> をチェックするには、例外を使用します。(>>47内URL)
つまり、将棋で言うと「二歩」「打ち歩詰め」は例外として処理しろってんだろ?
なんだかウザイだけの気が。(まあそれ以前に駒クラスが不要だが)
元々は正常処理と異常処理のコードを「見やすさ」の為に分離したいというところから来ているはずなのだけど、
その「見やすさ」を得る為に他も色々注意して設計しろというのは無駄/本末転倒だと思うね。
ただそのコストが環境整備によって極限まで低下したのであれば、それもありかとも思うけど。
それがWindowsの世界なのかなとはgoogleの付け足しから感じた。
2016/07/12(火) 04:39:01.98ID:Vf+ZIi05
Googleのスタイルガイドを読む限り、Windowsのコードの場合は独自性ガ強くて
どうにもならんところが多いからコーディング規則を逸脱しても仕方がないって感じだな
どうにもならんところが多いからコーディング規則を逸脱しても仕方がないって感じだな
2016/07/12(火) 06:14:29.07ID:4M8hLvVe
>>54
あんたが例外を使ったことがないから
例外がすごく使いやすいってことを知らないだけ。
何かと理由をつけて使いづらいってことにしたがってるだけだな。
戻り値だと注意が必要な場面がたくさんあるが、
例外だとさほど注意しなくても正しく動くアプリが作れる。
なにせ例外処理する必要が有るところだけ書けばいいからね。
すべて正しく書かないといけないC言語方式は大変。
あんたが例外を使ったことがないから
例外がすごく使いやすいってことを知らないだけ。
何かと理由をつけて使いづらいってことにしたがってるだけだな。
戻り値だと注意が必要な場面がたくさんあるが、
例外だとさほど注意しなくても正しく動くアプリが作れる。
なにせ例外処理する必要が有るところだけ書けばいいからね。
すべて正しく書かないといけないC言語方式は大変。
2016/07/12(火) 06:16:12.63ID:4M8hLvVe
例えばC言語方式だと、
printfの戻り値までチェックしないといけない。
ちなみにprintfが失敗する例として書き込み不可能な
デバイスに標準出力をリダイレクトする等がある。
例外だとチェックしなくても書き込みができなかったときに
エラーで中断してくれる。
printfの戻り値までチェックしないといけない。
ちなみにprintfが失敗する例として書き込み不可能な
デバイスに標準出力をリダイレクトする等がある。
例外だとチェックしなくても書き込みができなかったときに
エラーで中断してくれる。
2016/07/12(火) 08:53:57.34ID:3JVrmQRs
例外を「例外」だと思わないマが多すぎる
とくにJavaから来た人
とくにJavaから来た人
2016/07/12(火) 10:05:30.22ID:KWfKXhYB
ところでOOPと関係ある?
60デフォルトの名無しさん
2016/07/12(火) 10:09:09.18ID:3O9ex62E 例外よりeitherの方が使いやすいよ
型安全だし
型安全だし
2016/07/12(火) 10:09:59.26ID:ddtK31Ex
ここはOOだけやってんだろ?Pはスレ違いだしな。
62デフォルトの名無しさん
2016/07/12(火) 10:10:01.65ID:3O9ex62E 例外よりeitherの方が使いやすいよ
型安全だし
型安全だし
2016/07/12(火) 11:43:29.90ID:K7Zjf19C
>>17はずれてるだろ
例外処理のメソッドを作った理由は「分割しなきゃならんほど複雑な処理している」からじゃなくて
「あちこちで発生する例外」を共通に処理するためだろ
だから当然再利用もしている
「catchすんのかthrowするのか」ってのも意味不明
例外処理のメソッドを作った理由は「分割しなきゃならんほど複雑な処理している」からじゃなくて
「あちこちで発生する例外」を共通に処理するためだろ
だから当然再利用もしている
「catchすんのかthrowするのか」ってのも意味不明
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★5 [BFU★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 [おっさん友の会★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 「韓国人の高市早苗評」、限界突破。 [592058334]
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- 1,000万円のBMWに擦ってしまった札幌のガキ、捕らえられてガチで詰む [329329848]
- >>3と>>5のワードを使ってai生成する
- ガバガバなんだよ
