C#, C♯, C#相談室 P ..
[2ch|▼Menu]
287:デフォルトの名無しさん
18/05/12 18:23:40.04 XEHHkDisM.net
自分のプログラムが汚いわかりにくいと思ったのなら、あなたはセンスがあるんだよ。
汚いプログラム書いて平気なプロもいるからね。
後はいろんなサンプルプログラムを検索して読んだらいい。あっ、これがいいとか気付きがあると思う。

288:デフォルトの名無しさん
18/05/12 18:26:39.51 XEHHkDisM.net
プログラマの能力を試すには書かせるより読ませるのがいいからね。
人のプログラム読めない奴は進歩ないから。

289:デフォルトの名無しさん
18/05/12 18:31:48.49 RvuVG0qm0.net
あれ、根本的なことが分かってないことが分かりました。
B DataHolder
C ゲーム
D スコア記録
CからBのインスタンスを生成
DataHolder dataHolder1=new DataHolder();
すればCのpublic変数aにアクセスするときはdataHolder.a=hoge;とかでいいけど、
DからBのdataHolder1の変数aにアクセスってできるんですか?
CからDにdataHolder1の参照を渡すってこと??

290:デフォルトの名無しさん
18/05/12 18:33:40.32 RvuVG0qm0.net
>>276
全部ではないけどほぼご指摘あってます・・・。
本に書いてある小さなプログラムはほとんどform.csに放り込んでたので、そんなものかと思ってた。

291:デフォルトの名無しさん
18/05/12 18:34:30.46 RvuVG0qm0.net
>>277
ありがとうございます。
今ようやっと設計の大事さを学習しました。
レベル0から0.01ぐらいには成長できた気がします。

292:デフォルトの名無しさん
18/05/12 18:35:15.53 RvuVG0qm0.net
>>280
そもそもこれが分かってなかったから一つのフォーム画面にいろいろ機能を盛り込みすぎたんだと。

293:デフォルトの名無しさん
18/05/12 18:37:29.64 RvuVG0qm0.net
>>280
間違いました。
あれ、根本的なことが分かってないことが分かりました。
B DataHolder
C ゲーム
D スコア記録
CからBのインスタンスを生成
DataHolder dataHolder1=new DataHolder();
すればCのpublic変数aにアクセスするときはthis.a=dataHolder.a;とかでいいけど、
DからBのdataHolder1の変数aにアクセスってできるんですか?
CからDにdataHolder1の参照を渡すってこと??

294:デフォルトの名無しさん
18/05/12 20:01:02.99 9rdAnFG4a.net
まあなんだよ
今の君に必要なのは鉛筆と紙だ
なんたらチャートのお作法なんぞ知らんでいいから、まずは機能を書き出して丸で囲め
それからどの機能が何処から必要になるかを線引っ張って繋げ
めちゃくちゃ線がごちゃごちゃするだろう?
それをなるべく少ない線で済むように書き直すんだ何回でも

295:デフォルトの名無しさん
18/05/12 23:33:51.06 RvuVG0qm0.net
>>285
自分で書いててこんがらがってきますね。
でもまずやってみます。

296:デフォルトの名無しさん
18/05/12 23:36:15.36 RvuVG0qm0.net
Aフォームのメンバ変数、メソッドを
BCフォームからも使用できるようするにはどうすればいいのでしょう。
Bだけで使用するならB内でAのインスタンス生成→ShowでAフォームを表示させればいいと思うのですが、
Cフォームでも使用するとなると、Cフォームで新たにAのインスタンスを生成するわけにもいかないですよね。

297:デフォルトの名無しさん
18/05/12 23:44:08.44 7v9y2RSd0.net
>>287
ググるなりして調べた?そろそろ初心者スレでやって
インスタンスを渡せばいいだけなのに

298:デフォルトの名無しさん
18/05/13 11:04:57.10 ySggkKZM0.net
>>288
すいません。
ググってもよくわからなかったので質問したのですが安易に人に頼りすぎてましたね。
昨夜からわからないところを実際にコードで打ち込んでみて実験重ねて理解できました。
インスタンスの参照渡すって言っても
フィールド渡し
プロパティ渡し
メソッド渡し
と色々方法あるんですね。インスタンスの参照を渡す方法が分かってなかったから一つのクラスに一杯盛り込むことになってたんだと理解できました。

299:デフォルトの名無しさん
18/05/13 11:06:37.40 ySggkKZM0.net
こういうのってCやってれば常識なんですね。
どこからC#でどこまでCの質問か分からずこちらで何でも聞いていました。
次から初心者板に移動してみます。
でも、みなさんのおかげでだいぶいろいろなことを学べました。
ありがとうございます。

300:デフォルトの名無しさん
18/05/13 13:59:35.41 23x2pXKw0.net
〇〇する機能みたいにして、重要だと思う機能ほど大きく書いて相関関係を、ドラマの登場人物の関係図みたいに描いたらなんとなくクラス図の基本が出来上がる。

301:デフォルトの名無しさん
18/05/13 14:41:31.02 ySggkKZM0.net
>>291
ありがとうございます。
クラス図についても勉強してみます。

302:デフォルトの名無しさん
18/05/22 22:37:35.74 gaTn3ZGLJ
Genericクラスのメソッドで
型が重複する場合の仕様について質問です
class Dic<T> : System.Collections.Generic.Dictionary<int,T>
{
    public bool Contains(int key)
    {
        return base.ContainsKey(key);
    }
    public bool Contains(T val)
    {
        return base.ContainsValue(val);
    }
}
ちょっと必要にせまられて、こんな雰囲気のクラスを作りました
基本的に、重複する型では利用しない予定ですが
気になってテストコードを作ってデバッグしたところ何の警告も出なく実行できて
「base.ContainsKey(key);」の結果が返ってきました
これは言語仕様でしょうか?
それともVisualStudioや.Net Framework仕様でしょうか?
どなたか詳しい方、おしえてください
※ 環境は Visual Studio 2017 Community Framework 4.6.1

303:デフォルトの名無しさん
18/05/23 19:32:08.48 Au5e7VGg0.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
094C5

304:デフォルトの名無しさん
18/05/25 17:55:34.06 kaJ5fQAg0.net
あくまでわかりやすくするために分けるのであって、クラスを分けることが目的になってしまってはいけない
余計わからん構造になる可能性があるからね

305:デフォルトの名無しさん
18/05/25 23:51:50.59 q1degsPf0.net
わかりやすくする為にわけるのではない
問題が適切に表現される様に自ずとにわかれるのだ
それが本質的にわかりにくい問題であるならば
わかれた結果わかりにくいのは当然の帰結である
己の能力をわかるまで高めるしかあるまい
わかめ

