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

■ このスレッドは過去ログ倉庫に格納されています
2017/11/29(水) 19:23:58.05ID:GNLsbK4F0
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part133
http://mevius.5ch.net/test/read.cgi/tech/1510056685/
■関連スレ
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/

■コードを貼る場合は↓を使いましょう。
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
2017/11/29(水) 19:31:14.12ID:rMr3voC10
(*゚∀゚)v2get!
2017/12/05(火) 12:25:34.83ID:cln+gySGp
今年の夏くらいからプログラミング勉強し始めたけど結局なーんも身についてなくて笑えない
ちょっと応用すれば出来るはずのことも全く同じサンプルがないと何も出来ないし頭の悪い奴ってのはほんとに必要ないなと実感したわ

こんなの身についてるってみんなすげーよ
ほんと尊敬する
2017/12/05(火) 12:44:40.61ID:WFyLCtnzM
趣味なら続けてればそのうちできるようになるよ
もし仕事にするつもりだったなら今すぐ考え直したほうがいい
向いてない人が業界入っても生涯最底辺確定だよ
2017/12/05(火) 12:53:46.29ID:C7A8AnoX0
今振り返るとプログラムを書けると自信を持って言えるようになるまで5年くらいかかった
2017/12/05(火) 13:17:45.00ID:x6DQdw1l0
はやいね…
2017/12/05(火) 16:30:38.85ID:wkVlcZxF0
レベル2の症状だろ
レベル3になると、実はまだまだヒヨコに過ぎなかったと気づく
2017/12/05(火) 23:51:30.36ID:3JpFSBB9p
最近始めたんやけど、ラムダ式がまだまだ身につかんな…
自称プログラマーもまだまだ遠いと感じる
2017/12/06(水) 00:18:23.00ID:NYn2QdoV0
LISPしなされ
2017/12/06(水) 00:27:28.54ID:WT/THAC00
レベル3の症状だろ
レベル4になると、実はプログラマに向いてないって事に気付き始める
2017/12/07(木) 08:25:05.89ID:AtZ2X5K5p
VS2015を用いてC#でアプリを作っています
現在テストを行う中でスタブを使おうと考えたのですがどういうものかの記述はしてあっても実装の仕方が見つけられないのでどう実装するべきものなのかアドバイスをお願い致します
なにか決まった構文などがありますか?
スレ違いなら申し訳ありません
2017/12/07(木) 08:42:17.58ID:15g2M7EDd
>>11
moq
2017/12/08(金) 08:21:40.76ID:PpC6VnTrM
>>11
普通に実装するんだよ
たとえばリポジトリクラスをモックするなら、DBの変わりにListやファイルを使うように実装する
Moqみたいなアドホックなモックに頼るのは都合のいい脳内彼女状態になりやすいからお勧めしないな
2017/12/08(金) 10:48:33.70ID:MNtGar8nd
>>13
頼るんじゃなくて賢く利用するんだよおバカ
2017/12/08(金) 14:00:50.88ID:qb513BYK0
ゲスい
2017/12/08(金) 20:43:50.51ID:0wYNAdO30
>>11
言語以前の問題だから板違いではないがスレ違いだな
「デバッグに何か決まった手順はありますか」って聞くようなもの
そして「使おうと考えた」のではなく「使えと指示された」と邪推
2017/12/09(土) 09:15:02.44ID:BBiO47QN0
>>14
その賢い利用というのが、テストが正しいかどうかはともかく、
なんでもいいからとにかくテストをパスさせて仕事から逃げることを意味するなら積極的にMoqを使うべきだな
プロダクトの機能に対して責任を持つのか、コーディング作業員として単体テストのレビューが通るところまでの責任なのか
プログラマの立場次第であり、絶対的にどちらが正しいとはいえない
2017/12/09(土) 11:18:08.25ID:ZhOJxZh30
Moqの使い方すら理解できないキチガイがわめいてる
2017/12/09(土) 11:20:12.53ID:4MNbsZWJd
xUnit自体のテストでもMoq使ってんのに何言ってんのこいつ
2017/12/09(土) 11:59:32.42ID:BBiO47QN0
>>19
xunit見てみたけど、内部的な依存関係の差し替えには全く使われてないね
テストツールをテストするという特殊な事情ゆえ、テストには(ユーザーにとっての)テスト対象コードが必要になる
その代わりとして極一部でMoqやNSubstituteが使われてるようだ
賢い使い方の一つだとは思うけど、リポジトリクラスやサービスクラスを差し替えたりするのとは全くの別物と考えるべきかと
2017/12/09(土) 12:06:36.64ID:JB9pjNrg0
またヤバそうなのが湧いてるなw
先週みたいになるのかな?
いやーゴミは世に憚るってホントだね
2017/12/09(土) 12:17:46.40ID:awJ9eWLVM
んな大袈裟な
俺は自分の経験(個人・チーム含む)からアドホックなモックは上手くいかないと思ってるけど、
実際に効果的に使われてるケースがあるならぜひ知りたいよ
xUnitのテストなんて超特殊な例じゃなくてもっと適切な例をplz
2017/12/09(土) 12:19:44.13ID:ZhOJxZh30
どうやらUnit TestとIntegration Testの違いさえ理解できないガイジのようだ
2017/12/11(月) 20:41:46.07ID:f/7OfSkR0
ワイクソ馬鹿
そもそも何のためにスタブとかモックとかがあってどういう時に有用なのか分からない
足りない所を補うみたいなイメージなんだけどプログラムが全部完成してからのテストなら必要ない?
2017/12/11(月) 21:01:08.81ID:cWpuydkA0
C#関係ねえ
2017/12/11(月) 21:02:58.97ID:xzgxDEt/0
>>24
たとえばあるメソッドをテストするとして、テスト目的の箇所以外の依存関係をモック/スタブで差し替えれば、目的のロジックに集中できるしパフォーマンス的にも有利
2017/12/11(月) 21:20:39.43ID:y3IM1v6ZM
>>24
例えばテスト対象のメソッドが何らかのAPI呼び出してるとして、そのAPIがエラーを返すケースのテストをする時にスタブを使ってエラーを返したりする
2017/12/11(月) 21:38:59.51ID:Y2G40TozM
>>24
テストしてて、ここ触りたくねえなあデータ用意すんの面倒臭えなあと思うことあるだろ?
正しいかどうかは別にして、とりあえず臭いものに蓋をしたまま手っ取り早くテストを終わったことにして帰宅できる
2017/12/11(月) 21:50:44.91ID:xzgxDEt/0
>>28
あほ
2017/12/11(月) 21:54:52.65ID:f/7OfSkR0
>>26
>>27
>>28

