C#, C♯, C#相談室 Part95

■ このスレッドは過去ログ倉庫に格納されています
2017/10/17(火) 04:02:10.51ID:/jJUZ/t7
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/

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

■前スレ
C#, C♯, C#相談室 Part94
http://mevius.2ch.net/test/read.cgi/tech/1492843013/

■次スレは>>970が建てる事
建てられない場合は他を指定する事。
2017/10/21(土) 10:38:55.22ID:3o9beEeJ
>>29
せっかく教えてやったのにってことか
ありがとうございました
2017/10/21(土) 10:45:37.95ID:ut7aXw9f
>>26
説明的なプログラムは誰にでも書けるものではない
書ける人にとっては当たり前と思うけどそうではないらしい
自社のコードが汚い人になぜ汚いコードを書くのかと聞いて回ったことがある
彼らは動くものを作るので精一杯なんだ
2017/10/21(土) 11:15:21.71ID:J3/Oov/o
設計書も書かずいきなり書き始めたコードを綺麗も汚いもねぇよ
精々メソッドあたりの行数ぐらいしか評価のポイントがねぇ
書いた設計書に対してのソースがどうよ?って話になって初めて評価が下せる
俺はね
2017/10/21(土) 11:15:53.60ID:VmqPmNn/
>>31
それは確かに感じるね
彼らに共通して言えるのは、思考の抽象度を上げられないんだよな
話してると「そんな細かいことはどうでもいい」と感じることが多いけど、
その「どうでもいい」という感覚を理解させるのが非常に難しい
2017/10/21(土) 11:22:08.17ID:J3/Oov/o
>>33
抽象度とソースの綺麗さになんの関連があるのか説明できるの?
2017/10/21(土) 11:25:49.18ID:ut7aXw9f
>>33
その傾向はあるね
彼らに設計書を書かせると決まって日本語で手続きを書き始める
2017/10/21(土) 11:27:08.65ID:J3/Oov/o
そうやって風が吹けば桶屋が儲かる的なくだんないことを囀ってる限りモノなんか作れないよお前等w
2017/10/21(土) 11:46:58.45ID:VmqPmNn/
>>36
設計書が無いとソースは理解できないと考えるのなら、
君はプログラミングにおける抽象的思考(設計)の重要性を認めてるわけだよね
それなのになぜソースコード自体の抽象度が理解のしやすさに寄与するとは考えないの?
2017/10/21(土) 11:47:01.09ID:YB7WCv0f
>>33
それは言えてる

