ふらっと C#,C♯,C#(初心者用) Part140

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9e9f-LwdJ)
垢版 |
2018/10/04(木) 18:56:38.41ID:JnxMNCXd0
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part139
https://mevius.5ch.net/test/read.cgi/tech/1533466544/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2018/10/28(日) 01:01:32.10ID:sLs9tkqy0
>>267
全部パブリックにしろって話ではないと思うのだが、
クラスとしてちゃんと機能してるかをテストしやすくするものとして確認しやすいように設計をするようにと言われた
アクセッサを準備しろってことなのか
、protectedで作って継承してテストをしやすくしろってことなのかはわかってない
2018/10/28(日) 01:01:48.04ID:z9u8vCUJ0
>>266
なにそのキチガイ発言
2018/10/28(日) 01:05:59.90ID:sLs9tkqy0
>>269
たぶん本質は内部所持して扱う変数を極力減らしましょうってことなんかなって思ってる
クラスを使うのにA・B・Cを事前に呼び出して内部変数の設定をしないと使えないですとかだと
バグのもととかになるから条件縛りを減らしましょうとかってことなんじゃないかと
2018/10/28(日) 06:10:51.67ID:e0hkCJOP0
全部public staticにしろ
2018/10/28(日) 08:05:20.34ID:3RT+wTpd0
日曜プログラマです
理屈に疎いので教えてください
Win32APIをマーシャリングしてプログラムを作成中なのですが
コールバックをデリゲートでやってるので
これは必然的にFormとは別のスレッド(マルチスレッド)という理解で正しいでしょうか?
このコールバックからの信号をトリガーにForm上のコントロールを触ると
「別スレッドからアクセスした」と怒られます
これを回避するために別のデリゲートを挟んでコントロールを触っていますが
これ以外に方法ないでしょうか?
デリゲート挟むと時々信号取りこぼすみたいで
上手くコントロールが反応しないことがあるんで改良したいのです
2018/10/28(日) 08:25:18.25ID:SibvNmKY0
どうでもいいけどココって本当に初心者用スレなのかね
2018/10/28(日) 08:56:08.45ID:kvhoQsiz0
>>272
> コールバックをデリゲートでやってるので
> これは必然的にFormとは別のスレッド(マルチスレッド)という理解で正しいでしょうか?

どこのなんのコールバックなのかこっちは知らんのだが
「別スレッドからアクセスした」と怒られるんならそうなんでそ

> これを回避するために別のデリゲートを挟んでコントロールを触っていますが

デリゲートを挟んでとあるけど、前提としてコントロールを触る処理はInvokeメソッドにちゃんと投げてる?
2018/10/28(日) 10:44:38.69ID:zjm6bfwn0
すみません、c#の初心者です。UnityでRPGを製作しているのですが、質問があります。

if (条件式1) {
条件式1が真の時のダメージ処理;
...;
}else if(条件式2) {
条件式1が偽で条件式2が真の時のダメージ処理;
...;

これに、ダメージを999以下に抑えたいので<=999を入れたいのですが、どこに入れればいいのでしょうか?

簡単な質問で申し訳ありませんがよろしくお願いします。
2018/10/28(日) 10:51:17.84ID:JM6DGBKw0
>>275
ダメージ処理終わった最後
int dmg=0;
if (条件式1) {
条件式1が真の時のダメージ処理;dmg+=a;
...;
}
}else if(条件式2) {
条件式1が偽で条件式2が真の時のダメージ処理;dmg+=b;
...;
}
dmg=dmg>999?999:dmg;//またはif (dmg>999) dmg=999;
2018/10/28(日) 10:59:20.84ID:zjm6bfwn0
>>276
早速のご回答ありがとうございます!やってみます!
2018/10/28(日) 11:20:25.94ID:zjm6bfwn0
無事反映されました!ありがとうございます。
279デフォルトの名無しさん (ワッチョイ f7a5-Az/2)
垢版 |
2018/10/28(日) 11:48:33.54ID:3RT+wTpd0
>>274
Invokeメソッドに投げるとはこういうことでしょうか?
private void _TS()
{
TextShowDelegate dlgTS = new TextShowDelegate(TextShow);
IAsyncResult ar1 = BeginInvoke(dlgTS, null);
}
Tipsの寄せ集めでやってるので理屈はあまりよくわかってませんwww
280デフォルトの名無しさん (ワッチョイ 6bb8-3KA+)
垢版 |
2018/10/28(日) 11:54:36.96ID:Lzmpvi1g0
FXのEA(自動売買ツール)を提供しています。
興味がありましたら見てみてください。
http://hbgfvtgvfvr.weblog.to/
2018/10/28(日) 13:12:56.47ID:sLs9tkqy0
>>271
クラス化してる意味がほぼ無さそう....