306:デフォルトの名無しさん
18/05/26 08:31:56.50 Mb7u4pS+0.net
なんか偉そうなこと言ってる

307:デフォルトの名無しさん
18/05/26 10:29:20.38 Qkk0DhfZM.net
ナイーブすぎ

308:デフォルトの名無しさん
18/05/26 16:16:32.23 nVIiMXOl0.net
桃とアロエのカネボウ

309:デフォルトの名無しさん
18/05/28 11:28:40.07 vRphuiRoH.net
ゲームくんのゲームは完成したのだろうか?
そもそもGameManagerクラスみたいなゲームを管理するクラス作ってないのが不思議
ゲーム管理クラス通して設定画面開いたり設定値を取得すればいいのに

310:デフォルトの名無しさん
18/05/28 18:36:44.90 rzi0Cqlc0.net
どんだけ連打してんだよ

311:デフォルトの名無しさん
18/05/29 12:36:07.71 0Vp36Os40.net
C#の勉強を講習会なりでお金を払う方式でレクチャーを受けたいのですが、どういった所が良いでしょうか?
ドットインストールやプロゲートの様な既にある動画を有料で見るのではなく、
欲を言えば1対1で即座に質問できる方式が良いのですが探してみたところ見つけられず、
初心者〜中級者を対象にした評判の良い講習会の様なものがあれば教えて頂けないでしょうか
東京都の渋谷区に住んでいます

312:デフォルトの名無しさん
18/05/29 13:37:15.19 dUPfr/v4M.net
もったいないね
マンツーマンで一時間5千円〜1万はらって12〜36時間でC#を勉強するくらいなら
入門書を3冊ぐらい買って1週間で何度も読めばいいのに

313:デフォルトの名無しさん
18/05/29 13:45:33.86 iBcg+dk20.net
しかし新しいC#の作法にのっとった良い入門書なんてあるかね?

314:デフォルトの名無しさん
18/05/29 13:47:56.92 dUPfr/v4M.net
新しい作法にのっとった講師のほうが少ないと思うよ

315:デフォルトの名無しさん
18/05/29 17:24:32.50 0Rufp4wm0.net
>>302
趣味目的なら金


316:]っているバカだし就職目的なら手に負えないバカ そんなことで身につかないからパソコン教室にでも通ってろ



317:デフォルトの名無しさん
18/05/29 18:15:54.45 5CF0lkGw0.net
パソコン教室じゃ、最高でエクセルの使い方くらいしか教えてくれねーだろ。

318:デフォルトの名無しさん
18/05/29 18:33:40.52 /62QaXdPa.net
>>302
金と時間の無駄って意見に俺も一票。
学校の勉強でもそうだけど、だいたい独習の方が効率が高いよ。
分からないところを質問できる人がいるとはかどるのは確かだと思うけど、
そんなの今はネットで代替できるし(しかもタダ)
子供の習い事みたいにモティベーション不足を金で補うっていうのはありかもしれないけど。

319:デフォルトの名無しさん
18/05/29 18:38:51.88 5CF0lkGw0.net
何とか教室や何とかスクールって、出逢いを求めて通うものだろ?

320:デフォルトの名無しさん
18/05/29 18:39:33.21 iBcg+dk20.net
云うてもプログラムって何すんの状態だと独学とか無理やん
まあ講習受けて出来るようになるかったら確率低いが

321:デフォルトの名無しさん
18/05/29 18:51:29.09 b3SRNDoC0.net
>プログラムって何すんの状態だと独学とか無理やん
そんな人はプログラムを触ることはないので問題なし

322:デフォルトの名無しさん
18/05/29 19:02:37.30 bwgc0PeYa.net
C#プログラマの求人いきゃいい
マンツーマンでみっちり教えてくれてしかも金ももらえるぞ

323:デフォルトの名無しさん
18/05/29 21:20:40.23 Zh8oS8xcM.net
>>303
>>308
でもさ、メンターがほしい気持ちは解るよ。独学で始めて今でこそイメージしたアプリは大体作れるようになったけど。

324:デフォルトの名無しさん
18/05/29 21:22:39.57 tOEtldFh0.net
教えてくれる人がいなくてもできるぐらいのやる気は持ってないと
教えてくれる人がいてもできない気がする

325:デフォルトの名無しさん
18/05/29 21:30:02.17 +v4yesMaa.net
独学でやってると自分のやり方が正しいのか確認が出来ない不安があるのはわかる
とにかくプログラムを書くこと、実務を重ねるとその不安は経験値でだんだん消えていく
とにかく経験を積むしかない

326:デフォルトの名無しさん
18/05/29 21:34:05.00 T0OOxyUA0.net
>>314
スレ違いになるけどモチベーション保つのが一番大事だからな
わからなくなるとやる気無くすから誰かに教えてもらいたい、って気持ちはわかるが

327:デフォルトの名無しさん
18/05/30 01:10:37.65 eBpQDrsU0.net
メンターってか、語れる仲間がほしい・・
だが人付き合いはめんどくせーw

328:デフォルトの名無しさん
18/05/30 01:15:01.88 9LsQ0F9t0.net
だから皆ここへ集うのですね

329:デフォルトの名無しさん
18/05/30 11:53:56.18 8D7UWmqma.net
メンター(導師)ってリアルで言ってる人を見ると笑うけど
意識高い系ですかって
メンターは技術面より精神的な面のよりどころだな
わけわからんけどこの人は正しい導いてくれるって人って思いこむ相手
c#入門にメンターがいる必要はないね
中級以上ならまだしも
入門者には導師より同志が必要かな

330:デフォルトの名無しさん
18/05/30 12:12:53.49 qVo0G4AWa.net
メンターなんて初めて聞いた
グルなら知ってる
jai guru deva om

331:デフォルトの名無しさん
18/05/30 12:16:35.68 4fnC318RM.net
>>319
とりあえず中途半端な改行やめたら?

332:デフォルトの名無しさん
18/05/30 12:53:27.56 2+ZWaFznd.net
メンター初耳って…
そりゃ昔はあまり使わなかったが今の20代なら大学で大方耳にしたことあるんじゃない?

333:デフォルトの名無しさん
18/05/30 13:06:00.57 tkaPgK/fa.net
ゲームの初心者指導機能以外で聞いたことない

334:デフォルトの名無しさん
18/05/30 14:44:19.09 zGXcDYuB0.net
ちょまど神に帰依するべきです

335:デフォルトの名無しさん
18/05/30 15:57:46.68 OvgslO8CM.net
CodeMentorっていう英語のメールニュース取ってるんだが?

336:デフォルトの名無しさん
18/05/30 17


337::39:32.49 ID:zRdb0GuK0.net



