[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/31 20:30 / Filesize : 250 KB / Number-of Response : 1034
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C#, C♯, C#相談室 Part94



1 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 15:36:53.26 ID:S+KK7a41.net]
■Visual Studio 2015 Community & Express (無償の統合開発環境)等はこちら
www.visualstudio.com/downloads/

■コードを貼る場合はこちら
ideone.com/

■前スレ
C#, C♯, C#相談室 Part92 (実質93)
echo.2ch.net/test/read.cgi/tech/1485589613/

■次スレは>>970が建てる事
建てられない場合は他を指定する事。

876 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 02:51:53.86 ID:GlXmqXn2.net]
C#って、普及してる割にgithubのリポジトリ数が少ないと思うんですが、やっぱりサラリーマン向け言語だから趣味でコード書いて公開する人が少ないんですか?

877 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 03:18:45.27 ID:2WV6tJ0M.net]
業界談義はプログラマー板でってローカルルールすら守らないのは何で?

878 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 03:30:12.26 ID:hGij+Jvi.net]
ここ数年はGitHubランキング的なのを8-10位あたりでふらふらしてるけど
普及している割にというか「そんなもんじゃね?」という感覚だな

879 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 03:38:06.62 ID:/02if2W5.net]
事実から目を背けるなんてまるでマカーのようだ。フフフ、笑える。

880 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 07:49:55.20 ID:1BwGqO5B.net]
別にネガキャンとかじゃなくて普通の話題として振るけども

俺の周りの(趣味で)C#やってる人間がみんなKotlinに浮気しだしたんだが
そいつら曰く、
KotlinはなんとなくC#的な雰囲気あって良い
って薦めてくる

まだ触ったことないんだけど、実際のとこどうなの?

881 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 08:21:22.07 ID:0vilsSxc.net]
KotlinはなんとなくじゃなくてC#を名指しでリスペクト(公然と丸パクリ)してる
C#もこれまで拡張を繰り返してきて綻びや変えたいけど互換性の問題で今更変えられない部分が沢山出ているので、
それを全面的に見直して綺麗に整理してある
難点を挙げるとすれば、今のところ全体的には素直で普通な言語にまとまってはいるけど
Kotlinがパクリ元のC#やScalaによらずリリース後に独自に入れている部分については
節操がなくあまりセンスが良くなくてScala化の兆しが見えていることかな
あの調子だと結局はScalaみたいに破綻すると思うよ

882 名前:デフォルトの名無しさん mailto:sage [2017/ ]
[ここ壊れてます]

883 名前:10/13(金) 08:23:13.20 ID:vLRRsIkM.net mailto: Kotlin [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1456505161/
[]
[ここ壊れてます]

884 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 08:41:24.05 ID:0vilsSxc.net]
C#が優れてるのは、独自路線の大きな拡張を長期にわたって繰り返し続けているのに
大きな破綻なく複雑にもなりすぎず言語を維持できているという点だ
他の言語の悪いところを見つけるのは簡単だが、トップランナーとして新しいものを作っていくのは遥かに難しいんだよ
その意味ではKotlinは粗探しは非常に上手いが、後者のセンスはC#のように天才的なものは感じないね



885 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 10:40:17.30 ID:c2xsGjmq.net]
C#に対する不満てほとんどは
Windows自体か.NET Frameworkに対する文句だからな

886 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 10:42:45.04 ID:kWGNHU+4.net]
>>844
処分して、頼むわ

887 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 11:05:21.86 ID:iKXV2/QB.net]
linqのクエリ構文が出た時はどうなることかと思ったが、
メソッド構文が出て良かったよ

888 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 11:19:12.84 ID:mWlYF3iB.net]
MicrosoftはいまC#よりTypeScriptに力入れてんじゃないの

889 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 12:10:11.58 ID:DI18WdpZ.net]
>>862
どっちも
c#はほぼ.NET Coreと.NET Standardに全振り

890 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 12:21:05.14 ID:rXsVXlwO.net]
VSCodeは使いやすすぎてびっくりする
TypeScriptでインテリセンスが効くのはわかるが、型書いてない普通のJSでも余裕で効く
エスパーかと思うレベル
このままいくとVSもVSCodeに吸収されそうだね

