X



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

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

■関連スレ
C#, C♯, C#相談室 Part95
http://mevius.5ch.net/test/read.cgi/tech/1508180530/
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part136
http://mevius.5ch.net/test/read.cgi/tech/1520057345/

■コードを貼る場合は↓を使いましょう。
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
0526デフォルトの名無しさん (アウアウウー Sa89-27Jw)
垢版 |
2018/05/12(土) 10:47:44.90ID:kT5GzpcRa
エクセルからマスターや設定をインポートするようになってるシステムは壊しそうで怖いわ
うっかりレイアウトがズレてて正しくデータが取れなくなるとかよくある
バージョン管理の問題にも関連するけど、再現性が乏しいんだよエクセルは
0529デフォルトの名無しさん (アウアウウー Sa89-bFqk)
垢版 |
2018/05/12(土) 10:48:28.96ID:My8LWy2ka
>>517
そこの会社の内部の抗争があるんだと思う

いまどきxhtmlを使ってる派閥がいて
そいつらが不利になったので意味不明なテストでxhtmlすげーをやって
何も考えないやつがそれに賛同したと

エジソンが高圧送電は危険だと言って動物を殺す実験をしたようなもの
0539デフォルトの名無しさん (ワンミングク MMa3-2hZ9)
垢版 |
2018/05/12(土) 10:53:45.26ID:iloBjJ0sM
>>506
Excelの場合はそもそもツリーデータ構造を表現するためのスタンダードなフォーマットが無いので比較する以前の段階

まずはツリー形式のデータ構造を表現するためのフォーマットのデファクトスタンダードを業界全体で決めてくれ
比較はその後に回していいんじゃないかな
0544デフォルトの名無しさん (ワンミングク MMa3-2hZ9)
垢版 |
2018/05/12(土) 11:08:10.26ID:iloBjJ0sM
>>517
やっとちゃんと読んでレスしてる人が来た

確かにもともとXMLをベースに考案されたデータ構造なのでXMLに有利と言えるかもしれない
しかしそれを認めると議論の発端である「jsonはxmlより優れている」という命題を「対象次第ではxmlのほうが有利である」という命題で最初から否定することになってしまう
本当に「jsonはxmlより優れている」なら対象がXHTMLだろうとなんであろうともjsonのスコアが高くなっていなければおかしい
0553デフォルトの名無しさん (ワッチョイ cbe8-k37M)
垢版 |
2018/05/12(土) 12:44:54.52ID:ek+Myn8j0
>>478
EndsWithに第二引数とかあったのか
いけるわ!ありがとう
0555デフォルトの名無しさん (アウアウエー Sa13-5wbU)
垢版 |
2018/05/12(土) 13:25:14.58ID:UZR1Ryt2a
>>550
それ以前の話でしょw

設定データをユーザーが編集したいなんてかなり特殊な前提でありかつ質問者も
そんな要件を一言も上げてないのにアホかと、

.NET標準のシリアライザではなくあえて外様を使う理由はと聞いて、返って来た明確な答えは
結局「そっちの方が目新しいから」だけ。

中学生じみてるよと言ってるそばからこれだ。
プログラマ板みたいな話になっちゃうけど、本当今じゃプログラマって知能指数が低い奴が
やる仕事になってることを実感するよ
0559デフォルトの名無しさん (ワッチョイ 05d2-5xfy)
垢版 |
2018/05/12(土) 15:05:00.44ID:AEXJFe1f0
自分が json を使うとしたら、
・周りが使ってるから
・xml と比較して見た目が好み
って程度の理由だなあ。

どっちが優れてるかの比較なんてそれ自体がズレてるような。
0562デフォルトの名無しさん (ワッチョイ cbe8-k37M)
垢版 |
2018/05/12(土) 16:47:10.12ID:ek+Myn8j0
結局Windowsのフォームアプリの設定ファイルは何が適してるんだよ
jsonでもxmlでも大差ないよ好きな方どうぞって結論でいいの?
0567デフォルトの名無しさん (アウアウエー Sa13-5wbU)
垢版 |
2018/05/12(土) 17:58:28.95ID:UZR1Ryt2a
>>564-565
質問者は「ポータブルアプリの設定ファイル」と言ってる。

ポータブルアプリがUSBメモリに入れて持ち歩くような物のことを言ってるなら、
Settingsは明らかに不適切

あと、個人的にあんまりアプリケーション設定使ったことないんで勘違いしてるかもしれんが、
これって結構制限も多いしいろいろ面倒だよね
0568444 (ワッチョイ 4b9f-ZOQu)
垢版 |
2018/05/12(土) 21:13:35.08ID:4i84e4IV0
質問者ですが、こんなに荒れてしまうとは、、、申し訳ない。