338:デフォルトの名無しさん
18/05/31 18:07:05.50 ZDpw5PAMd.net
引数ありのdelicateでデリゲートをnewする段階で
関数に引数渡しておくことはできますか?
使うときは引数関係なく実行するだけにしたい
delicateじゃなくてもそういう方法があれば教えてほしいです

339:デフォルトの名無しさん
18/05/31 18:49:53.75 YepGdlhS0.net
ない

340:デフォルトの名無しさん
18/05/31 19:21:37.82 mNqG/VKAa.net
>>327
たとえばこれを、
Action<string> a = Console.Write;
こうするだけと違うの?
Action a = () => Console.Write("Hage");

341:デフォルトの名無しさん
18/05/31 20:29:05.32 XpaqSCj3a.net
>>329
普通に考えたらそうなるわな
何がいいたいんやろ

342:デフォルトの名無しさん
18/05/31 21:18:37.12 ZDpw5PAMd.net
>>329
わかりづらくてすみません
Actionですね
これでちょっとやってみます
ありがとうございます

343:デフォルトの名無しさん
18/06/01 00:56:14.18 v9HhHj/a0.net
もしかして delegate? > delicate

344:デフォルトの名無しさん
18/06/01 01:50:30.82 Kjs/aFNB0.net
痒くなってきた

345:デフォルトの名無しさん
18/06/02 01:19:12.37 te+Rl8LG0.net
もうふらっとと統合しろよ

346:デフォルトの名無しさん
18/06/02 14:30:29.50 sz40x79U0.net
隔離用のスレを本スレに統合って斬新だな

347:デフォルトの名無しさん
18/06/05 14:10:31.00 kDP+/j8RM.net
デリケートって結局なんねことなんや

348:デフォルトの名無しさん
18/06/05 23:17:30.29 vNq9k7GF0.net
>>336
関数ポインタ

349:デフォルトの名無しさん
18/06/06 11:05:26.21 kgKhbEIB0.net
わかるように説明しろや!

350:デフォルトの名無しさん
18/06/06 11:13:20.04 Glbjy1Oa0.net
赤ん坊が庖丁持ったからと言って何かを生み出せるわけでは無し

351:デフォルトの名無しさん
18/06/06 13:00:14.82 /mNmPD5La.net
>>338
「〜とは何か」って哲学論争はたぶん時間の無駄w
実際の使われ方を見て何に使えるかを理解するのがいいよ
禅問答みたいに聞こえるかもしれんが、デリゲートのメリットは
デリゲート型の変数を作れること。
デリゲートの使えない従来の言語は、コードの中にdoubleのリテラルしか書けず
doubleの変数が作れないようなものだった

352:デフォルトの名無しさん
18/06/06 22:58:53.30 x4kBoo940.net
>>331です
Actionでできました!ありがとうございます。
クロージャー(?)っていうんですかね?
関数の外の値を引数で渡さずに関数内で使うやり方が知りたかったんです。

353:デフォルトの名無しさん
18/06/07 21:28:18.26 HziEaPXa0.net
デリゲート型の変数?????
デリゲート型にすると何かいいことあるのか?
デリゲート型にすると何がいいんだ??????何が使えるんだ?????

354:デフォルトの名無しさん
18/06/07 21:34:22.85 9x16GWRr0.net
>>342
ここ読め
URLリンク(ufcpp.net)

355:デフォルトの名無しさん
18/06/07 21:34:36.55 uqa5AZHUa.net
あーこういうの出来たら便利なのにー
って思ったら調べて使えばいいよ
使わんと頭入らないし

356:デフォルトの名無しさん
18/06/07 21:41:39.12 muNvrUxm0.net
デリゲート、デリゲートって、おまえら
青空球児・好児かよ。

357:デフォルトの名無しさん
18/06/07 23:38:02.20 p05PC41Ra.net
>>342
そうじゃなくて、上に書いたように、もしdoubleのリテラルしかコード中に書けなくて
doubleの変数が使えなかったらどう困るか考えて

358:デフォルトの名無しさん
18/06/07 23:51:09.11 HziEaPXa0.net
図にしてくれ

359:デフォルトの名無しさん
18/06/08 00:56:57.47 057UgUqy0.net
数値を格納する変数は int 型
文字を格納する変数は string 型
メソッドを格納する変数が デリゲート型

360:デフォルトの名無しさん
18/06/08 01:01:01.34 7BdVtDm70.net
なんで
メソッドを
格納する
必要が
あるんだよ


361:デフォルトの名無しさん
18/06/08 01:20:20.47 vel+6


362:yPba.net



363:デフォルトの名無しさん
18/06/08 07:41:09.77 V2PqzfzLd.net
>>349
自分の場合はある関数にある処理を追加したい場合とか
ある処理は呼び出しもとによって変わったり

364:デフォルトの名無しさん
18/06/08 07:54:30.62 VEbWNRWu0.net
>>351
ピンとこない
処理を追加したいならメソッド自体に書くか、overloadとかを考えちゃう
呼び出し元で処理変えるなら引数で、みたいな

365:デフォルトの名無しさん
18/06/08 07:59:48.51 FRxZCKgGa.net
メソッドを引数にして渡してあげられると、実行する側は何をするか気にしないでいいじゃない

366:デフォルトの名無しさん
18/06/08 08:15:18.51 H4l6t16fM.net
なぜデリゲートがあるか?
君も大人になったらわかるよ。
ママ、なんでボクはおチンチン付いてるの?
この疑問、時間が解決したろう。

367:デフォルトの名無しさん
18/06/08 08:30:05.85 V2PqzfzLd.net
>>352
今までの処理は極力変えたくない
引数にAction渡して関数はそれを実行
引数のActionはデフォルトにnullをいれておく
nullだったら処理しないようにすれば呼び出し元は必ずしも変更する必要がなくなる
なんでこうするかってテストするのがめんどいからとか色々

368:デフォルトの名無しさん
18/06/08 10:53:38.20 p6dJfT33M.net
>>355
さっぱりわからない
処理変えたくないメソッド実行
 ↓
その結果次第で別のメソッド実行
何故これで済まないの?

369:デフォルトの名無しさん
18/06/08 11:07:03.52 jzbZ53uGa.net
それでも済むよ
例えば繰り返し処理
forなくても書けるだろ。だからforなんて要らないって言ってるようなもん
なくてもプログラミングできるが、あれば楽できる

370:デフォルトの名無しさん
18/06/08 11:49:27.44 SrLrQXUUa.net
済まないw
>>356-357は-π/2〜π/2の範囲の実数の数だけ、それに対応する
sinの値を返すメソッドを用意すれば汎用的なsin関数なんかなくて済むと言ってるのと同じ。
だから、どうしてdoubleの変数が必要なのかと。
っていうかこの質問者、本当は分かってて質問してる変な奴だろうね8割方w
たぶん2chの他の板によくいる、サヨクを演じて自作自演やってる頭のおかしいネトウヨと似たようなメンタルの持主なんだろうと想像