891 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 12:36:56.29 ID:/02if2W5.net]
>>858
Javaが出てときと同じこと言ってる。同一人物か。

892 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 12:41:01.56 ID:hGij+Jvi.net]
VSもVSCodeに吸収されそうの意味がさっぱりわからんが
フォントレンダリングだけはちゃっちゃと同じにして

ちゅーかもういい加減Windows全域でフォントのヒンティング切っとけや
本来にもう少しマシなレンダリングできるのに完全に癌になってるじゃろ

893 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 13:12:20.54 ID:n8HgMJNJ.net]
やる気があればVistaの時点でやってただろうねw
どうしてMSみたいな大企業が作ってるOSがフリーのLinuxより酷い品質なのかちょっと理解できないけど

894 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 13:17:51.90 ID:O16XdCSv.net]
VScodeってそんな魅力的じゃないよ
どちらも使ってるけど総合力じゃ今のVSのほうが数段上

VSCodeも最初と比べるとどんどん起動が遅くなってきてる



895 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 13:42:36.90 ID:mWlYF3iB.net]
そらそうやろ

896 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 15:21:15.25 ID:bQrnObX5.net]
vscodeって単なるエディタだろ

897 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 15:37:07.18 ID:vLRRsIkM.net]
vsも単なるエディタだよね・・・

898 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 15:58:23.34 ID:/02if2W5.net]
C#がVB化してユーザーも低スキル化、DQN化したのが嫌われる原因だな。

899 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 16:05:55.56 ID:qYIJYs/2.net]
VBとC#なんか変わらんしユーザーというかこの板に変なのがいるだけ
>>871
vsってエディタは聞いたことない

900 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 16:12:38.74 ID:/02if2W5.net]
>>873 ←こいつです。

901 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 17:50:46.71 ID:k6fDlhS2.net]
マルチプラットフォームなwebプログラミング向けエディタ
って触れ込みだったのに今はVSと比較される様になったのか

902 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 18:32:29.21 ID:KDqUmvjk.net]
言語だけぽこぽこ新しいのがでてくるが、
そろそろ言語+標準クラスライブライというか、.NETやJavaみたいな新しい実行環境でてこねぇかな。
いまなら負の遺産を一掃してもっと素晴らしいやつができるはず

903 名前:デフォルトの名無しさん [2017/10/13(金) 18:38:11.70 ID:tXRzEGrt.net]
要は.NETをJVM化すればいいのか?
Coreがもう少し充実すればええんでね?

904 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 18:54:32.24 ID:GNictDD2.net]
>>871
IDEって知ってる?



905 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 18:58:38.89 ID:n8HgMJNJ.net]
JavaはともかくC#や.NETにガラガラポンが必要とは思わないな

906 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 19:15:51.57 ID:vLRRsIkM.net]
>>878
SATAに駆逐されたデータ転送規格だろ。そんくらい知ってるわ

907 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 19:34:09.07 ID:r6+I6nXN.net]
>>880
おもろないわー

908 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 21:44:12.59 ID:/02if2W5.net]
関西人がそんなヘタな突っ込みをするわけがない。

909 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 22:05:01.47 ID:DPD6/A6x.net]
>>873
まあ俺はほとんどエディタ代わりに使ってたりするけど... w

910 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 22:07:27.85 ID:6pOkahl4.net]
C#もそろそろ新言語への乗り換えの時期じゃないか
いつまでも残ってるダサい互換性を切ってnot nullとか新しい機能を導入してさ
C#は実験場にすればいい

911 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 22:12:20.87 ID:/02if2W5.net]
プラットフォームが先細りだから無駄な足掻き。
パソコンは名ばかりでもはやオフコン。業務でしか使われない。

912 名前:デフォルトの名無しさん [2017/10/13(金) 22:32:01.44 ID:HAAysV2z.net]
kotlinの読み方って
ことりん
でOK?