コンストラクタで引数渡してメンバ変数にデータを覚えさせて使うのと
ことあるごとに内部関数の引数にデータを渡すのってどちらのが良いのだろう?
影響範囲とか小さくすることを考えると後者なのかなって思うけども
2018/10/28(日) 16:02:02.80ID:gvAysy2V0
>>281
あるメソッドで使うからコンストラクタで渡すって考え方自体おかしいかな
メンバはそのクラスが持つ必要があるから持っているわけでメソッドで使うから持っている訳では無い
例えば体クラスでBMIを計算するときは体重、身長は体情報だからクラスのメンバで持たせる
身長クラスでBMI計算するときは身長はメンバで持って体重はメソッドの引数で渡す
2018/10/28(日) 17:25:54.20ID:sLs9tkqy0
>>282
クラスの役割的にはそれであってるのだと思う
聞きたかったのは例えばその身長クラスに特化した話で
身長をそもそもメンバに持つ必要性はあるのだろうか?って話
2018/10/28(日) 17:38:11.82ID:ISWax1KhM
何か正しいかはユースケース次第
クラス単独での設計の正解なんか存在しない
2018/10/28(日) 18:47:58.26ID:VnMv7Anc0
身長クラスではなくBMI計算機クラスがいいのかな
2018/10/28(日) 20:53:14.99ID:c1Io2A4L0
>>279
https://qiita.com/mounntainn/items/8a2b4f1cf47bd02657f3

自分は上のに近いのでやってる
InvokeRequiedで判定してスレッドセーフにするのが定石みたいだね
287デフォルトの名無しさん (ワッチョイ 05a5-Az/2)
垢版 |
2018/10/29(月) 11:51:55.81ID:IQ5w1AIM0
>>286
情報ありがとうございます
勉強させていただきます
288デフォルトの名無しさん (ワッチョイ 5781-dYvX)
垢版 |
2018/10/29(月) 13:34:23.83ID:09l7CDuO0
C#ではnumpy.randomみたいにSeed値を指定するようなことってできるんでしょうか?
2018/10/29(月) 13:36:55.22ID:f3zS/OjjM
できる
2018/10/29(月) 14:41:55.61ID:xwSUZkbbd
とても初歩的な質問なんですが

protected AbBb _abbb;

こんな感じのプログラムってなんていいますか?
2018/10/29(月) 14:44:34.42ID:f3zS/OjjM
クソコードというんじゃない?
フィールドをprotectedにしているプログラムはC#では一般的にはそう呼ばれる
2018/10/29(月) 14:47:11.97ID:xwSUZkbbd
>>291
なんていうか、_と書くことで別のところから持ってこれるようになる方法のことです
2018/10/29(月) 14:52:04.17ID:oAZGLoeZ0
_から始まろうがそうでなかろうがC#では普通の識別子であって言語的に意味の違いはない
メタ的に意味はあるかもしれんがそれは文脈次第

なのでもうちょっと文脈を示してもらわないと意味分らん
294デフォルトの名無しさん (ワッチョイ d3eb-o1DS)
垢版 |
2018/10/29(月) 14:52:15.80ID:ZsrJ9icq0
>>292
DIっていうんだよ
2018/10/29(月) 20:42:23.22ID:1yFXm6Bf0
>>294
初心者相手なんだから略してない名称も書いてあげたら
296デフォルトの名無しさん (ワッチョイ 57e8-7TBo)
垢版 |
2018/10/30(火) 17:44:38.38ID:Vdu6vWjQ0
C#で組込み系ってできるの?
2018/10/30(火) 17:54:37.52ID:HzRny5oEM
最近は可能だが案件はなさげ
デバイスは限られるが自作なら余裕
298デフォルトの名無しさん (ワッチョイ 57e8-7TBo)
垢版 |
2018/10/30(火) 17:59:29.99ID:Vdu6vWjQ0
>>297
案件あって戸惑ってる
また1から学ばないといけないのか...
2018/10/30(火) 18:45:34.87ID:E+8/TrgCM
C#で実務の組み込みって制御系だろ?
変なプロトコルで機器と通信する必要があるだけで、普通のWinPCだぞ
2018/10/30(火) 19:37:58.29ID:cJDinX9aa
ググったら.NET Micro Frameworkってのがあるらしい
どのくらい使われているかは知らん
2018/10/30(火) 20:17:27.88ID:HzRny5oEM
ラズパイにwindows IOT入れてUWPで作ったり unityからUWP吐くとかもできるぽよ
従来の組み込みの世界とは別物だろけど