371:デフォルトの名無しさん
18/06/08 13:02:11.32 V2PqzfzLd.net
>>356
voidだったら"その結果"ってどう受けとる?

372:デフォルトの名無しさん
18/06/08 13:04:11.27 7BdVtDm70.net
図にしろ・・・・・・・・・ッッツ!!!

373:デフォルトの名無しさん
18/06/08 13:14:18.16 0qxXZgjd0.net
アウアウアーの見本市

374:デフォルトの名無しさん
18/06/08 19:39:57.11 tyJ42miy0.net
なんか揚げ足取りしようとして引っ込みつかなくなってる感

375:デフォルトの名無しさん
18/06/08 19:42:51.67 sQqhvtlW0.net
URLリンク(ufcpp.net)

376:デフォルトの名無しさん
18/06/08 20:48:10.00 7BdVtDm70.net
つまりメソッドにラムダ式を渡して処理した結果を使ってメソッドの処理をさせるのか?

377:デフォルトの名無しさん
18/06/08 20:53:34.63 KYYD9BLCa.net
ごめん。ちょっと何言ってるかわかんない

378:デフォルトの名無しさん
18/06/08 21:00:06.62 E4qbFGXm0.net
結局デリゲートの非同期処理BeginInvokeを使用するってのが
従来大きな役割だったんじゃない?
でも今Taskクラスできたから必要なくなった

379:デフォルトの名無しさん
18/06/08 21:19:27.49 txACZHnFp.net
つまりクラス間通信。

380:デフォルトの名無しさん
18/06/09 12:11:29.33 VOfp/P7BM.net
デリゲート(委譲)って名前が悪いのかな
メソッドを他に渡しておいて適宜実行してもらうから委譲ともいえるけどそれは機能の一面しか表してない
MVPの人も過去にデリゲートいらねえって言ってたけど理解力が足りてない
c#は結構


381:「ろんなものがオブジェクトだけどメソッドはオブジェクトじゃない デリゲートを使えばメソッドをオブジェクト(変数)みたいな感じで扱える 普通の変数とは違って+=で複数のデリゲートをいれることができるのが特徴的 コールバックとして使えるしeventはデリゲートをもとに作られてるので基本的な使用範囲は広い



382:デフォルトの名無しさん
18/06/09 12:44:45.38 DBY1R4Jva.net
>>368
真面目な話、そういう衒学趣味の文系学生みたいな
文章が一番人を混乱させる。
「c#は結構いろんなものがオブジェクトだけどメソッドはオブジェクトじゃない 」って何やねんw
関数ポインタが分かればデリゲートがどんなものかはその類推でだいたいイメージできる。
機械語をやった経験があれば、関数ポインタなんか、なんだこんなのただのcall命令の
アドレッシングモードのことかってすぐわかる
でも重要なのは、「デリゲートとは何か」なんか分からなくてもデリゲートは使えるってこと。
「何か」なんか理解しなくていい。それを使って何が出来るかだけ理解すればいい。

383:デフォルトの名無しさん
18/06/09 12:58:26.33 54mp5fzVM.net
そう。ホビープログラマならね

384:デフォルトの名無しさん
18/06/09 13:02:40.19 Cz/ni8by0.net
ホビーじゃないプログラマ「c#は結構いろんなものがオブジェクトだけどメソッドはオブジェクトじゃない 」

385:デフォルトの名無しさん
18/06/09 13:05:05.70 oQlrsJoz0.net
それは無能プログラマ

386:デフォルトの名無しさん
18/06/09 13:31:49.04 kvLDmgw/0.net
>>371
この文何か変か?
メソッドはobject型から派生したクラスではないっていう当たり前のことを言ってるだけだろ

387:デフォルトの名無しさん
18/06/09 13:40:09.88 VOfp/P7BM.net
>>369
他の言語ではメソッドもオブジェクトとして扱えるものもある
c#はメソッドはオブジェクトじゃない
その類推が間違ってるからダメなんだけどなあ…
デリゲートは関数ポインタじゃない
callでもアドレッシングとも全然無関係だわ
機能的には似たようなものに見えるけど全然別物だ

388:デフォルトの名無しさん
18/06/09 13:51:37.94 MhKfyDgC0.net
>>369
文系学生もプログラミングする時代になったって事だよ。
> 「何か」なんか理解しなくていい。それを使って何が出来るかだけ理解すればいい。
これな。最近の「○○って何ですか」っていう奴らは何なんだ?
お前らだって、日本語の全ての漢字を読めるわけでもないだろうに。
「デリゲート」は失敗作だから新言語を作る気がないのなら理解する必要はない。
あれはthis+関数ポインタで、一番近いのはC++の「メンバ関数ポインタ」だが、
無駄に「クラス」「関数ポインタ」「ラムダ」を抽象化しようとしておかしくなってる。
結局ラムダを導入してしまったし、当初の方針は間違いだと認められたことになる。
今後「デリゲート」を採用する言語はないだろうよ。

389:デフォルトの名無しさん
18/06/09 13:57:35.17 1jan2CXL0.net
.NET Core で過去の遺産が全て無くなるかと思ったけどそんなことはなかったぜ

390:デフォルトの名無しさん
18/06/09 13:59:17.43 VOfp/P7BM.net
>>375
誤解したままで最後までつづけるんか?

391:デフォルトの名無しさん
18/06/09 14:07:54.32 VOfp/P7BM.net
もともと関数がオブジェクトである言語はデリゲートを導入するメリットは少ない
c#にデリゲートが無かったらjavaの様に専用のインターフェイスを継承した無駄なクラスを作らなければならなかった
ActionやFuncやラムダがあればデリゲートが必要なかったと言ってるのは何かを誤解してる

392:デフォルトの名無しさん
18/06/09 14:19:40.58 MhKfyDgC0.net
>>377
理解してなくても使えれば問題ないんだよ。
お前だってPCの起動方法(BIOSとか)知らなくてもPC使ってるだろ。
MSIL読めなくてもC#使えるだろ。
CPUの例外/割り込み機構を知らなくてもtry/catch使えるだろ。
一般プログラマにとってはプログラミング言語は道具であって、それ以上でも以下でもない。
新言語を作りたいのなら学術的に正確に理解することが必要だが、普通の人はそうではない。
それ以前にC#が死ぬ可能性を考えた方がいい。
C#専用の「デリゲート」の理解はつぶしが利かない。
他言語にもある「ラムダ」の理解のほうが重要だ。
デリゲート