913 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 22:42:29.74 ID:7WqKL+Sr.net]
C#使い始めて何年も経つけど未だに乗り換えようと思うほど使いこなせない
思った通りのもの作れるし

914 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 22:43:43.87 ID:l1jERKvk.net]
>>884
c#8.0



915 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 23:06:44.79 ID:/02if2W5.net]
>>886
日本ではなべやかんって言われてる。

916 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 08:13:04.21 ID:Sngz5bnk.net]
我流で必要に迫られて始めたものの、汚いいVB6ちっくなコードしか書けない…
キチンとセオリーに則って基礎からやり直したい
とは言え、(どうせ、この先自分以外の誰かがソース開くことなんかねぇだろな…)と思うと、まぁいっか、と逃げてしまう

917 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 08:20:33.00 ID:+XwGR1nT.net]
>>886
ことぅりんっ

918 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 10:44:36.38 ID:SVCVJk+z.net]
>>890
惰性でいくら書いても無駄
良いコードを書くには良書を読むに限る

919 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 11:36:43.44 ID:iAy6fmRl.net]
目的がきれいなコード書くことならそれに向けて努力すべきだけど
動くものが作りたいならそんなのは遠回り

920 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 11:44:43.92 ID:SVCVJk+z.net]
動けばいいと言う奴のプログラムはえてして正しく動かないものだ

921 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 11:58:17.97 ID:QGlvjmmK.net]
オラクルのJavaシルバーに合格した。
C#も勉強したいが少し不安。
似てる部分が多いだけに頭が混乱しそう

922 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 16:02:23.40 ID:1NT+cnAj.net]
その場で書いて動かして後のこと考えなくていいなら汚いコードでもいいけど
長期的にメンテナンスすること考えたら多少手間でも綺麗なコード書いたほうが結局近道

923 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 16:03:40.35 ID:POcZZiww.net]
>>892
おすすめの良書教えて下さい

924 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 16:09:34.83 ID:F+wwiVHB.net]
>>896
C#なんてすぐバージョンが上がって推奨されてない書き方です、とか
時代についていけない老害とか馬鹿にされるんだぜ。使い捨てのコードを書く言語だよ。



925 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 16:11:41.65 ID:0bz5HDJB.net]
俺も動くものは作れるけど、汚いコードや一箇所仕様変更すると他の関数にまで影響が出て整備がほぼできないコード量産してるわ

整備不可なコードの山を見て、整備しやすいコードの書き方勉強しようとしてるけど、イディオム本読んだりデザインパターン少し調べてもイマイチ理解が深まらなかった
インターフェイスや継承はまったく使ってなかったけど、最近取り入れようとサンプルコード書いてます

926 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 16:26:44.70 ID:gHhUphNv.net]
リファクタリング(マーティンファウラー)
エリック・エヴァンスのドメイン駆動設計

C#の本じゃないけどな

927 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 17:13:18.55 ID:RBWq+qGD.net]
>>898
そんなことないよw

基本メソッドの中なんてブラックボックスで構わんが、
メソッドの切り分け方とか全体の設計方法に影響を与えるような変更なんか
そうしょっちゅうあるわけじゃないから。

2.0以降考えてもジェネリkック、ラムダ式、非同期メソッド、
あと強いて言えばオプション変数、これぐらいしかないでしょ

928 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 17:23:48.06 ID:Gt2cFrms.net]
taskとasync/awaitを忘れてるぞ

929 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 17:26:58.34 ID:Gt2cFrms.net]
>非同期メソッド
書いてあったわ

930 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 17:40:04.26 ID:ipiotHZI.net]
ジェネリック
ラムダ
var
System.Linq
匿名型
オーバーロード解決の強化
非同期

2.0使うとこの辺りが欲しくなる

931 名前:デフォルトの名無しさん [2017/10/14(土) 17:41:10.18 ID:GRARGOD6.net]
最近はC++でさえ、がんがん新しい機能取り入れてるからな
無理やり感は否めないけど