ありがとう
そしてC#じゃない話広げてごめん
テストの為にSQLだったりなんか色々条件準備するの大変だからスタブで置き換えちゃおうみたいな感覚なのかな
2017/12/11(月) 21:57:48.40ID:xzgxDEt/0
>>30
大変だからというか、テスト目的と関係ないAPIやDBアクセスに依存しないようにするため
2017/12/11(月) 22:30:20.58ID:oxZtEftd0
こういう奴らってサーバーがAWSとかGAEのサーバーが503で落ちてる時のテストとかどうやってんの?
DoS掛けて落としてるの?
2017/12/11(月) 22:32:42.57ID:xzgxDEt/0
>>32
テストしないんだろ
2017/12/12(火) 12:55:00.41ID:IcKwzfnVM
サーバーが落ちてる状態をスタブ/モックで再現すればいいんちゃう?
2017/12/12(火) 13:38:31.25ID:55mcEBCKM
そういう話をしてるんだが...
2017/12/12(火) 14:04:29.84ID:/mkMVrEb0
ニホンゴムズカシイネ
2017/12/12(火) 22:16:10.60ID:TlJgX2b/0
プログラミング始めたてなんだけど、CSVファイルの先頭何行を無視してそれ以外のデータをデータベースに入れたいって状況になったんだけど、経験者の人はめっちゃ簡単だよって言ってて、
でも俺には全く想像もつかなくて、プログラミング出来る人の頭の中はほんとどうなってるんだ…
やっぱみんなもこれくらいのコード書くのは楽勝なの?
2017/12/12(火) 22:19:09.90ID:lT+kB2MF0
>>37
一瞬でアルゴ思いつくけど、おまえやばくね?
2017/12/12(火) 22:23:02.58ID:TlJgX2b/0
>>38
やっぱ経験者からすると簡単なんだ
すげぇなぁ…
CSVなんて触った事ないしそこから先頭何行とか全く想像もつかん
始めて数ヶ月だけどオレ向いてないんだろなぁ
2017/12/12(火) 22:33:48.31ID:CW11BSat0
>>37
テキストの数行をスキップするのならすぐできるだろ。それがCSVになるだけ
CSVのパーサーについては
https://dobon.net/vb/dotnet/file/readcsvfile.html
にいくつもやり方が乗っている
ネットで調べればC#初心者でもできる案件
2017/12/12(火) 23:21:09.16ID:5Qo60rlq0
いっぺんに全部やろうとするんじゃなくて、小さい作業に分解して考えるんだよ
今回なら「先頭数行を無視してテキストファイル読み込む」にCSVは関係ないでしょ?まず欲しい分だけ読み込んで、CSVとしてパースするのはその後に考えればいい
ググって出てくるくらいまで分解すれば、あとは組み合わせておしまい
2017/12/12(火) 23:28:56.01ID:CW11BSat0
>>41
>今回なら「先頭数行を無視してテキストファイル読み込む」
要素内に改行がある場合(めったにないが)を想定しなきゃならないので先にパーサーを通す必要がある
元の要件が「CSVファイルの先頭何行を無視して」だから
2017/12/13(水) 00:33:52.07ID:dUmCylYF0
>>42
この場合、先頭数行はヘッダーでcsvじゃないのでは
2017/12/13(水) 07:16:49.88ID:55R6yVv7M
まずは
・CSV の先頭になんかワケわからん行がくっついてる
のか
・CSV のデータを何件か読み飛ばす
のかをはっきりしろって話だわな
45デフォルトの名無しさん (ワッチョイ 3703-ZqID)
垢版 |
2017/12/13(水) 07:25:32.55ID:Iqcr0fg80
どうせ読み飛ばすんだからどっちでもええやろそんなもんw
2017/12/22(金) 02:36:25.35ID:agnD/jLFa
向こう使い終わったな
2017/12/22(金) 04:56:06.32ID:6xfAUU/Sd
ここ数日ここ見てたんだが自称上級者様がドヤ顔してるだけのスレだな
2017/12/22(金) 06:19:42.32ID:agnD/jLFa
>>47
どんなのが理想なんだ?
ぶっちゃけほとんどの質問に回答がもらえてるようだが
2017/12/22(金) 09:45:16.77ID:Vx5ddxy90
ワードサラダボーイがいないスレ
2017/12/22(金) 09:53:06.84ID:8f8y8qIA6
それは何ですか?
2017/12/22(金) 09:55:25.36ID:oR3DRk2W0
会計システムはクラサバが最低限の要件なので、計算はDBでやるからクラス分けなど何の役にも立たないし却って邪魔だ
彼はクラサバと無縁なスタンドアローンの世界に住んでいるのかもしれんね
2017/12/22(金) 10:08:25.66ID:2CqGXpCvM
スタンドアロンだとして、どういうデータ設計したら費用項目ごとにクラスができるんだろうね
日付, 費用種別コード, 金額
まさかこんなタプルで管理してるんだろうか
2017/12/22(金) 10:17:07.48ID:sp7ymsVp0
自称上級者様ご降臨〜 w
54デフォルトの名無しさん (ブーイモ MM27-vkjg)
垢版 |
2017/12/22(金) 10:23:52.41ID:lyRs/gAjM
そ、ギョーミーな戦場ではオブジェクト指向などと言う玩具の武器は役に立たない
2017/12/22(金) 10:26:29.36ID:xQ825djR0
>>54
いまだにこんな老害がいるからね
56デフォルトの名無しさん (ブーイモ MM27-vkjg)
垢版 |
2017/12/22(金) 10:32:48.81ID:lyRs/gAjM
何をいっておる、LinqもLambdaも戦場の小火器として使えるが腐ったオブジェクト指向など使えぬわ
2017/12/22(金) 10:56:00.35ID:pMoYdCae0
関数型がいいって言いたいの?
58デフォルトの名無しさん (ブーイモ MM27-vkjg)
垢版 |
2017/12/22(金) 10:59:19.90ID:lyRs/gAjM
腐ったオブジェクト指向脳で単純なものを複雑にするヤツが大嫌いなだけ
2017/12/22(金) 11:05:05.39ID:oEPXElot0
結局個人的感情か
毎回レスの最後に ※個人の感想です って付けとけよ
2017/12/22(金) 11:10:42.54ID:cOtumJc5a
>>59
全レスそうだから省略できる