393:ヘ「クラス」と「関数ポインタ+バインド」で対応した方が良かったと思う。 C#には未だに「バインド」がない=デリゲートでの対応になるが、 実際、後付でバインドすることが出来ないだけ不便だろ。 >>378 Javaみたいなそもそも「関数ポインタ」がなかった糞言語と比較したら駄目だよ。 Cには関数ポインタはあった。 C#はそれを「デリゲート」として拡張した。 他言語は「第一級オブジェクト」として拡張した。 今のところ、後者の方が正解っぽいだろ。 (俺自身にはイマイチ「第一級オブジェクト」である利点/必然性は見えないのだが)



394:デフォルトの名無しさん
18/06/09 14:24:48.97 VOfp/P7BM.net
関数がもしobjectクラスから派生したオブジェクトになるとメンバーを持てることになるんだけど
A.B().ToString()のToStringが
B()というメソッド自体に係ってるのか
B()の返した戻り値にかかってるのかがよくわからないことになる

395:デフォルトの名無しさん
18/06/09 14:25:53.62 54mp5fzVM.net
Javaってstaticメソッドを関数インターフェースに渡すときは最適化してくれんの?

396:デフォルトの名無しさん
18/06/09 14:30:26.04 AO7Grx3Qa.net
1+2*3
こんな計算式があったときに1+2をしてから3かけて答えは9
こうはならないだろ。それは優先順位を定めてるから。(1+2)*3のようにかけば期待通りになる
それと同じで関数がオブジェクトでメンバー持ててもそれに合わせた処理の優先順位を定めればいいだけ

397:デフォルトの名無しさん
18/06/09 14:32:21.62 VOfp/P7BM.net
理解しないのと誤解してるのではわかっていないという点では同じだけど
理解してない場合は理解していない前提で行動できる
一方の誤解してる場合は悲惨だ

398:デフォルトの名無しさん
18/06/09 14:33:21.85 MhKfyDgC0.net
>>380
お前は右結合と左結合を勉強しろ

399:デフォルトの名無しさん
18/06/09 14:35:46.47 VOfp/P7BM.net
>>384
じゃあどういう風に記述したらオブジェクトである関数のプロパティやメソッドにアクセスできるかここに書いてもらいたいが

400:デフォルトの名無しさん
18/06/09 14:36:40.18 MhKfyDgC0.net
>>383
お前は日本語を勉強しろ。
俺達は「理解しなくていい」=「完全に理解してはいないという自覚の元で使え」と言っているのであって、
それは「誤解」には繋がらない。
「誤解」ってのは、「理解してない馬鹿が理解しているつもりになっている」事を言う。
例えば、右結合と左結合を知らないお前みたいな馬鹿のことだ。

401:デフォルトの名無しさん
18/06/09 14:39:35.51 MhKfyDgC0.net
>>385
意味不明。何を書いて欲しいのか分からん。
> A.B().ToString()
これはAのメソッドB()を呼んでその戻り値に対してToString()を呼ぶ。
少なくともJavaScriptではそう。
で、何をしたい場合の記述が欲しいんだ?

402:デフォルトの名無しさん
18/06/09 14:48:14.18 VOfp/P7BM.net
>>387
思い違いをしていた
A.B().ToString()とA.B.ToString()で区別できる
クラスにフィールドとメソッドを同名にできないから区別できる
右結合と左結合は関係なかったけど

403:デフォルトの名無しさん
18/06/09 14:54:44.86 MhKfyDgC0.net
>>385
エスパーすると、言いたいことは分かった。
お前は「第一級オブジェクト」も理解しておらず、「誤解」している。ちゃんと勉強しろ。
「第一級オブジェクト」ってのは、通常のオブジェクトと関数オブジェクトを区別しない。
だから書式は当然同じだし、正しく理解していればこの点が疑問になりようもない。

>>388
なら日本語を勉強しろ
> B()というメソッド自体に係ってるのか
これで何を表現しようとしたか言ってみろ。それは
> A.B.ToString()
ではないだろ。

404:デフォルトの名無しさん
18/06/09 15:04:32.47 VOfp/P7BM.net
>>386
誤解は悲惨
delegateを削除しろと言って削除してみたらActionもFuncも使えませんでした
eventも使えませんでした
もちろん言語レベルで変数としてのデリゲートの代わりになるものもありません
>>389
> > A.B.ToString()
> ではないだろ。
いやいやそこはそのままであってるし普通にそう理解できないのか?
A.B.ToString()が正解
逆にどう勘違いしたのか聞きたい

405:デフォルトの名無しさん
18/06/09 15:06:54.66 VOfp/P7BM.net
本当にC#からdelegateを削除しろって言ってるんだったらどこかおかしい
何にも理解してない

406:デフォルトの名無しさん
18/06/09 15:06:56.64 AO7Grx3Qa.net
プロパティなんて関数オブジェクトみたいなもんだな
プロパティ


407:ノ引数渡してぇ



408:デフォルトの名無しさん
18/06/09 15:07:41.71 VOfp/P7BM.net
>>392
っVB.net

409:デフォルトの名無しさん
18/06/09 15:18:29.92 MhKfyDgC0.net
>>390
日本語で言うと、
> B()というメソッド自体に係ってるのか
と理解したって事だよ。
>>391
お前がな。
他言語にはdelegateなんて無いが、何も問題ないだろ。
あれ?って思えないのか?
(今すぐ廃止していいかどうかはまた別だが)
>>388
> クラスにフィールドとメソッドを同名にできないから区別できる
これは先見の明があったかもな。
関数を「第一級オブジェクト」に昇格させるのに文法的制約がない。
Javaに対しての利点にはなり、生き残る道かも。

410:デフォルトの名無しさん
18/06/09 15:25:50.19 MhKfyDgC0.net
>>392
JavaScriptではオーバーライドすれば出来る。
フィールド/メソッドの区別がなく、名前だけだから。
C#的には派生クラスで「プロパティ」「を同名の「メソッド」でオーバーライドだが、
これが型チェック的に無理なのか?
しかし名前の重複を許していないのだから、今後の拡張は可能のはずだが。
JavaScriptのデタラメ文法はどうかという奴もいるが、慣れてしまうと、
型あり言語の「型が違うだけ」で色々制約されるのも相当な糞だと気づけるぞ。
型検査はエラーではなく警告に留めるべきで、
プログラマがOKすれば型が不一致でも通してくれた方がマジで楽。
一番近いのはCってことになってしまうが。

411:デフォルトの名無しさん
18/06/09 15:29:15.96 a58WBe6r0.net
ア土曜の昼間からウアウアーの見本市