おっしゃるように通常のWindowsフォームアプリならSettingsがデザイナで設定できるし楽なんですが、
ファイルの格納先がローカル(Roamingだったかな?)になるのでUSBメモリなどに持ち運んで使うポータブルアプリとしては採用できないというところでの質問でした。

特に設定ファイルの可読性を求めないようであれば、
形式としては古いが追加ライブラリ不要のXMLか、
スタンダードな形式だが別途追加ライブラリ必要なJSONか、
好きな方を選べって感じですかね。。
0572デフォルトの名無しさん (アウアウカー Sa11-4Ye1)
垢版 |
2018/05/12(土) 21:48:32.28ID:euW2BAe4a
アプリケーションスコープにするとアプリから書き込みできないよ
0574デフォルトの名無しさん (ワッチョイ cb96-k37M)
垢版 |
2018/05/13(日) 14:47:14.23ID:ySggkKZM0
すいません。
初心者なのでこちらに移動してきました。
MVC的な設計で

初期設定値を入力するフォーム

初期設定値を格納するクラス

というのを作りたいのですが、

A.
クラス側に各変数のプロパティを作成
フォームからプロパティを介してクラスの変数に値を代入

B.
クラス側にフォームの初期値を取りに行くメソッドを作成
クラスからメソッドを実行してフォームに値を取りに行く

のどちらが良いのでしょう?
自分ではAの方がよさそうな気がするのですが、一般的な設計としてこうするというのがあったら教えてください。
0577デフォルトの名無しさん (ワンミングク MMa3-2hZ9)
垢版 |
2018/05/13(日) 16:39:15.74ID:i7PAGBqeM
>>574
// form
void btnSaveInitialSettings_Click(object sender, EventArgs e) {
try { this.SaveInitialSettings(); }
catch(...) { ... }
}

void SaveInitialSettings() {
var initialSettings = this.GetInitialSettings();
var reaction =
this.initialSettingsController.SaveInitialSettings(initialSettings);
reaction?.Invoke(this);
}

// controller
Action<IInitialSettingsView> SaveInitialSettings(InitialSettings initialSettings) {
this.initialSettingsService.SaveInitialSettings(initialSettings);
return view => view.Refresh();
}
0578デフォルトの名無しさん (ササクッテロラ Sp21-4FyP)
垢版 |
2018/05/13(日) 18:54:27.05ID:kDeIpxe/p
初心者は出来上がってから検討すりゃいいんだよ。
つうか、プロ目指してるなら、先ずは完成させる癖を付けないとな。
万年アマチュアでいいのなら些末な問題で盛り上がればいいさ。
0580デフォルトの名無しさん (ワンミングク MMa3-2hZ9)
垢版 |
2018/05/13(日) 20:30:10.29ID:i7PAGBqeM
Facebookにいちゃんが誰かわからんがそいつが言うまず終わらせろ、とお前が考えるまず終わらせろは別物だと思うぞ
ユニットテストとリファクタリング込みでまず終わらせろ、って言ってるならマトモだけど、将来のことなにも考えずまず終わらせろって言うならただの害悪
0586デフォルトの名無しさん (ササクッテロラ Sp21-4FyP)
垢版 |
2018/05/13(日) 21:04:34.41ID:kDeIpxe/p
まあ、熟練者になれば、素早く仕様通りのコードを綺麗に仕上げて来るからな。
初心者は先ず動くコード、次に仕様通り、最後に綺麗なコードでいいよ。
時間掛かるのはこの際問題にしないw
0588デフォルトの名無しさん (ワンミングク MMa3-2hZ9)
垢版 |
2018/05/13(日) 21:14:50.20ID:i7PAGBqeM
世の中の多くのバカが勘違いしてるんだけど

綺麗なコード==間違えやすい製造に時間がかかるコード

じゃないんだよね
綺麗なコードはバグが少ないし製造も早い

汚くても動くコードを早く書け!なんて言ってるやつは根本的に何かがズレてる
そんな方針でコーディングしたら汚くて動かないコードを時間をかけて作る羽目になる
0590デフォルトの名無しさん (アウアウエー Sa13-5wbU)
垢版 |
2018/05/13(日) 21:22:07.78ID:asXlnx2Ka
>>574
UI(Form)がモデル(何か仕事をするクラス)の参照を持つのは問題ないが、
逆は良くない。理由は、

(1) 役割分担があいまいになる
厨房の人間が1分おきにウェイターに注文を確認するのは適切な役割分担と言えるか?