932 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 17:42:42.97 ID:0bz5HDJB.net]
まぁ実際すぐ動くもの欲しくなったら仕様変更考えない作りにする感じはある
余裕ある時じゃないと設計とか考えないから全然身に付かないけど
大手は分からないけど中小で入ったところは上層はコード共通化したがってたけど、PGはライブラリ各個で作って新機能追加の度に客先別コーティングしてたし、整備性を加えるのはそこそこ手間が掛かるのかなって印象

933 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 17:48:33.48 ID:ipiotHZI.net]
標準ライブラリとオープンソースをラップしてプロジェクト用のライブラリを作る
作業効率最適化とリスクを考えるとどうしてもこのラッピング作業が必要になる
社内ライブラリに変わったとしてもこのラッピング作業は必要だからプロジェクトの工数は減らせない
それどころかバグの多さやドキュメントの少なさを考えると社内ライブラリは害悪にすらなりうる

934 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 18:23:25.93 ID:EAXt6Ted.net]
refとかoutって使う?



935 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 18:33:33.69 ID:+aeiapeN.net]
>>908
TryParseが最初からout使う前提
refは呼び出し先でデータ加工して返すときに無いと面倒
あとどっちもwinapiとかアンマネージのライブラリのときによく使う印象

936 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 18:40:32.10 ID:09BRVdeW.net]
あと、2つ以上値を返すときは、今までrefかout使うのが便利だったが
タプルさ

937 名前:ん新型で、その需要は大分減ったかもしれんね []
[ここ壊れてます]

938 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 18:41:14.11 ID:wCRGPfd0.net]
俺は綺麗に書こうと努めてるが、他人のすごいスパゲッティコードを見たとき、
ある意味これはこれですごいなと思う。
俺なら発狂しそうだし、こんな長いコードよくメンテできるなと
これはこれですごいなとは思う。

939 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 18:56:56.78 ID:XRdStdss.net]
>>908
多用はしないけどないと困らない?

940 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 19:08:22.69 ID:GDzf5CCz.net]
>>911
同意
多分IQはあいつらの方が高いんだろうなって思う
彼らは複雑なものを複雑なまま扱えるからシンプルに置き換えて考えようって気にならないのかもしれない

941 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 19:35:40.73 ID:2nqvspLu.net]
メソッドの戻り値によく処理成否のエラーコードと処理結果のオブジェクトや例外情報をプロパティにした自作クラス使っているんだけど、C#7以降はValueTuple使ったほうが楽なのかね

942 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 20:04:11.88 ID:TEHxzWsT.net]
>>914
それは普通に例外使え

943 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 20:13:50.41 ID:eGxiRqCm.net]
>>909
>>910
ありがとう
>>912
今までは困ってなかったんだけど、あまり使い方を知らなかったせいだとおもう

944 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 10:21:44.73 ID:g/8BaPWP.net]
>>911
そういう人って、書いてから何年もごぶさたなコードだって苦もなく修正できるのかな?
だとすれば無条件に感心するけど
自分も作ってすぐのほかほかスパゲティなら勝手わかってるけど、ごぶさたで冷めた
スパゲティはさすがに細部がどうだったか覚えてなくて、麺をほぐすのに苦労するw



945 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 10:34:18.66 ID:jiVarmiT.net]
>>917
文系の記憶力を甘く見ない方がいい
あいつら暗記だけで受験や大学卒業まで乗り切ってきたんだぜ
数年前のスパゲティでもここどうなってんのって聞けばちゃんと答えを返してくる

946 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 10:38:44.41 ID:pPHSVA6w.net]
プログラミングも暗記がすべてだぞ

947 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 12:31:37.62 ID:6sAES7rz.net]
>>917
1ヶ月たってたら厳しいw

948 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 13:52:28.53 ID:VwZ2wYnP.net]
>>919
暗記で何とかなるプログラムしかやらないんだな

949 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 13:55:30.87 ID:XWjA+gHr.net]
staticタスクをwhileでずっと回してデータリストのデータを監視しててエラーがあったら注意喚起のフォームを開いたりフォームのラベルを変更したりしたいんだけど
staticだからタスクからインヴォーク使えないし、メインフォームに作ったフォーム開いたりするメソッドをデリゲートしようとしても静的フィールド〜でできなくて詰まった・・・