412:デフォルトの名無しさん
18/06/09 15:29:59.09 a58WBe6r0.net
友人ゼロのキモオタオッサンは他にやることないのかい

413:デフォルトの名無しさん
18/06/09 16:02:02.79 kvLDmgw/0.net
他の言語はともかくC#はGUIのイベントの管理にデリゲートのマルチキャスト使ってるんだから無かったら困るだろ

414:デフォルトの名無しさん
18/06/09 16:54:07.78 DBY1R4Jva.net
だからメソッドがオブジェクトかどうかなんて話はただの衒学趣味的な無益な話w
そんな話は「ではオブジェクトって何?」って不毛な議論になるだけでしょw
初心者がデリゲートを理解して使えるようになるための屁の役にも立たないよw
>>398
素直に考えればデリゲート自身にマルチキャストの機能を持たせるんじゃなく、
シングルキャストのデリゲートのリストとして実装する方法もあったはず
なんか理由があって「こういう」風になってるんだろうが俺には積極的理由はよくわからんね。
ジェネリックをデリゲートで制約できないことと関係があるのかもしれないが
なまじマルチキャストなんて機能があるせいで何だかわかりづらくなってる面は否定できないと思う

415:デフォルトの名無しさん
18/06/09 17:08:52.90 MhKfyDgC0.net
>>398
GUIに関してはdelegateの導入は不要だったで決着してる。
GUIにはOOPよりMVCの方が数段マシで、WPFもそうなってるだろ。
onclickにthisがバインドされている意味がそもそも無いんだよ。
決着が付いてないのはデータフロープログラミングをするときだ。
JavaScriptではObject.observeの導入が計画され、一部フィーバーしていたが、ポシャった。
URLリンク(www.html5rocks.com)
以下によると、非同期なのが使えなかったらしい。
URLリンク(tech.nitoyon.com)
JavaScriptの非同期は最早宗教だが、
はっきり言って無駄に非同期すぎて、余計にやりにくくなっているケースもある。これもそう。
C#は独自eventを実装出来るし、そのためにdelegateが用意されているから、
「データフロープログラミング」を文法的にサポートしているとは言える。
ただ、それ以前に、「データフロープログラミング」が主流ではないが。
お前らも実際、やってないだろ。
関数型の次に来るって事もなさそうだし。
とはいえ、上記の通り、今のJavaScriptではデータフロープログラミングは面倒だし、
getter/setterを頑なに拒むC++ではものすごくウザくなって事実上無理だ。
次の波が来ればevent/delegateも再評価されるかもしれん。

416:デフォルトの名無しさん
18/06/09 17:12:21.10 MhKfyDgC0.net
>>399
> シングルキャストのデリゲートのリストとして実装する方法もあったはず
同感。

417:デフォルトの名無しさん
18/06/09 17:15:16.30 bMpGWGQ30.net
理解してなくても問題なく使えるからって、それを理解しようとするのは悪い事じゃないけど
もとの発端はなんだったんだこれ

418:デフォルトの名無しさん
18/06/09 17:28:51.92 AO7Grx3Qa.net
デリケートじゃないか?w

419:デフォルトの名無しさん
18/06/09 17:32:16.71 1jan2CXL0.net
>>402
>>327 のデリケートが事の発端

420:デフォルトの名無しさん
18/06/09 17:43:13.42 VOfp/P7BM.net
誰かさんの大好きなLinqはdelegateの塊なんだけどdelegateなくなっていいのかな
他の実装ではdelegate使ってないけど今の.netではデリゲートで実装されている

421:デフォルトの名無しさん
18/06/09 18:48:11.73 0oARoVrcM.net
デリゲートにラムダ式にLinq大好きだ!
これ無くして生きてけない!
チームの誰も読めないから放置されて我が道を歩んでいる。
生産性と品質が高いから客には好評です。

422:デフォルトの名無しさん
18/06/09 20:25:40.95 7jH+OfQ/0.net
>>406
チームの誰もが読めないという事は保守性に欠けると言う事ですね

423:デフォルトの名無しさん
18/06/09 20:33:41.95 0oARoVrcM.net
そうだね。
でも、Linqバリバリ使ったらそうなるよね。
みんなの勉強しろよってこと。

424:デフォルトの名無しさん
18/06/09 20:39:16.25 h8CnrujR0.net
Linqが分からないってのはラムダ式を理解できないってことなの?

425:デフォルトの名無しさん
18/06/09 20:43:00.38 54mp5fzVM.net
行列計算ライブラリ書いてるときに
おれ掛け算わからんからおれに合わせて全部足し算で実装して
おれはいまお前の案件に関わってないけど将来そのライブラリメンテするかもしれんからヨロシクな
とか言う同僚がいたらこいち頭おかしいのかなって思うじゃん
いやいや掛け算を勉強してからっていうか最低限の単位を取ってからメンテしろよってなるじゃん普通
これがLinqやλやデザインパターンになると当たり前のように底辺至上主義がまかり通る不思議な業界

426:デフォルトの名無しさん
18/06/09 20:47:26.87 kvLDmgw/0.net
LINQはC#にしかないからまだわかるけどラムダ式はいまどきの言語ならほぼ実装してるから知ってないとまずいよね

427:デフォルトの名無しさん
18/06/09 20:50:03.81 2splWvty0.net
linqてC#にしかないのか

428:デフォルトの名無しさん
18/06/09 20:52:58.46 54mp5fzVM.net
Linqにも類似品あるよ
Javaのstreamやpythonのリスト内包表記など
というかそもそも単なるiterator patternでしかないからC#が起源ってわけでもない

429:デフォルトの名無しさん
18/06/09 21:00:28.55 4y2IVpvw0.net
Linq以前にIEnumerableの意味が解らない人がいるからどうしようもない
.NET2.0から順に教えろってことかよ・・・

430:デフォルトの名無しさん
18/06/09 21:03:28.98 MhKfyDgC0.net
>>410
と、底辺至上主義がまかり通る所の意識高い系が申しております
>>413
どう見てもSQLが起源だろ

431:デフォルトの名無しさん
18/06/09 21:07:24.39 54mp5fzVM.net
>>415
クエリ形式の文法はSQLが起源かもしれんが
実装はSQLとは全く関係がないよ
C#などの実装はまさしくiterator patternだけど
SQLの実装をiterator patternでやろうとしたら遅すぎる

432:デフォルトの名無しさん
18/06/09 21:07:34.76 4W3gH+0Ua.net
そもそも書けない奴は論外として、使うなってのは同意できる
簡潔に判りやすいラムダ書いてくれりゃいいが、わざとやってんじゃねってぐらい難読化する奴いるからな
正規表現、SQ、掲示板の長文も同じだな

433:デフォルトの名無しさん
18/06/09 21:12:52.02 0oARoVrcM.net
Linqに限らず最近のソフトウェア技術は高度で生産性も高くなってる。
昔も人によって生産性に差が出たが、最近だと理解出来るか出来ないか?ぐらいの圧倒的な格差だ。
理由出来ない人は辞めればいい。
生産性が飛躍的に上がってるので理解出来る奴だけで


434:間に合うよ。



435:デフォルトの名無しさん
18/06/09 21:17:22.22 ekScYlKMa.net
自称プログラマー(趣味)ならともかく職業プログラマーでLinqすら理解出来ないやついんの?

436:デフォルトの名無しさん
18/06/09 21:23:52.36 7jH+OfQ/0.net
Linqを十分に理解できても、可読性や保守性を大事にする人は
多少冗長でも他人が理解しやすい易しいコードを書くんじゃないの?

437:デフォルトの名無しさん
18/06/09 21:25:54.76 2splWvty0.net
Linqてそんな可読性悪くないと思うけどなぁ
コメント書いときゃ何となくわかるべ

438:デフォルトの名無しさん
18/06/09 21:26:49.03 v7FNkyrH0.net
>>418
出来ない人にも生活あるから辞めろとは言えないけどチームは分けて欲しい
使えて使いたい人がどんどん流出して出来ない人だけの会社になると悲惨

439:デフォルトの名無しさん
18/06/09 21:30:02.70 0oARoVrcM.net
>>420
圧倒的に生産性が高かったらどうなの。
最近の案件は短納期になってるし、昔のコボルみたいに何十年もメンテして使うシステムも少ないと思う。

440:デフォルトの名無しさん
18/06/09 21:32:37.20 VrCE6n6GM.net
ゴミのようなやりとり
いや、ゴミに失礼だな

441:デフォルトの名無しさん
18/06/09 21:33:12.66 0oARoVrcM.net
LinqよりSQLの方が難しいぞ。
SQLは難しいから使うなって言うのか?

442:デフォルトの名無しさん
18/06/09 21:35:27.62 ZDY9COOVd.net
業務でいじるレベルのコードなんて知らないものでもグーグル先生いりゃ大抵なんとかならない?
linqも初めて見たときはとっつきにくくてわかりづらかったけど使ってりゃ嫌でも覚えちゃうよ
つっても当然すべてを使いこなしてるわけじゃなくて自分に必要な範囲のみ理解してる程度
業界によってだいぶ差はありそうだけど

443:デフォルトの名無しさん
18/06/09 21:35:56.65 7jH+OfQ/0.net
生産性は保守運用まで含めてトータルで考えるべきで
保守性が損なわれればトータルコストも引き上がる

444:デフォルトの名無しさん
18/06/09 21:36:22.73 0oARoVrcM.net
>>424
あんたの書き込みがゴミだから。
オレらのやりとりがゴミだって言うなら、そう感じさせる様な高踏的な書き込み頼む。

445:デフォルトの名無しさん
18/06/09 21:51:21.02 lCnNI9uz0.net
保守性の低い Linq のコードってたとえばどんなの?
自分は他人のを読む場合でも特に困ったことないけどな〜。