思考の抽象度
現代的プログラミングのキーワードだよなあ
2017/10/21(土) 11:53:24.38ID:J3/Oov/o
>>37
いや、設計書通りに組んであればええよ
何もなければ評価できん
2017/10/21(土) 12:08:23.05ID:Qn61yzAP
設計書に従った上で説明的な(ある意味冗長な)コードを保守性のために書くと思ったが違うのかな
2017/10/21(土) 12:29:31.12ID:Lfp6S+wn
>>40
それだと設計書に書いてない事は書くなって怒られるんだよね
設計書に書いてないことを書かないとビルドすらできないから無視するしかないんだけど
2017/10/21(土) 13:42:12.48ID:J3/Oov/o
>>37
そもそもなんで設計が抽象的なの?
お前の書いてる設計書漏れてるだけだろ
2017/10/21(土) 13:50:37.19ID:VmqPmNn/
>>42
君の言ってる設計書ってコーディングシートのことじゃないかな
2017/10/21(土) 14:11:32.97ID:imNN7PV1
まず仕様書と設計書とコーディングシートの定義からやらないとだめな予感
2017/10/21(土) 15:05:14.83ID:J3/Oov/o
>>43
は?脳みそ腐ってんだろお前
2017/10/21(土) 18:24:51.50ID:DqhfXWIR
最近のC#スレはマ板行くか首吊って死ね系の話題が多いですね
何かあったの?
2017/10/21(土) 22:38:08.54ID:T6ojywn7
大島てるに載るような終焉を迎えて下され
2017/11/02(木) 21:06:02.86ID:wBPFsAX5
db操作するならef使うべきですか?
2017/11/02(木) 21:12:22.89ID:ScvYxhm1
>>48
用途による
まあEntityFrameworkかDapperだろうけど
2017/11/02(木) 21:23:59.71ID:wBPFsAX5
>>49
linq to sqlってのは今は使わないんですか?
2017/11/02(木) 21:37:52.62ID:2ic6qUdy
今も昔も使われていない
2017/11/02(木) 22:32:29.05ID:ScvYxhm1
>>50
やめときな
2017/11/03(金) 00:10:48.35ID:dRQDJRm6
>>50
開発が終了してEFが後を継いだ
2017/11/03(金) 00:27:25.86ID:z1slN08A
>>53
efはmysqlでも使えるの?
2017/11/03(金) 04:33:13.63ID:xnvXDnsB
>>54
使えるよ
2017/11/03(金) 05:13:23.57ID:dmbucyNJ
>>55
その場合、例えばsql server向けに作ったC#プロジェクトで
DBをmysqlに変更しても大きな変更無く動かせるの?
2017/11/03(金) 09:17:51.48ID:BJmK7MtV
現実的にはSQLやスキーマの互換性の問題で無理
確実にデスマーチです
2017/11/03(金) 09:34:45.04ID:xnvXDnsB
>>56
ものによる
2017/11/03(金) 09:48:45.12ID:Ifv/vU0b
今もmysql使ってる人は少ないと思うけど知らない人がいるのかな
時代は変わりました
2017/11/03(金) 15:01:36.50ID:z1slN08A
>>57
sqlserverを使うある程度大きなプロジェクトだとefを使うのが一般的ですか?
全く使わないなんてのも有るんでしょうか?
2017/11/03(金) 16:05:45.83ID:xnvXDnsB
>>60
基本的にはEntityFramework、パフォーマンスを求められる箇所はDapper
2017/11/03(金) 19:12:47.52ID:QKSUaUtV
>>61
生のSQLを実行するのは一般的ではないのですか?
2017/11/03(金) 19:16:11.94ID:+cvTX3N5
>>62
普通はストアド作っといて、指示するんじゃね?
2017/11/03(金) 20:20:48.15ID:tw8puOLs
>>62
Dapperは生SQLだよ
DataReaderやクエリパラメータとオブジェクトの間のマッピングの単純作業を自動でやってくれるだけ
2017/11/03(金) 21:11:34.22ID:xnvXDnsB
>>62
EntityFrameworkでも生のSQLは書ける。書かなくてもパフォーマンスに(考慮しなくちゃいけないほどの)遅延がなければ書かない。
2017/11/03(金) 21:38:29.15ID:Ro85MhDs
>>63
それは生の一種だろ
67デフォルトの名無しさん
垢版 |
2017/11/04(土) 03:09:26.28ID:bSw/g7Kd
WebRequestを続けて二回同じサーバーに別のオブジェクトで通信したら変なエラーが出るんだがわかる奴いる?
これじゃ情報不足ならそのうち再質問するが。
2017/11/04(土) 04:12:32.15ID:m6ZusNHm
「変」って何だよ具体的に言えよ
なんで相談室でまでこんな所から始めなければいけないんだ
2017/11/04(土) 12:22:27.57ID:d/IRXg6v
>>65
最近efを覚えて試しているんだけど、
efでusingしてdbに何か書き込むだけでも、なんかレスポンスが悪い気がするんだけど。
気のせい?
70デフォルトの名無しさん
垢版 |
2017/11/04(土) 12:26:33.85ID:tv+raRR6
HTTPレンスポンスの生文字列データを取得する方法ある?レンスポンスにSet-Cookieが何箇所行かにあるやつをWebResponseでSet-Cookieヘッダを取得しても1番始めのしか取得出来ない
2017/11/04(土) 12:26:47.53ID:FXv0ObyH
>>69
何に比べてレスポンスが悪いの?
初回が遅いのはどうしようもない
2017/11/04(土) 12:28:02.53ID:/qI+U4k3
>>69
EFはサーバーで長時間にわたって大量のメモリ食わせて使うもんだ
2017/11/04(土) 12:30:33.34ID:FXv0ObyH
>>70
https://msdn.microsoft.com/ja-jp/library/system.net.httpwebresponse.cookies(v=vs.95).aspx
74デフォルトの名無しさん
垢版 |
2017/11/04(土) 12:32:08.79ID:tv+raRR6
>>73
こんなのあったのかよ
センクス
2017/11/04(土) 12:40:00.34ID:d/IRXg6v
>>71
生と比べて
2017/11/04(土) 13:59:23.92ID:FXv0ObyH
>>75
???
2017/11/04(土) 14:02:54.09ID:gVOMythZ
efはコンドームだった説
2017/11/04(土) 14:30:16.19ID:m6ZusNHm
DB女の子説はやめろ
79デフォルトの名無しさん
垢版 |
2017/11/04(土) 20:58:01.18ID:bSw/g7Kd
>>73でクッキー取得しても空なんだが?
80デフォルトの名無しさん
垢版 |
2017/11/04(土) 22:05:43.00ID:bSw/g7Kd
解決した
2017/11/04(土) 22:41:27.51ID:FXv0ObyH
>>80
とれなかった原因は?
82デフォルトの名無しさん
垢版 |
2017/11/04(土) 22:42:33.61ID:bSw/g7Kd
>>81
リクエストオブジェクトにCookieContextオブジェクト入れる&リダイレクトをオフで取れた
2017/11/08(水) 19:29:16.27ID:7+AqNTkf
ASP.NET MVCでControllerの中のソースコードが増えて来て混乱気味なのだが、
どうやって整理すればいいのかな?
2017/11/08(水) 19:59:44.18ID:AtvWoVld
モデルに実装する
2017/11/08(水) 20:04:15.29ID:7+AqNTkf
>>84
モデルって言うのは本来は何を入れるところなの?
細々とした色んな処理を書いてもいいの?
2017/11/08(水) 20:09:34.86ID:N6XqY60q
>>83
インプットを基にして処理を振り分けて、得た結果をViewに返すだけじゃないの?
2017/11/08(水) 20:38:56.54ID:AtvWoVld
>>85
モデルにはすべてのロジックを実装するのが正しい
コントローラの役割はリクエストの内容を受け取りモデルに投げて結果をVMに入れて返すだけ
88デフォルトの名無しさん
垢版 |
2017/11/08(水) 21:16:06.13ID:vGP4g6Va
ASPって出番ある?みんな仕事の案件でやってるの?
2017/11/08(水) 21:46:20.39ID:Yt5neKtg
WebFormsの案件はドカタだとWinFormsより多いだろ
うちはMVCでSaaSやってる
2017/11/08(水) 22:10:09.31ID:rbcWTqbu
(実はMS案件には全く縁がない)
91デフォルトの名無しさん
垢版 |
2017/11/10(金) 10:27:07.08ID:EEZieTzn
クラスのメンバのプロパティを小文字で始めると
メッセージ IDE1006 名前指定の規則違反: これらの単語は、大文字で始まらなければなりません:

と出るのだが、なんで小文字だとエラーなの?
世の中では、大文字で始める習慣があるの?
2017/11/10(金) 10:39:35.19ID:GXd92sM9
だからそういうメッセージが出るんだろ
2017/11/10(金) 13:41:07.91ID:Hx4QOm/G
VS2017ならデフォルトで提案事項になっているがエラーになるのは自分で設定したせいでは
2017/11/10(金) 13:55:50.82ID:DPfs8yVZ
>>93
自分ではしてない
2017/11/10(金) 14:22:22.24ID:Hx4QOm/G
ここに書かずに設定したやつに聞けばいいのに
2017/11/10(金) 15:46:12.86ID:dHTokmn8
で、それはエラーなの?
メッセージが出たら警告だろうが何だろうが全部エラーって言う人も多いけど
2017/11/10(金) 17:18:52.60ID:EEZieTzn
>>95
誰だよそれ?
2017/11/10(金) 17:22:41.93ID:VxFWEUmd
>>97
自分でいじってないなら初期設定決めたMSの人では
2017/11/10(金) 18:12:13.90ID:MvAM88wE
コンパイルエラーとは別にコード分析のエラー欄に出るんじゃないか?

>>91
命名ルールはこれ
https://msdn.microsoft.com/ja-jp/library/ms229002.aspx
2017/11/11(土) 00:13:18.80ID:VQqkIwVV
class A{
class B{
class C{
}
}
}
みたいに三重くらいになると、自分でもわけ分からなくなって来るんですが、
世間では三重くらいは普通ですか?
2017/11/11(土) 00:28:57.43ID:FsCJcvbF
>>100
内部クラスって表記しやすいだけでそれ以外のメリットあるのかね?
2017/11/11(土) 00:33:23.96ID:BH43IN+9
javaの人は良く使うけど
スコープの問題だけだから本来は使わないでもよさそう
2017/11/11(土) 00:59:17.39ID:kkrHimLP
内部クラスはたまーーーに使うけど3重なんて一度もしたことないな
2017/11/11(土) 01:19:20.69ID:3ysLENMg
何重までいけるん?
2017/11/11(土) 11:11:58.59ID:f6zZSvYO
>>104
プログラムやる人の発想じゃないな
2017/11/12(日) 08:56:15.86ID:LXGneVsA
>>100
static classだとよくやるけど
static class My{
static class Hoge{
static class Config{
}
}
}
My.Hoge.Configのように使える
でも3重は使わないな
2017/11/12(日) 10:27:34.46ID:j0JK3XOe
Javaだと1クラス1ファイル
客先の規約で配置できるファイルに制限があると内部クラスを使わざるをえない
2017/11/12(日) 10:36:20.99ID:3BzbD7Br
enum使いにくいから代わりにstatic class乱用してるわ
2017/11/12(日) 10:46:19.17ID:kmdFzMTF
>>108
enumのどのあたりがダメなん?
2017/11/12(日) 11:11:16.62ID:3BzbD7Br
>>109
後で要素増えたら参照先全部ビルドし直さなきゃならんあたり
2017/11/12(日) 11:19:21.94ID:kmdFzMTF
>>110
ビルドなんて一瞬じゃん?
112デフォルトの名無しさん
垢版 |
2017/11/12(日) 11:28:22.38ID:PNAmYcb6
.Net Core 2.0では、だいぶん.NetFrameworkの実装がカバーされたと聞きました。
https://raw.githubusercontent.com/dotnet/standard/master/docs/versions/netstandard2.0_ref.md
これを見る限りでは、System.IO.StreamやSystem.IO.FileInfo、ISerializableなど
もあります。これらをUWPやASP.NET Coreでも使えるようになるという理解でいいでしょうか。
2017/11/12(日) 11:44:42.71ID:j0JK3XOe
C#のenumはメソッド定義できないから役立たず
2017/11/12(日) 12:19:41.85ID:pNqEHb8d
>>113
javaとは思想が違うからな
どうしてもメソッド使いたけりゃ拡張メソッド書けばいいだけのこと
2017/11/12(日) 12:24:54.60ID:zaPGzGOT
enumは型安全性をぶち壊すから…
2017/11/12(日) 12:39:52.61ID:j0JK3XOe
enumにメソッドを定義できないとenumスイッチがあちこちに書かれてシステムが汚染される
そんなことになるぐらいならenumは言語機能から追放したほうがいい
2017/11/12(日) 12:51:07.42ID:kmdFzMTF
>>116
メソッドが使えるとスッキリ書けるの?
例を教えて
2017/11/12(日) 13:21:53.63ID:WcVSvCUs
読み方はエナメラブルでいいのかね
119デフォルトの名無しさん
垢版 |
2017/11/12(日) 13:26:58.08ID:hG4wTZ8S
>>112
逆に聞きたいんだけど、どういう理解があると思ったの?
2017/11/12(日) 13:29:17.49ID:j0JK3XOe
>>117
Javaのenumのメソッドはポリモーフィック
なのでステートやストラテジーなど様々な応用が利く
2017/11/12(日) 14:44:05.96ID:IOmcFQTN
enumはどうせ定数に置き換えられるんだから、最初から定数で書いとけばいいな
2017/11/12(日) 15:30:46.03ID:Lnuis1wP
>>107
javaって、内部クラスも1ファイルとして出力されるんじゃなかったっけ?
2017/11/12(日) 16:08:56.10ID:kmdFzMTF
class A,B,C,...が有って
void func<T>(...){...}
みたいな関数を
func<A>(...);
func<B>(...);
func<C>(...);
みたいに順番に実行したい場合、
forループ使って書ける?
2017/11/12(日) 16:11:43.25ID:MOg5phwx
>>122
>>107はソースの話やで?
オブジェクトはまとめたらいいだけだし
2017/11/12(日) 16:17:52.85ID:j0JK3XOe
>>123
var list = new dynamic[] { a, b, c };
foreach (var x in list)
func(x);

引数もインスタンスも無いならreflection
2017/11/12(日) 16:33:07.06ID:kmdFzMTF
>>125
なるほど。
dnamic使うしか無いんですね?
2017/11/12(日) 16:58:32.42ID:RZNIwvSq
reflectionが目に入らぬか
128デフォルトの名無しさん
垢版 |
2017/11/12(日) 17:39:19.11ID:UFCv5vw0
>>127
reflectionと言うのでやる方法を教えて下さい
2017/11/12(日) 17:39:26.99ID:5vVJXllV
partical いいよなぁ
130デフォルトの名無しさん
垢版 |
2017/11/12(日) 18:01:29.09ID:PNAmYcb6
>>119
APIはあっても、実際は例外投げるんじゃないかとか。
StreamやISerializableなど今まで散々レガシー扱いされてたのに、
すんなり実装されたのだったら、今までは何だったのかと思ってしまって。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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