沼っぽいけど実績になれば
キャリア的には面白いと思う
2018/10/31(水) 02:11:45.22ID:90i4Cfzn0
c#って何から覚えてけばいいのだろう?
今の知識としては、インスタンス化は何かnewする奴だっけ? 的なレベル、何というか世界が広大すぎるしネットで調べてもサイトは何書いてんのか分からないし……わりぃ、やっぱつれぇわ
2018/10/31(水) 02:34:46.39ID:YeNkIpaX0
作りたいものを作る
その過程で必要なものだけを調べる
道具の使い方だけ勉強しても意味がない
道具は使うためにある
304デフォルトの名無しさん (ワッチョイ e3d2-8L5D)
垢版 |
2018/10/31(水) 03:38:24.10ID:OyhA4eFa0
>>302
C#は後発なだけあって負の遺産みたいのが少ないから
まずは自分に必要なところから覚えていけば大丈夫
やりたいことをやってるうちに疑問に思ったところを調べていけばおk
2018/10/31(水) 06:18:25.29ID:AV1WSlFbM
そのうち道具を使う為の道具を作り始める
負の遺産が溜まっていく
2018/10/31(水) 06:49:24.56ID:nRECWsn80
ラムダ式というのがよくわからないので教えてください
読んでる入門書に例えば普通のメソッドで
int add(int n){return n+2};
とあればラムダ式なら
n=>n+2;と書けるとあるのですがどうやって使えばいいのか?が書かれていません
どのように使えば良いのでしょうか?何が便利になってるのかも?です。
2018/10/31(水) 07:13:16.37ID:QxiZIYdtM
>>306
なんか色々説明が必要な時点でもうあんまよくない臭いしてるだろ?
2018/10/31(水) 07:29:35.90ID:xX3V2hUr0
間に合わせの説明として利便性をいうと
わざわざ関数addを明示的に作らなくてもその場で関数を作れる=関数名もつけるまでもない匿名関数として便利
ついでに引数と戻り値の型も省略できるからLINQの述語やプロパティ値をシンプルに記述できる
あとMVCのrazorでもヘルパーへの引数に、プロパティ値ではなくプロパティを渡すのに使われたり
2018/10/31(水) 07:57:27.30ID:AQSs4bkC0
>>306
書く方も別の場所にいちいち関数定義しなくて良い
読む方もそこに処理の内容が書いてあった方が良い

…とも一概に言えない場面は多いので、自分がコーディングしてて
脳が「ここラムダ式で書きたい」と自然に出てくるまでは封印しててもええんやで


void Do() {
 int buffer = {1,2,3,4,5};
 var q1 = buffer.Where(Even).Select(Plus2);
 var q2 = buffer.Where(x => x % 2 == 0).Select(x => x + 2); // q1とやってることは同じ
}

bool Even(int x) { return x % 2 == 0; }
int Plus2(int x) { return x + 2; }
2018/10/31(水) 12:29:27.76ID:NuHnUQr6a
>>306
デリゲートは理解してるの?
まずそっちを先に理解しないと、いきなりラムダ式を理解するのは無理ですw
2018/10/31(水) 17:27:52.66ID:nRECWsn80
>>310
すいません理解できてないです
というかまだ読んでる本で説明がなされていないようです…
この章を取り敢えず読み切った後また読み返せば理解できるってことですね
LINQとラムダ式?とやらを使わずにメソッド使えばいいやって認識だとこの先苦労しますか?
回答くださった方ありがとうございます
2018/10/31(水) 17:53:59.42ID:kfZUY5yUM
ちょうど600ページのよさげな本が出たぞ
2018/10/31(水) 18:24:52.71ID:NuHnUQr6a
>>311
LINQはともかく、ラムダ式は必須の知識でしょうね。
少なくとも使えるとコードの書き方に大きな差が出るのは間違いない

ただ、デリゲート自体が初心者には理解しづらい概念とも思うので
よく分からない場合は固執せず後回しにした方がいいかもしれないね