もちろん個人の感想だが
61デフォルトの名無しさん (ブーイモ MM27-vkjg)
垢版 |
2017/12/22(金) 11:11:28.05ID:lyRs/gAjM
オブジェクト指向は過去の遺物
2017/12/22(金) 12:24:49.48ID:4JyKqZfo0
>>61
じゃあ今流行りは何?
2017/12/22(金) 12:29:43.88ID:E5w5T/306
大きなスケール→ガチガチのオブジェクト指向
小さなスケール→手続き型、関数型
2017/12/22(金) 12:35:16.71ID:3WJNmOAXM
名前、住所、電話番号、みたいなデータがあったとして、
Aさんの住所を参照するのに、["A"]的なアクセスするやつ、なかったでしたっけ?
2017/12/22(金) 12:41:08.55ID:sp7ymsVp0
>>64
Dictionaryでいいんじゃね?
2017/12/22(金) 12:47:31.71ID:E5w5T/306
>>64
https://ideone.com/opVzhA
2017/12/22(金) 13:06:22.96ID:4dlvq16La
>>64
そういう仕組みはインデクサという
68デフォルトの名無しさん (ワッチョイ f3f7-fDUi)
垢版 |
2017/12/22(金) 19:32:54.21ID:w6Zu6k6M0
ボタンを押すと処理を緊急停止するプログラムを作りたいのですがどのような方法がありますでしょうか?
2017/12/22(金) 19:39:03.10ID:Ta4DCaCP0
>>68
とりあえずthis.Close()でFormを閉じる
それでだめなら要件を挙げて
70デフォルトの名無しさん (ワッチョイ f3f7-fDUi)
垢版 |
2017/12/22(金) 19:46:47.55ID:w6Zu6k6M0
今はbackgroundWorkerで処理を実行しているのですが
CancelAsync()で停止させても
if (backgroundWorker1.CancellationPending)
{
e.Cancel = true;
return;
}
というコードに到達するまで停止しないので停止までに時間があるのを改善したいです
このコードをたくさん差し込むしかないのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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