(2) つぶしがきかない
Formの参照を握ってFormのメンバーを操作するクラスは、UIをWPFやUWPに
変更しても使いまわしできるか?
0592デフォルトの名無しさん (ワッチョイ cb96-k37M)
垢版 |
2018/05/13(日) 22:02:31.19ID:ySggkKZM0
>>590

UIがデータ格納用クラスのインスタンスを生成
UIがプロパティを介してデータ格納用クラスの変数に代入
UIがコントローラにデータ格納用クラスのインスタンスを渡す

みたいな感じでよろしいでしょうか?
0593デフォルトの名無しさん (アウアウエー Sa13-5wbU)
垢版 |
2018/05/13(日) 22:27:53.20ID:asXlnx2Ka
>>592
>UIがデータ格納用クラスのインスタンスを生成
誰がモデルのインスタンスを生成するかはケースバイケースだしどうでもよろしい

>UIがプロパティを介してデータ格納用クラスの変数に代入
重箱の隅をつつくようだが、オブジェクトのプロパティやメソッドを操作する時に
「データ格納用クラスの変数に代入 」なんていう内部の実装を意識する必要はない。
必要はない、というか意識しなくても使えるように作るのがカプセル化。

>UIがコントローラにデータ格納用クラスのインスタンスを渡す
俺がMVCを理解してないだけの可能性もあるが、少なくともWindows Formでは
VとCを分けたりしないのが普通と思う。コントローラなんてイラネ
0594デフォルトの名無しさん (アウアウカー Sa11-+fqb)
垢版 |
2018/05/13(日) 23:13:35.13ID:TUC5Idjma
話蒸し返して悪いんだが、xmlシリアライザーって今使ってるとやばいの?業務アプリの設定ファイルほぼこれで今までやってたんだが。。
とりあえず今やってる案件JSONで見直してみるか
一人で開発やってるとついついこういうのに遅れがちになるなぁ
0599デフォルトの名無しさん (ワッチョイ cbe8-k37M)
垢版 |
2018/05/13(日) 23:38:24.99ID:PSHb3apy0
PCのiTunesって曲の情報管理全部XMLだよな
どうにかならんのか
https://i.imgur.com/zaooQAM.jpg
0600デフォルトの名無しさん (ワッチョイ 3d9e-pJrV)
垢版 |
2018/05/13(日) 23:40:15.36ID:u4TQvgwd0
Ant, Maven とか、Java系は、XML。
Android 画面の設定ファイルとか

Windows でも、XAML で画面設定する

プロジェクトの設定ファイルも

JSON を設定ファイルに使うのは、JavaScript を使ったもの。
例えば、Node.js を含んだ、VS Code

他には、プログラミング言語自体が設定ファイルになるもの。
Ruby, Groovy, Haxe
0606デフォルトの名無しさん (アウアウエー Sa13-5wbU)
垢版 |
2018/05/14(月) 00:17:32.79ID:gDWY5JTja
川俣さんのことを馬鹿にする人が2chには多いけど、この記事の趣旨は正しいと思う
http://www.atmarkit.co.jp/fdotnet/extremecs/extremecs_18/extremecs_18_02.html

特定の技術への信仰と「俺スゲー」っていう間抜けな自己陶酔が結びついてる奴ってよくいるし、
このスレにも時々そんなのが出るけど、そういう奴のいうことは真に受けない方がいいですw
0608デフォルトの名無しさん (ワッチョイ 4b9f-ZOQu)
垢版 |
2018/05/14(月) 07:03:43.68ID:oC/RgBRx0
つか業務で使うなら余程のことがない限り枯れた技術の方が安定する
0610デフォルトの名無しさん (ブーイモ MM49-27Jw)
垢版 |
2018/05/14(月) 07:55:56.39ID:zbYXMED5M
COBOLは実際優れてるんだよなあ
低品質なPGでもほぼ完璧に見積工数通りに仕上がるし、バグもほとんど出ない
金持ちな客からきっちり工数見合いで金取れるならSIerにとってこれほど好都合な言語はない
0611デフォルトの名無しさん (オッペケ Sr21-XDJ1)
垢版 |
2018/05/14(月) 08:01:56.16ID:wRU00x5/r
バグでないのはアカンやろw
0612デフォルトの名無しさん (アウアウカー Sa11-ZOQu)
垢版 |
2018/05/14(月) 08:12:24.86ID:I+nT90nna
それはバグが摘出できていないだけでは
0617デフォルトの名無しさん (アウアウカー Sa11-+fqb)
垢版 |
2018/05/14(月) 19:19:28.87ID:M+KhV3wka
>>594だけど
蒸し返した話にレスくれてありがとう
自分の用途にはxmlでも問題なさそうでとりあえず安心した
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況