本質的にはそんなに難しい話じゃないから、最初分からなくても時間が解決するはず
2018/10/31(水) 18:35:27.38ID:hTEse2SW0
>>313
移植するとき面倒だから使わないで
2018/10/31(水) 18:45:54.15ID:kfZUY5yUM
LINQもRxも他言語に移植されまくりだが
316デフォルトの名無しさん (ワッチョイ 57a5-Az/2)
垢版 |
2018/10/31(水) 19:35:13.26ID:VqQq8o9J0
>>310
へえ、ラムダ式はデリゲートが基本にあるのか
2018/10/31(水) 20:19:37.23ID:hVPInHiK0
あるいは匿名メソッドを指して言ってるとか
記述が簡潔というのもあるけど肝はクロージャではなかろか
2018/10/31(水) 20:57:39.60ID:yW33Sn/GM
お前の知ってる言語とは限らんぞ
クソ会社特有の独自スクリプトとかな
2018/10/31(水) 21:09:44.33ID:N9TdgOC+0
>>315
MJD? KWSK
2018/10/31(水) 21:31:50.61ID:GKybvSyw0
リンクってのがよく理解できていない
2018/10/31(水) 23:31:16.71ID:Q2P2Jyf/0
SQLはひらめくけど、リンクはひらめかない
2018/10/31(水) 23:45:42.03ID:kwqElk+D0
linqより理解しやすいメカニズムも無いと思うけど
323デフォルトの名無しさん (ワッチョイ afeb-o1DS)
垢版 |
2018/10/31(水) 23:51:55.59ID:lqvIUA6e0
ラムダ式を理解するのにデリゲートなんて要らねえのにな
一体どんな頭してんだ
2018/11/01(木) 04:47:03.77ID:7mP44JOI0
タイプセーフな関数ポインタやコールバック、匿名関数で説明してるけど

それで通じないと どこから説明すれば良いかたいへん

デリゲートからの説明はしんどい…
2018/11/01(木) 04:56:16.11ID:7mP44JOI0
>>319
Wikipediaにもいくつか乗ってるよ
2018/11/01(木) 07:48:57.67ID:PBz6MbCm0
Linq は、Java のStream、Ruby on Rails と同じ。
関数型

メソッドチェーンしていって、一番最後にレコードを取得する。
遅延実行

ずっと、フィルター・SQL 文だけを組み立てて、一番最後だけアクセスする
2018/11/01(木) 11:43:18.05ID:Ezzdmjted
>>323
元の質問が理解は出来るけど使い方がわからないって話だからな
FuncやActionか、メソッドのデリゲート引数ぐらいでしか使わないしあながち間違えてない
2018/11/01(木) 11:46:58.88ID:DtT8Cv0dM
デリゲートはイベントにも使うよ
そしてそれこそがデリゲートを理解しにくいものにしている最大の原因でもある
2018/11/01(木) 13:53:28.62ID:Ezzdmjted
ラムダ式を何処で使うかの話でデリゲートを何処で使うかについてはふれてないよ
デリゲートの使い道でいうと非同期実行するために使うとか色々ある