設計見直したほうがいいレベル?

950 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 14:09:37.18 ID:Bo2AAy/J.net]
TaskScheduler渡しとけばいいんでない

951 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 14:21:36.95 ID:uH5IYLUj.net]
>>922
意味不明だから言いたいこと整理して
1ステートメントは短く簡潔に
複数行に分けてもいい
「〜である。」「〜だと思う。」「〜したい。」「〜してくれ。」をハッキリして

952 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 14:41:20.38 ID:yD0afN8z.net]
静的イベント定義してタスクはそれを発生させる
受け取り側各位はイベントを受けて適当にハンドルする
でいいんじゃね

953 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 14:43:54.89 ID:khkF9f68.net]
>>924
お前以外はわかってる

954 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 14:46:56.01 ID:XWjA+gHr.net]
□メインフォーム
データリストを保持してる
一定間隔でデータリストをデータベースから取ってきて更新する

□バックグラウンドタスク
メインフォームのコンストラクタで起動する
メインフォームを閉じるまでwhileで動き続ける
メインフォームのデータリストに異常値を見つけたら注意喚起フォームを開く

□注意喚起フォーム
データが異常値だから直せ〜のメッセージが表示してある
オーナーはメインフォーム

バックグラウンドタスクのメソッド上で注意喚起フォームを普通に開こうとしたらクロススレッド〜で開けない
タスク上にインヴォークを記述するのはタスクがスタティックだから使えない
フォームを開く処理をメインフォームに書いてタスクにデリゲート処理を記述するのもタスクがスタティックだから静的なフィールド〜でできない
メインフォームはスタティックじゃないけど作りの問題でタスク側でnewするわけにはいかない

どうやってタスクからイベントを投げてメインフォームでハンドルすればいいか教えてください

>>924
これで理解できる?



955 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 14:48:02.73 ID:uH5IYLUj.net]
>>926
それはわかってるつもりになってるだけだよ

956 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 14:52:56.88 ID:uH5IYLUj.net]
>>927
後半が意味不明
タスクがスタティックってどういうこと
タスクはオブジェクトだろ

957 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 15:10:29.08 ID:XWjA+gHr.net]
static修飾子知らないってマジモンの素人やん
そら説明しても理解できませんわ

>>925
ありがとう
ちょっと調べてみる!

958 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 15:42:51.61 ID:6FiFCoKL.net]
バックグラウンドタスクをシングルトンパターンにして、
メインフォームから起動すればいいんちゃうか

959 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 15:48:03.42 ID:hZRxEBGG.net]
>>927

>バックグラウンドタスクのメソッド上で注意喚起フォームを普通に開こうとしたらクロススレッド〜で開けない
UIスレッドからタスクを実行してるならawaitでUI処理できるよね?
タスク一回終わらしてUI処理してからまたタスク起動する形にすれば簡単だと思う
それかイベントにするか

>メインフォームのコンストラクタで起動する
これって普通?コンストラクタで起動するのはちょっと気持ち悪い

960 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 15:54:54.78 ID:uH5IYLUj.net]
Formが抱えてるデータを走査してるんだから
Formインスタンスは持ってるんだろ
ならInvokeするだけじゃねえかアホかこいつ

961 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 15:59:42.50 ID:Tx63GDtf.net]
バックグラウンドタスクっているの?

962 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:05:38.00 ID:uH5IYLUj.net]
インヴォーク(FormインスタンスのInvokeメソッドのことでいいんだよな?)を記述できないスタティックなタスク
という記述から一般的な意味でのstaticメソッドではないスタティックなタスクと名付けられたもの固有の事情があることは明らか
なぜなら非UIスレッドで実行中のstaticメソッドからFormインスタンスのInvokeメソッドを呼び出せないということはないからだ
そもそもInvokeは非UIスレッドからUIスレッドに処理を移譲するための機構だ
まずはそこ(スタティックなタスクと呼んでいる何かについて)を説明しろ

963 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:11:46.40 ID:64liGYG7.net]
綺麗なコードって何なんだろうと思う
俺のかいたコードじゃないことは確か

