トップページ > プログラム > 2016年07月13日 > 7t1kL6eB

書き込み順位&時間帯一覧

4 位/179 ID中時間01234567891011121314151617181920212223Total
書き込み数1000001000000000000000125



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
オブジェクト指向システムの設計 172 [無断転載禁止]©2ch.net
Visual Studio 2015 Part6©2ch.net

書き込みレス一覧

オブジェクト指向システムの設計 172 [無断転載禁止]©2ch.net
70 :デフォルトの名無しさん[sage]:2016/07/13(水) 00:20:45.58 ID:7t1kL6eB
>>68
Eiffelみたいな契約プログラミングによる保証か、
https://ja.wikipedia.org/wiki/契約プログラミング
もしくは、
C++11のnoexceptのような仕組みかな
http://cpprefjp.github.io/lang/cpp11/noexcept.html
オブジェクト指向システムの設計 172 [無断転載禁止]©2ch.net
84 :デフォルトの名無しさん[sage]:2016/07/13(水) 06:22:04.43 ID:7t1kL6eB
>>80
>契約プログラミング
C++だとBoost.Contract
.NetだとSystem.Diagnostics.Contracts
があるね
使ったことないけど

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

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

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

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

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

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

>Either
"C++ Either"や"C# Either"でググれば「書いてみた」系のブログが引っかかる
Visual Studio 2015 Part6©2ch.net
29 :デフォルトの名無しさん[sage]:2016/07/13(水) 22:27:12.36 ID:7t1kL6eB
>>27
Microsoft Visual Studio 2015 Installer Projects
https://visualstudiogallery.msdn.microsoft.com/f1cc3f3e-c300-40a7-8797-c509fb8933b9?SRC=Featured
Visual Studio 2015 Part6©2ch.net
32 :デフォルトの名無しさん[sage]:2016/07/13(水) 23:25:16.33 ID:7t1kL6eB
>>31

(1)セットアッププロジェクトのプロパティから[Prerequisites...]ボタンをクリック

(2)[インストールする必須コンポーネントを選択する]で配布したい.NET Frameworkを選択

(3)[アプリケーションと同じ場所から必須コンポーネントをダウンロードする]、にチェックを入れる

(4)そのままビルドすると、「ERROR: 必須コンポーネント ダイアログ ボックスで [次の場所から必須コンポーネントをダウンロードする] を有効にするには……」というエラーが出る

おそらく、↓と同じ症状。
C#2005 ExpressEditionでの配布方法
https://social.msdn.microsoft.com/Forums/ja-JP/ff8dca87-8620-4820-aa28-a7790caf8556/c2005-expressedition

(5)ビルドエラーに表示された.NETのオフラインインストーラと言語パックをダウンロードする
例えば.NET 4.5.1なら、
本体:NDP451-KB2858728-x86-x64-AllOS-ENU.exe
言語パック:NDP451-KB2858728-x86-x64-AllOS-JPN.exe

(6)ダウンロードしてきたインストーラと言語パックをそれぞれ以下のフォルダに移動する。
C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\DotNetFX451
C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\DotNetFX451\ja

※ フォルダ名
Visual Studio 2015 Part6©2ch.net
33 :デフォルトの名無しさん[sage]:2016/07/13(水) 23:27:13.34 ID:7t1kL6eB
>>32おっと、途中で切れた
続き

(6)ダウンロードしてきたインストーラと言語パックをそれぞれ以下のフォルダに移動する。
C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\DotNetFX451
C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\DotNetFX451\ja

※ フォルダ名の「DotNetFX451」は、使用する.NETのバージョンによって読み替えて

(7)インストーラプロジェクトをビルドする
エラーが消えればOK


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。