ラムダ式に関しては、FuncやActionかメソッドの引数ぐらいでしか使ってないと思うんだけど他になんかある?
2018/11/01(木) 14:16:07.14ID:aKMxEeDc0
ローカル関数がなかった時代のローカル関数代わり
2018/11/01(木) 18:07:39.71ID:0xRkJrzka
式木
2018/11/01(木) 18:49:47.61ID:ECytQ9s20
ラムダ式使ったのはfind関数のときくらいかな
それ以外ほぼ使ったことない
2018/11/02(金) 00:13:13.50ID:cBjseW3X0
ワシの波動球はラムダ式まであるぞ
334デフォルトの名無しさん (ワッチョイ f68a-ZA70)
垢版 |
2018/11/02(金) 03:44:16.47ID:hToiCYAd0
Postgresを、SQLiteみたいにDBファイルとコネクタだけで使うにはどうすればよいでしょうか?
335デフォルトの名無しさん (ワッチョイ caeb-ZA70)
垢版 |
2018/11/02(金) 13:32:10.56ID:1IoIYp5Z0
無理だろそりゃ
2018/11/02(金) 13:46:37.38ID:n/9UgDRl0
>>335
portable版使ったことないの?
337デフォルトの名無しさん (ワッチョイ caeb-ZA70)
垢版 |
2018/11/02(金) 13:51:48.43ID:1IoIYp5Z0
>>336
>コネクタだけ
って書いてるからどうにもなんないよ
2018/11/02(金) 13:55:23.85ID:n/9UgDRl0
>>337
なんで?
339デフォルトの名無しさん (ワッチョイ caeb-ZA70)
垢版 |
2018/11/02(金) 13:56:59.71ID:1IoIYp5Z0
>>338
じゃあ俺には無理だから、あんたが教えてあげたら良いんじゃないの
2018/11/02(金) 17:21:36.81ID:ouVO3wBCd
namespace Drawlinetest
{
public partial class Form1 : Form
{
PictureBox pbox = new PictureBox();
Point pt = new Point(-1, -1);
public Form1()
{
InitializeComponent();
pbox.Location = new Point(0, 0); pbox.Size = new Size(500, 500);
this.Controls.Add(pbox); this.ClientSize = pbox.Size;
pbox.Image = new Bitmap(pbox.Width, pbox.Height);
pbox.MouseDown += MD;
}
private void MD(object sender, MouseEventArgs e)
{
Point p = e.Location;
if (e.Clicks > 1) { pbox.Image = new Bitmap(pbox.Width, pbox.Height); return; }//ダブルクリックで画像リセット
int x = pbox.Width - 1, y = pbox.Height - 1;
if (pt.X < 0 || pt.X > x || pt.Y < 0 || pt.Y > y) { pt = p; return; }
Graphics g = Graphics.FromImage(pbox.Image);
g.DrawLine(Pens.Black, pt.X, pt.Y, p.X, p.Y);
pbox.Refresh(); g.Dispose(); pt = p;
}
}
}

前スレにあったのを参考に400角にピッチ20の方眼を作りました。
クリック時に近い点を取って連続線にしたい場合どうすればいいですか?
2018/11/02(金) 17:41:50.22ID:KsjOw3TM0
>>340
「近い点」の定義は?
座標差が10以内の場合を0に近いとした場合
p.X=p.X-p.X%20+((p.X%20)>10?20:0)
Y座標にも同じような計算式を適用
でそのコピペしたところに組み込むときは画像範囲外の座標を指定した場合はリセットされるので、その辺も改変しないと
2018/11/02(金) 17:44:00.81ID:1rdv+QTJ0
リージョン
2018/11/02(金) 18:39:24.09ID:Zmz30XyOa
>>340
マウス座標に一番近い格子点の座標を求める方法って意味なら、

(1) マウス座標を囲む4つの格子点を返すメソッドを書く(マウス座標が格子点上の
場合に何を返すかは適当に決めて)

(2) マウス座標と任意の座標の距離(の2乗)を求めるメソッドを書く(ラムダ式でいい)

(3) LINQのOrderByでも使って(1)と(2)から求められる
2018/11/02(金) 18:43:56.30ID:Zmz30XyOa
今気づいたけど、MSDNのリファレンス、無茶苦茶見づらくなってない?
拡張メソッドはどこで見られるのこれ?
VS2010時代の人力で翻訳されたドキュメントも読めなくなってるし....

MSっていらんことする天才だなw
Googleもそうだけど
2018/11/02(金) 18:48:39.64ID:3EaYIZ29M
「英語で読む」が付いて格段に読みやすくなったわ
英語読めない人は大変だなw
2018/11/02(金) 19:00:33.18ID:YQK0i7tX0
サンプルコードがないメソッドを報告するって付けてよ
2018/11/02(金) 22:00:12.56ID:qBR9F2NOM
chromeの翻訳は実用十分
MSDNは昔より酷いよな
英語です読むオプションが便利やね
2018/11/02(金) 22:05:20.63ID:n/9UgDRl0
>>344
docsじゃなくて?
2018/11/03(土) 01:49:56.08ID:m4AFUYcO0
>>340
数学の問題かな
マウスの座標を20で割って商nと余りを求める
余りが0<10
x=20n
余りが10<20
x=20(n+1)
yも同様にして座標が求まる
2点の座標p1,p2に線を引く
これの繰り返し 
2018/11/03(土) 02:19:46.79ID:++9uwWwJa
グリッドならわざわざ距離なんか求めずX軸Y軸独立に最近傍検索しても同じことか
そりゃそうかw
351デフォルトの名無しさん (ワッチョイ 4ea5-PRUr)
垢版 |
2018/11/03(土) 07:55:15.80ID:SApjZlYC0
>>345
コンストラクタ、プロパティ、方法、イベント
「方法」ってなんだ?
と思ったらメソッドかよ!
こんなクソ訳付けられるなら英語の方がマシだなwww
352デフォルトの名無しさん (ワッチョイ 5b80-Q1ft)
垢版 |
2018/11/03(土) 08:03:39.30ID:rSl2Ac3O0
ついにMSもバカをきりすてはじめたか
いちいちバカの相手をしてたら大変だからな
2018/11/03(土) 11:23:12.64ID:+zJSXhjW0
方法はさすがに草
2018/11/03(土) 12:53:13.50ID:q2N3VeHVa
あえて誰にでも間違いがわかるバカな翻訳を残すことで、
俺達はもう英語の読めないバカジャップを相手にする気はない、英語を読むか廃業しろ、
というメッセージを伝えようとしているのだろう
2018/11/03(土) 13:25:00.49ID:XovyTjqY0
デバッグ用のビルドはこの設定ファイル、リリース用のビルドの時はあの設定ファイルの値を組み込みたい
ってときはどうやるの
2018/11/03(土) 13:37:41.08ID:N8ATSODSM
>>355
ビルドで切り替えるなら #if DEBUG で十分
Web開発で使われるような動的な設定の切り替えは、同じビルドを環境に応じた異なる設定で実行したいというニーズにおいて使用するもの
Webだと、ビルドしてステージング環境でテストしてそのまま同じものを本番にデプロイするんだよ
2018/11/03(土) 17:26:27.47ID:Kq73EWlFd
デリゲートって関数登録して好きなタイミングでそいつ呼べますよって使い方のイメージだけども違うんかね
2018/11/03(土) 18:29:16.11ID:SHI5qsHHa
>>357
前にも書いた気がするけど、本質はデリゲートっていう概念を導入することによって
デリゲート型の変数が作れるってことだと思うよ。

C#からデリゲートがない言語を見た場合、それは
デリゲートのリテラル( = メソッド)の定義は出来るのにデリゲートの変数の宣言はできない不自由な世界に見える
2018/11/03(土) 23:43:38.27ID:QP19bU4J0
数作ってる内に最初の設計こそが一番大事な気がしてきた
が、それで最後まで行けた試し無し
2018/11/04(日) 00:27:59.79ID:Ujv6OCQma
設計においては全体像を常に持ちながらもフェーズに応じて必要以上に詰めすぎることなく適切な抽象度に留めるバランス感覚が重要
厳格なウォーターフォールだろうとアジャイルだろうとそこは同じで、最初から細部を詰めようとするのは確実に時間の無駄
2018/11/04(日) 00:56:11.57ID:ycEmTONY0
設計力を高める(学習)するのに適切な書籍またはサイトがあれば教えてください。
2018/11/04(日) 00:56:42.60ID:316Hfb/o0
まあそうなんだけど、前工程が適当だと後工程が確実に割を食うじゃん。
どこら辺にいい加減があるんだろうな。
2018/11/04(日) 01:09:06.89ID:xCAdckZOM
>>361
ちょっと古いけどこれなんかわりと有名
https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ff650706(v=pandp.10)
2018/11/04(日) 10:06:20.84ID:TRDIKx2zM
権力のあるところがざっくりやって、弱い連中に細かいとこ押し付ける。
365デフォルトの名無しさん (ワッチョイ 5ba5-PRUr)
垢版 |
2018/11/04(日) 10:54:42.18ID:iKmrkyIQ0
ユーザーなども含めた他人の意見をフィードバックしようなどと
色気を出した瞬間、どこまで詰めるかなんて分からなくなる
結局一人で設計してどこまでやるかなんて一人で決断するしかない
アプリなんて自分が使って満足ならOK
2018/11/05(月) 15:59:03.10ID:QhIuz4Ucd
disposeを継承したクラスのインスタンスのデストラクタが参照があるときに呼び出されてるのだけど
そんな現象に見回れた人居ませんか
disposeの継承は関係ないかもしれないけどそのクラスの作りは今そうなってます
2018/11/05(月) 16:25:54.17ID:9y9XQ9xCM
ありえない
今更CLRのそんな基本的なところがバグってるなんて考えられないから、バグがあるのは間違いなく貴方の目か頭の方です
■ このスレッドは過去ログ倉庫に格納されています