446:デフォルトの名無しさん
18/06/09 22:13:44.82 MhKfyDgC0.net
>>416
イテレータの起源なら、C++(1983)は最初から持ってた。
C++のOOPはSimula発で、そっちが持ってたかは知らん。
いずれにしても、Java発の技術は存在しないぞ。
C#はLinqと、多分asyncもか?頑張ってる方だと思うが。
(あとちょっと違うがIDEのインテリセンスもC#が初のはず)

447:デフォルトの名無しさん
18/06/09 22:18:01.39 a58WBe6r0.net
クソカスの分際で人間様に話しかけてくるな
クソカスが引っ付くわ

448:デフォルトの名無しさん
18/06/09 22:36:24.46 d5fCz/GJ0.net
>>430
> (あとちょっと違うがIDEのインテリセンスもC#が初のはず)
インテリセンスはVB5.0の時代からあるんだが...

449:デフォルトの名無しさん
18/06/09 22:41:24.00 MhKfyDgC0.net
>>426
> 自分に必要な範囲のみ理解してる程度
多分これくらいが適正で、これなら大して問題にならないんだよ。
問題は、意識高い系馬鹿の>>418
> 昔も人によって生産性に差が出たが、最近だと理解出来るか出来ないか?ぐらいの圧倒的な格差だ。
みたいな、おかしな奴がいることだよ。
Linq自体でそんなに格差が出来るはずもない。
仮に、Linq部分を関数呼び出しに変えたところで、本体のコード構造は全く変わらないだろ。
便利機能だが、その程度でしかないんだよ。
逆に言うと、制御構造の違いで勝負出来ない、
新文法が読めることしか威張れない馬鹿がそこに無駄に拘っている気がする。

450:デフォルトの名無しさん
18/06/09 23:00:28.94 0BGOlb7W0.net
linq で Where と OrderBy 使ったところをチームリーダーから For と List<T>.Sort() に書き


451:キえられたことはある。理由は「他と違うから」 他と書き方を合わせておくのが大事なのはわかるけど…



452:デフォルトの名無しさん
18/06/09 23:10:59.82 1jan2CXL0.net
コーディング規約があるのならそれに合わせろよ

453:デフォルトの名無しさん
18/06/09 23:45:05.02 v7FNkyrH0.net
>>434
他と違うからって理由で直すのは良くないと思うな
本来関係ないはずのクラスの間に存在しないはずの関係性を作りこんでしまう
その結果、必要ない作業や、縛りを生み出して生産性を下げることになる
俺が経験したものだと
すでに書き終えたforeachをすべてforに統一
テスト済のDAO、DTOのsnake_caseを他レイヤに合わせてCamelCaseに統一
この2つが最高にバカバカしかった

454:デフォルトの名無しさん
18/06/09 23:56:36.61 wFjp4I59M.net
カプセル化を知らない人が少なくないのかな
「publicメンバーはクラス間のコミュニケーション円滑化のために規約として形式化しましょう」ぐらいならまあ理解できるが
「Linqはやめてループにしてくれ」なんて内部実装の形式にまで踏み込んでくるなよな
クラススコープで違和感なければそれでいいだろ

455:デフォルトの名無しさん
18/06/09 23:59:33.29 MhKfyDgC0.net
>>434
俺はC#erではないが…。
単発のLinqも認めてもらえないのならご愁傷様。あれは普通に読める範囲だ。
見た目、Linq自体にはサブクエリ無しか?ならそんな酷いことにはならないはずだが、
例えばSQLでは再帰呼び出しが出来たりして、
マンデルブロだパズル解くだとか、おかしな事になってる。
URLリンク(www.sqlite.org)
Linqでどこまで出来るか知らんが、こんなん書かれたら殴りたくもなるだろ。
基本的には関数呼び出しにしてその先は隠蔽、
つまりLinq実装かFor/List/Sort実装かは上位からは見えない、ってことにすれば関係ないはずだ。
ただ、その場にベタで「何を選択しているか」が書かれている方が読みやすいことは多々あり、
Linqもその局面で使われているとは思うので、全面書き直しだと余計に読みにくくなるとも思うが。

456:デフォルトの名無しさん
18/06/10 00:07:12.73 wNo6w9bX0.net
LINQってCube扱えるんだっけ?

457:デフォルトの名無しさん
18/06/10 00:11:20.35 FNJYuW1ra.net
>>437
どうでもいい議論だけど、一言。
カプセル化っていうのは「メソッドの中は可読性考えなくてよい」って意味じゃないよw
LINQ(というかクエリ式)嫌いの大半は批判してる人間がそもそも理解してないだけだと思うが一理はある。
それは使い方によっては複数の処理が有機的につながった、適切に分割統治されてない、
可読性の低いコードになるからだ
実際、筋の悪いプログラマが好む100行オーバーのメソッドに近い物になりうる

458:デフォルトの名無しさん
18/06/10 00:20:43.11 kZ6+r7gZM.net
>>440
どう読んだら「メソッドの中の可読性は考えなくていいよ」になるんだろ
外部の都合を内部実装にまで持ち込むな
クラス内での可読性が十分ならそれでいいだろ
って主張な
正しく動いて綺麗なコードを他のクラスの都合で書き直す
俺はこれある意味カプセル化破壊と言っていいと思う
もちろん本来の意味でのカプセル化とは違うのはわかってる

459:デフォルトの名無しさん
18/06/10 02:00:10.36 gGHljlXMa.net
>>441
どう読んでもそうとしか読めません
自分で自分の書いてあることが理解できないのかw
「メソッドの中は可読性考えなくてよい」と言っているのでなければ
>>437の1行目と4行目はつながらない。
カプセル化を理解していてもメソッドの中の可読性、例えば
「Linqはやめてループにしてくれ」と言うことはあり得る。
なぜなら、カプセル化とは「メソッドの中の可読性は考えなくていいよ」という意味ではないからだ

460:デフォルトの名無しさん
18/06/10 02:01:02.


461:37 ID:gGHljlXMa.net



462:デフォルトの名無しさん
18/06/10 05:17:43.99 4PiVyKtW0.net
ランダムな指定回数オブジェクトを作成する方法ないですか
7時まで待つ

463:デフォルトの名無しさん
18/06/10 06:46:45.50 Kj8YEAmO0.net
>>442
横からだけど、そう思えるのはお前さんがLinq使ったら可読性悪くなるって決めつけてるからじゃないの?

464:デフォルトの名無しさん
18/06/10 06:46:55.66 CFkipoua0.net
Random

465:デフォルトの名無しさん
18/06/10 08:32:28.14 RI4Vnlqm0.net
>>436
コーディング規約を読んでないお前か
コーディング規約を定めてないお前の組織がバカなだけ

466:デフォルトの名無しさん
18/06/10 08:41:39.38 HMOXZXoS0.net
この話いつまでやるの?

467:デフォルトの名無しさん
18/06/10 08:43:37.52 kZ6+r7gZM.net
>>447
コーディング規約がバカなんだよ

468:デフォルトの名無しさん
18/06/10 09:22:16.29 z8uYskXvM.net
就職できるように頑張れ

469:デフォルトの名無しさん
18/06/10 09:35:53.15 0WF1gq+N0.net
スレにも規約作って変な奴は矯正しないといかんな。

470:デフォルトの名無しさん
18/06/10 09:58:39.22 kZ6+r7gZM.net
変数を関数の先頭に書く
returnは1つまで
変数名の先頭に型の略字を書く
varは使ってはいけない
こういうひと昔前まで大衆が信じてたバカ規約
システム全体で統一感のあるコードを書くって規約もいずれその仲間入りするとおもう
いまはまだIT業界全体が未熟だからみんな気付いてないだけ

471:デフォルトの名無しさん
18/06/10 10:22:35.79 YCs8n+CmM.net
ちょっといいですか、この関数100行超えてます。
規約違反で可読性なくなります!
レビューで積極的に発言するサル、何も知らないで自分は立派なプログラム書いてると思っている。
ちなみににLinqの方が可読性上がるよ。
Linqはやりたいことをズバッと書ける。
古いやり方だと、このforループなに?ってなる。
forループは実装手段であって目的じゃないから。
単に慣れ、新しいこと勉強したくない連中が可読性だの規約だの持ち出す。

472:デフォルトの名無しさん
18/06/10 10:39:02.74 0nkwjY0q0.net
分割すれば良いじゃん
それが出来ないことを相手のせいにするな

473:デフォルトの名無しさん
18/06/10 11:01:43.43 wNo6w9bX0.net
魔板でやれや

474:デフォルトの名無しさん
18/06/10 12:09:56.40 ycwHE1rSa.net
>>445
どこが決めつけてる>>440

475:デフォルトの名無しさん
18/06/10 13:05:02.68 fXHYwG6AM.net
C#のLinqを使っているのならPythonの方が2倍速くなる
URLリンク(qiita.com)
C# の Linq が python の2倍遅い、は嘘
URLリンク(qiita.com)

476:デフォルトの名無しさん
18/06/10 13:22:36.14 8jSf3er6M.net
俺が知りたいのは、オブジェクトをx回作るやり方なんだよ

477:デフォルトの名無しさん
18/06/10 13:47:05.85 FyF+mujLM.net
for(var i=0;i<n;i++)Days[i]=new Day(i);

478:デフォルトの名無しさん
18/06/10 14:27:51.17 A9qrJ+Er0.net
linqで発狂してるジジイはSQL絡みでよくわからないエラーに出くわして理解できなかったんじゃないの

479:デフォルトの名無しさん
18/06/10 17:59:54.77 Nj3/us+lM.net
もう全部varでええやろ

480:デフォルトの名無しさん
18/06/10 18:16:30.94 Ve8EHXbu0.net
保守性の低い Linq を使ったコードの実例を見たいんだけど。

481:デフォルトの名無しさん
18/06/10 18:55:50.21 FyF+mujLM.net
クエリ式を使ったのは単純なのはわかりやすいけど複雑になるとお手上げ
メソッド形式で使ったとしても逆にクエリ式のfromを二重の使ったほうがいいのにSelectManyを使ってるやつは非常に醜い
JoinやAggregateも可読性が以上に低い


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

292日前に更新/268 KB
担当:undef