クラス設計もきちんと学んだことがなく
いつの間にか親子関係がおかしくなってそれぞれをコンポジションしたり
よくよく見たらstaticでいいよなって思うものが生えてくる
状態なのか具象なのかが混とんとしてくる

参考にしようと小さなソフトのgithubみたら100行に満たない小さなクラスが100も200もあったりする
どうやってこれの役割覚えて管理してるのかと感心する

964 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:31:12.04 ID:Tx63GDtf.net]
>>936
製作者がクラス図書いてなきゃ
そこで終了な案件

ソースからクラス図を生成するツールがうまく動いてくれればラッキー
動かなかったら地道に書いて見るしかない



965 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:31:43.29 ID:XWjA+gHr.net]
>>932
コンストラクタで起動するのが気持ちわるいのは超同意
でもコンストラクタで立ち上げて常駐する形じゃないとダメー!!!らしいのでしゃーなしでやってる
タスクの処理をUIスレッドでawaitして返り値で処理するのを繰り返す形が正解なのは理解してるんだけど

>>934
ぶっちゃけボタンかタイマーで起動してawait繰り返せば済むしコードも読みやすいし実装も楽だし拡張性も上がるんだけど
「おじいちゃんはバックグラウンドという言葉が大好き」なのでしょうがない

966 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:34:15.07 ID:SUmdrC/e.net]
>>936
小さいクラスはたくさんあっても困らない
見れば何やってるかすぐにわかるから
それに小さいクラスは1つの役割に集中していることが多い(それが良い設計)
なのでクラス名を見れば何をやってるクラスなのか大体わかる

967 名前:

何千行もある巨大なクラスは見てもよくわからない
大抵の場合、様々な役割が1つのクラスに詰め込まれているので、名前も曖昧になる
こういうクラスは1つでもあるとプロジェクトが大混乱する
[]
[ここ壊れてます]

968 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:39:42.12 ID:Tx63GDtf.net]
>>939
俺はわからんかった
細切れソースは俺は読めない
資料書いてくれ

969 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:41:28.87 ID:SUmdrC/e.net]
>>938
そもそも繰り返すのは正解じゃない
入力系イベントで同期的に検証すればいいだけの話
今回の場合は入力ではなくデータ取得なので取得したあとにデータを検証ればいい
検証なんてほとんど時間がかからないんだから非同期にする必要はない
データに変化がないのに何度も繰り返しデータが正しいか検証したってしょうがない

970 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:45:10.71 ID:SUmdrC/e.net]
>>940
そうか
長いクラスを読むのはもっと大変だろうね

971 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:46:24.51 ID:64liGYG7.net]
俺が見たのは何とかジェネレーターというの沢山あるものだった
AジェネレーターがBジェネレーターをつくりそのクラスからCジェネレーターが出来て…と
とてもとても理解不能だった
なぜなんとかジェネレーターが必要なのかどうかがわからない

972 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:48:21.34 ID:eZM6bYju.net]
コンパクトなクラスが読めないのは能力云々より
設計か命名の問題だと思う

973 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:49:26.63 ID:Tx63GDtf.net]
>>942
そういう問題じゃなくて意味があるまとまりにしてくれないと困る
んでおそらく形成されているであろうツリー構造がソースから把握できない

974 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:53:40.20 ID:Tx63GDtf.net]
>>943
単ー複の複が増減するんだろうねw
クラス図だと「ー●」確かこんな関係?



975 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:58:24.70 ID:64liGYG7.net]
コンストラクタ+メソッド1個みたいのもたくさんあった
単機能を実装したらこういうことになるんだろうとは思うけど
クラスが現実世界のものを表してるならこんな感じにはならない

976 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:59:23.02 ID:HL16aayQ.net]
>>945
クラスは意味のあるまとまりだよ
クラスのグルーピングは名前空間でやってるでしょ
名前空間使ってないなら命名規約でわかるようになってるんじゃないかな
どっちも無いならちょっと不親切だね
ちなみにどのリポジトリ?Githubだったよね?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<250KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef