1 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 21:30:48.55 ID:7U+HR4FY.net] 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、 質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっと C#,C♯,C#(初心者用) Part133 mevius.5ch.net/test/read.cgi/tech/1510056685/ ■関連スレ C#, C♯, C#相談室 Part95 mevius.5ch.net/test/read.cgi/tech/1508180530/ ■コードを貼る場合は↓を使いましょう。 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 referencesource.microsoft.com/ - VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
369 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 11:32:45.27 ID:K5F4H8OZ.net] 例外も内部にステータス持つなら同じことだから、要はenumのかわりにクラスを使えということなんだろう。 必ずしもそれが筋が良いとは思わんけどな。
370 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 11:36:28.15 ID:zEFqnqTD.net] >>361 例外使えないとか使わない前提じゃないけどもう日本語通じないか ファイルダイアログも使ったことないんだろうね
371 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 11:36:52.38 ID:1RSLLPBx.net] >>361 >>>360 >一般論的に言って例外使えない子は退職して欲しいってだけだよ >>>355 に対する答えは>>359 で出してるでしょ 安価ミス >>355 に対する答えは>>358 で出してるでしょ
372 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 11:38:37.58 ID:zEFqnqTD.net] >>364 ああごめん アンカーまともに判断して意味不明な煽りだと勘違いしたわ
373 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 11:55:32.54 ID:7Si01GpM.net] enumで戻り値を返した先にはswitch〜case文の羅列が待っている それは、オブジェクト指向として美しくない とか言って見る
374 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 12:15:32.85 ID:I3oRkg9y.net] >>350 エナム?イーナム?
375 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 12:16:06.09 ID:fCk6aJzv.net] メソッドの結果が何種類かある どの結果なら何をするかはメソッド自体は知らない なのでenumを返してクライアントに判断してもらう って理由でenumならなんの問題もない enum switch地獄に陥るのはクライアントの実装の問題なので解消できる問題だな イベントでもいいけどイベントは管理しにくいからできれば避けたい
376 名前:347 mailto:sage [2017/12/10(日) 12:24:22.81 ID:okOunyow.net] >>349 ありがとうございます。 HttpHost64.exe のエラーダイアログは出ないんですが、「指定された引数は、有効な値の範囲内にありません。」は同じでした。 本当になんなんだろう。。
377 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 12:25:57.85 ID:w7IPLNC5.net] そんなもん地獄でもなんでもないわw 大袈裟なやつだなw
378 名前:デフォルトの名無しさん [2017/12/10(日) 12:42:01.80 ID:hfoTCgp6.net] なんでEnumダメなん?.NET標準ライブラリでもよく使われてるやん
379 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 12:44:31.00 ID:KNXh5gp+.net] 補完効くから便利だもんね switchとか全部書いてくれるし
380 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 13:02:49.80 ID:Lqf3YhZb.net] >>366 その主張一時期流行ったけど、今になって冷静に考えると かなり羹に懲りて膾吹いてる感がある
381 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 13:08:33.64 ID:1RSLLPBx.net] ケースバイケース microsoftが使ってれば万能というわけでもないし使ってなければダメというわけでも無い
382 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 13:24:00.94 ID:TdgJU12g.net] ダメって言ってる奴の頭がおかしいだけ enum の継承とか意味わからんし
383 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 13:31:07.35 ID:Xq7qpXg6.net] >>375 ステートマシン作ってそのクラスを継承すると欲しくなる
384 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 13:33:07.99 ID:1RSLLPBx.net] ダメとは言わないがコード整理するとenumが自然と消える
385 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 14:00:03.48 ID:K5F4H8OZ.net] どこでどういうタイミングで消えるのか興味深い
386 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 14:11:52.06 ID:1RSLLPBx.net] >>378 例えばこういう感じ void ExternalCode(MyEnum e) { int x = 0; if (e == MyEnum.A) x = 1; if (e == MyEnum.B) x = 2; Console.WriteLine(x) } ↓ static class MyEnumEx { public static int GetX(this MyEnum e) { if (e == MyEnum.A) return 1; if (e == MyEnum.B) return 2; return 0; } } void ExternalCode(MyEnum e) { Console.WriteLine(e.GetX()); } ↓ class MyEnumBase { public virtual int GetX() { return 0; } } class MyEnumA : MyEnumBase { public override int GetX() { return 1; } } class MyEnumB : MyEnumBase { public override int GetX() { return 2; } } void ExternalCode(MyEnumBase e) { Console.WriteLine(e.GetX()); }
387 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 14:20:47.04 ID:K5F4H8OZ.net] ありがとう。 言いたいことはわかったけど、それって整理されたの?という疑問は残る。 この例だとenumで分岐されるのがint xという単一の値を決定する処理だけだけど、 ExternalCode() には class MyEnumEx を用意して、MyEnumを使う別の処理には また別のclassを用意して、ってなるわけだよね。
388 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 14:23:46.87 ID:KNXh5gp+.net] 君のenumの使い方がそもそもおかしいだけで、普通はオプション的なものに使うからそうはならないだろう
389 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 14:44:45.17 ID:1RSLLPBx.net] >>380 ならないわけだよ MyEnumに関する責務が分散していることが問題だから整理して凝集させるわけだ それなのに責務をまた複数のクラスに分散させてちゃ意味が無いだろう 別の場所でyを取得する処理が書かれてるなら class MyEnumBase { public virtual int GetX() { return 0; } public virtual int GetY() { ... } } というように拡張していけばいい
390 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 14:50:12.52 ID:o/NiMYKz.net] >>376 サブステートを定義するとかしかやりようがないような気がするけど... enum 使わなきゃ綺麗に書けるの?
391 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 15:30:45.08 ID:hRp3Q2MJ.net] >>369 最新の2017でないのなら専用スレで聞け Visual Studio 2015 Part8 https://mevius.5ch.net/test/read.cgi/tech/1484855822/ VSは複数バージョン入れると干渉して稀に不具合起きるらしいけどその辺は自己責任
392 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 16:01:41.00 ID:K5F4H8OZ.net] >>382 そこ集めちゃうの?という印象。 たとえば enum System.IO.FileMode のようなものを class で置き換えるとした場合、せっかく 抽象化したのに操作対象毎に異なる実装をそこに全部書くことを想定しているんだろうか。
393 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 16:32:25.95 ID:1RSLLPBx.net] >>385 操作対象はインターフェースで分離する FileModeはFileModeに関連する責務だけを担当する 操作対象に関する責務はFileModeには無い
394 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 16:41:37.05 ID:1RSLLPBx.net] むろん全てのenumをオブジェクトにすべきと言ってるわけではない ビジネスレイヤではオブジェクトにしたほうが良い場面が圧倒的に多いが 単なるフラグセットとみなしたほうが有利な場面もそりゃあるだろう
395 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 16:56:48.76 ID:K5F4H8OZ.net] >操作対象に関する責務はFileModeには無い だからね、例えばローカルファイルとネットワークドライブ上のファイルとで同じFileModeに対する 操作手順が異なるとした場合、それをどこに実装するかって話。 1つの class Enum に実装するのは論外として、インターフェースと実装クラスに分離するなら>>380 の通り。 あるいはFileクラスに掛かる実装は class Enum 側に持たないというならenumのままでもいいじゃん、となる。 >>387 結局そうだよね。圧倒的かどうかは知らんけどw
396 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 16:57:04.47 ID:AsjcCxkl.net] xがなにで1と2でどう違うのか分からんが まずxをクラス(か構造体)にするべきだと思うんだが
397 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 16:59:10.81 ID:1RSLLPBx.net] >>389 大した意味のないサンプルに深入りするの馬鹿馬鹿しくない?
398 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 17:11:04.47 ID:QtRE0gJ3.net] ほらキチガイが湧いたwww
399 名前:デフォルトの名無しさん [2017/12/10(日) 17:14:47.78 ID:IOEOCVr0.net] 例外も列挙体もLINQもインタフェースもイラネってかwwwwww
400 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 17:31:58.06 ID:klwCxkV9.net] 死ねで終わらせとけばいいのに相手しやがって死ね
401 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 17:55:36.64 ID:CnpEkAKU.net] 昔流行ったswitchを無くせって話は、元々はJavaみたいな関数ポインタもデリゲートも使えない言語で ジャンプテーブルをどうやって実現するかって話(要するにいかに効率化するかって目線の話) だったと思うんだけど、それが途中からこじつけか何か知らんけどOOP敵に美しいとか正しいって 話にすり替わった印象しかないね。 そりゃ多態使ってswitch無くした方が美しく可読的に書ける場合もあるけど、 そうじゃない場合の方が圧倒的に多い。 要するに上にも書いたけど、羹に懲りて膾を吹く類の話だよね。 今でもこういうこと言ってる人の話は真に受けちゃダメだと思う
402 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 18:11:31.06 ID:u72ghqtY.net] enumをクラス化でシンプルにできるのはシングルのenumで状態が決まる場合 複合的な状態を持ってるとまあ理解に苦しむコードになるよ ifとswitchのほうが読みやすく理解しやすいならそっちを使えばいい
403 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 18:13:44.60 ID:o/NiMYKz.net] >>390 例示されたサンプルがおかしいって言われてるって言うことをそろそろ気づこうか
404 名前:デフォルトの名無しさん [2017/12/10(日) 18:15:53.82 ID:40kmfkZ7.net] しょーもな 首吊って死ねば?
405 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 18:30:36.92 ID:1RSLLPBx.net] >>394 オブジェクト指向をやるならカプセル化や単一責務は基本中の基本 enum switchはそれを全部ぶち壊しにする だからやめとけって世界中で言われてんだよ
406 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 18:39:54.73 ID:u72ghqtY.net] それは使い方が悪いだけだよ
407 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 18:41:44.28 ID:o/NiMYKz.net] >>398 お前の狭い世界はどうでもいい
408 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 18:45:22.58 ID:1RSLLPBx.net] まあ初心者スレだしOOPわからんってのも仕方がないか… 何年後かには理解できてると思う
409 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 18:47:16.85 ID:u72ghqtY.net] >>379 このコートの最初が悪くてあとが良いとは限らないと思うが これ100個あったとして どこぞの言語みたいに一クラス一ファイル縛りがあったら100個ファイルが必要 それに見通しが非常に悪い switchも見通しが悪いけど100個のクラスの100メソッドを検索で渡るよりまし
410 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 18:49:15.44 ID:u72ghqtY.net] 状態によって見やすいコードはかわるけどswitch==悪はfalseだろ
411 名前:デフォルトの名無しさん [2017/12/10(日) 18:52:06.23 ID:40kmfkZ7.net] >>403 草
412 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 18:52:09.72 ID:in4pjWGE.net] 雑談スレか
413 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 18:55:12.88 ID:1RSLLPBx.net] >>402 すまんがまず100このenum値って時点で設計ミスだと思うぞ 普通の業務ロジックでそんな区分分けみたことないわ 大量のenumといったらせいぜいリソースIDのラベル化とか? そ
414 名前:なんまでクラス化はしないよ なんでもクラス化するわけじゃないってなんどもレスしてるよね? まあ仮に区分が膨大な場合でもそれがビジネス上の振る舞いを持つならクラスにしたほうがいいぞ クラスにしたら見通し悪いっていうけど そりゃビジネスそのものが見通し悪いんだから仕方がないか クラスっていう保護がなければもっと悲惨なことになる [] [ここ壊れてます]
415 名前:347 mailto:sage [2017/12/10(日) 18:55:31.09 ID:okOunyow.net] >>384 誘導ありがとうございます。
416 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 18:57:52.94 ID:u72ghqtY.net] もともと責務と言いながら 状態を伝えるだけのenumをクラスに拡張しちゃって責務の内容を広げっちゃって 保守性を落としてるんだからまだまだだね
417 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 18:59:10.78 ID:u72ghqtY.net] >>406 1つ目と3つ目を比べると1つ目のほうがすぐれたコードだと思う 理解しやすい それ以上優れてる理由はない
418 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:02:50.61 ID:1RSLLPBx.net] enumが100個あってシステムのあっちこっちに分岐があります 仕様が変わりました値Aの仕様が変わりました enumの場合: システムをenumのAで検索 あっちこっちでヒットしたコードを慎重に整合性を確認しながら修正 もしかしたら見逃しがあるかもしれないと不安を抱えながら作業 Aを修正してるのに周りの他の値の場合の処理が凄まじいノイズになってめまいがする コードが他の責務に埋め込まれてるのでテストは容易ではない クラスの場合: 派生クラスAが定義されてるファイルを開く 1つのファイルに集中できるので楽々修正 Aに関する処理は全部このファイルにあるので見逃しも無い 他の値の処理が周りに無いのでクリアな視界で作業可能 クラスになってるのでテストは超簡単
419 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:07:08.35 ID:1RSLLPBx.net] enum値が削除されたら? 新しいenum値が追加されたら? クラス化されてないと超しんどいぞ システムにばら撒かれたenum100個なんて管理しきれないよ OOPの言語と開発環境ならクラス100個は楽勝で管理できるけどな
420 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:07:59.48 ID:u72ghqtY.net] >>410 クラスを使うべき時は使う そうじゃないときはswitch enumでも十分
421 名前:デフォルトの名無しさん [2017/12/10(日) 19:09:21.56 ID:HHgBYreh.net] enumなんて存在すら忘れてた もうクセでデータ保持するクラス作っちゃってたわ やっぱ固定値の列挙はenumの方がええんやろか
422 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:10:43.29 ID:1RSLLPBx.net] >>412 それでいいよ ビジネスが入り組んできたらクラスにリファクタリングすればいい 俺は最初からクラスにしてるけどね
423 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:13:57.59 ID:o/NiMYKz.net] >>411 > システムにばら撒かれたenum100個なんて管理しきれないよ enum 使ったことないのか? なんか実務を知らないのに iwa4.hatenablog.com/entry/2013/03/04/180521 とかを見て switch は悪 ⇒ enum 不要 とか拗らせてるって感じ w
424 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:16:05.80 ID:KNXh5gp+.net] enumをクラスにするという考えがあることが根本的な設計のセンスの無さを感じる
425 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:18:31.13 ID:u72ghqtY.net] そのenumを置き換えたクラスを使う場所が100個あって後段でそれぞれ違う処理(メソッド)が必要なら 100個のクラス*100のメソッド=10000必要になる 本当に管理しきれるのかな 記号は記号でしかないと思う
426 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:23:13.06 ID:1RSLLPBx.net] 君たちはさC#を使ってるけどOOPはできてないんじゃないかな? たぶん昔ながらの手続き型のパラダイムから進歩してない フィールドやプロパティは丸出しで データベースの物理構造を色濃く反映したDTOを ネストしまくり分岐しまくりのやけに長いトランザクションスクリプトで処理する そんなコードばかり書いてるんだろ?
427 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:27:02.30 ID:1RSLLPBx.net] >>417 仕切れるよ 疎結合高業務で
428 名前:責務がしっかり分けられてるからね というかそれで管理できなかったらクラスという枠組みを失い無秩序状態になった同じ数(経験上もっと多くなるが)の処理なんて余計に管理できないだろ [] [ここ壊れてます]
429 名前:デフォルトの名無しさん [2017/12/10(日) 19:28:10.84 ID:RKQe6ZfS.net] >>418 キミ自身、キミの言う「昔ながらの手続き型のパラダイム」でキミの考える最強の「OOP」をしとるんやで もう少し脳を鍛えようか?ね?
430 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:28:59.49 ID:0VP/mrFZ.net] 滅茶苦茶レベルの低いところで仕事してるんだろうなあってのは伝わってくる
431 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:29:31.44 ID:K5F4H8OZ.net] >>419 いや、あんたの主張は疎結合どころか、enum相当のクラスに結合しまくりだろう。
432 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:32:15.18 ID:1RSLLPBx.net] >>422 疎結合だよ クラスにすればenumを使う側はenumの振る舞いの実装を知らなくていい クラスにすればある値と他の値の処理が同じスコープで干渉しなくて済む こんな基本もわかってないんだよなぁ ま、初心者スレってことか
433 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:36:46.16 ID:O8bRFaEo.net] \  ̄ヽ、 _ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ `'ー '´ ○ O ,.- ‐── ‐- 、 ,r'´ `ヽ ,イ jト、 /:.:! j i.::::゙, i:.:.:| _,, ,、--、 !:;;;;| |;;;;j ,r''"二ヽ r'⌒ヽ !;;;! ,ヘ;;i! ,,_r ・,ン.:! {〈・_,>、,, jヘi! 〈 j>j、 "´, イ `ヽ ,':::〉! `ゝ.`, ノ、__,入 j::rソ `゙i / ,r===ュ, `, '.:〔_ }! ! i.:::::::::::.:! ;! .!::::j::`` ー----─r- 、 , イ.:ト、 ゙===='′ ,イ!:::::!::.:.:.:. ゙, `ヽ _ノ /j.:::!:トヽ、 ´ ̄` ,ノ´ ,リ::::.:!:::.:.. i. \ ,.r'´ /.::!:::::::| `ヽ`"""´ /ノ.:.:.:.:.::!:.:. | ! / .:|.:.:.:::ト、 リ / !:. ! | / l , へ\! /'7ヽ |: j | . / l/^ヾ:::ト、! j! l 〉、 | | . | / i .::| i| j! | / `ー'′ ! j! !
434 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:38:51.23 ID:40kmfkZ7.net] はい! ID:1RSLLPBxの勝ち!w おまえらドンマイw
435 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:40:38.39 ID:0VP/mrFZ.net] enumの使い所を間違えるようなレベルの人間でないと共感は得られないと思う
436 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:41:38.15 ID:lTpNuF7F.net] と、中身のないレスをしてみるのであった。
437 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:46:34.91 ID:YjUTAOlB.net] ステータス(状態)をクラスにしちゃうと色々と説明が必要になっちゃうけどな もっと素直に設計できねぇの? お前らの剣は無駄な動きが多過ぎる
438 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:49:25.32 ID:+dBvFTXH.net] すみません。質問ですが、例外とエラーの違いって何ですか?
439 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:49:27.62 ID:0VP/mrFZ.net] 状態に複数の要素が絡んだ時、彼はどうクラスを設計するだろうか
440 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:51:18.85 ID:40kmfkZ7.net] >>426 >>428 >>430 負け惜しみが見苦しすぎるw
441 名前:片山博文MZ mailto:sage [2017/12/10(日) 19:52:02.61 ID:M7uFif4k.net] 例外は制御がぶっ飛ぶやつ。 エラーは、正常に処理ができなかったという意味。
442 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:57:13.54 ID:NAV3AZ5L.net] 状態数も20くらいまでなら把握できるが…それ以上はいやだねえ…
443 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:58:57.63 ID:in4pjWGE.net] >>429 ここで言っている例外はtry-catchでcatchで受けられる処理(Application Exceptionの類)の話 そのエラーの意味が何に対するエラーなのかわからないので違いは説明できない
444 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 19:59:05.93 ID:0VP/mrFZ.net] enumだらけの.net frameworkを、enumじゃなくてクラスにしろよなんて思いながら使ってないだろうよ
445 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 20:01:31.79 ID:1RSLLPBx.net] >>435 ベーシックライブラリと業務システムのドメインロジックを同じ感覚で書くプログラマは居ないよ
446 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 20:04:07.99 ID:0VP/mrFZ.net] >>436 だから普通は使い所をわかってるから、こんなこと何の議論も起こらないよねって話じゃん
447 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 20:04:55.70 ID:40kmfkZ7.net] からからうっせーよ死ねや
448 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 20:14:56.93 ID:1RSLLPBx.net] >>437 わかってないからなここの初心者連中
449 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 20:17:38.09 ID:in4pjWGE.net] このスレ来ている時点でみんな初心者。スレタイに「初心者用」ってちゃんと書いてあるから
450 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 20:41:13.41 ID:o/NiMYKz.net] 初心者ならいいんだけど、初心者を卒業したと勘違いしてる ID:1RSLLPBx が痛々しいだけ
451 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 20:42:45.81 ID:1RSLLPBx.net] 今日は負け惜しみを沢山見たが反論は少なかったなぁ
452 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 20:57:11.24 ID:gQySa/bC.net] キチガイにふれるなよ
453 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 21:46:32.27 ID:Uujd9YQH.net] 計算量の観点で比較すると switchはコンパイラが2分探索にしてくれる場合がある O(log2(N)) クラス化はインスタンス生成された時点で仮想関数テーブルが紐付く O(1)+ディスパッチのコスト で合ってる?
454 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 21:54:10.74 ID:bPupZbt5.net] >>444 switch でも状況によってジャンプテーブルにしたりするんじゃね?
455 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 22:12:18.04 ID:Uujd9YQH.net] >>445 C#はジャンプテーブルも使うみたいですね この比較はあんま意味ない気がしてきたので閉めます
456 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 22:28:48.38 ID:klwCxkV9.net] 俺以外でここまで書き込んだ奴は明日朝一で中央線に飛び込んで死ね
457 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 22:37:53.36 ID:8I95hEEE.net] 仮想メソッド呼び出しはJITがインラインキャッシュで展開するからコストはほぼゼロのはず
458 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 22:38:00.15 ID:/a8M7Ljd.net] >>447 板違い。メンタルヘルス板に行け
459 名前:447 mailto:sage [2017/12/10(日) 22:39:14.02 ID:8I95hEEE.net] 補足 展開っていってもインライン展開するわけじゃないよ 静的なメソッド呼び出しに置き換えるということ
460 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 22:54:55.63 ID:4CvOnmGy.net] >>429 例外 ⊂ エラー
461 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 23:09:05.85 ID:NAV3AZ5L.net] >>450 vtable を間に噛むんじゃないか?
462 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 23:13:59.68 ID:40kmfkZ7.net] >>451 マ?
463 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 23:47:37.64 ID:u72ghqtY.net] shapeクラスをベースに持つrectangleとcircleクラスの挙動をswitchで制御してるならOOPに反すると思うけど 確固たる概念も実体もないものをわざわざクラスにしてまでenumを消す理由はない 普通のマジックナンバー代わりの記号がenum オブジェクト間でクラスがメッセージをenumで渡すだけ 上手に使えばいいだけ
464 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 23:56:55.90 ID:+mi54qJj.net] あ、もうその話終わってるんで(^^;
465 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 00:02:40.94 ID:4r/Nu0Q4.net] >>454 お前も勝利宣言しとけよ 明日以降やられてもたまらん
466 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 00:13:22.40 ID:duNhD2vY.net] 実体の無い物
467 名前:をクラスにしたらドキュメント書けよと それだけだけどな 書かないでやってる奴はギルティ [] [ここ壊れてます]
468 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 00:24:03.35 ID:ZlOMrHZS.net] メッセージがただの記号だったのにクラスになるとオブジェクトの生成や 必要に応じてライフタイム管理が必要になる しかも作ったオブジェクトに処理を移譲したり他のオブジェクトを渡したりして新たなオブジェクトと結合が密になる恐れがある そこまでしないなら記号の受け渡しで済んだものがクラスの管理が増えるだけでメリットは薄い
469 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 03:52:53.05 ID:oxZtEftd.net] あー、そーゆーのはママに教えてあげてね
470 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 06:40:10.22 ID:6BzZoNtD.net] >>442 そりゃ反論はガン無視だもんな w
471 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 08:32:07.64 ID:Pz9H8j59.net] > オブジェクトの生成 状態変わらないのだからpublicなstaticメンバで持てばよい > ライフタイム管理 そんなに気になるのならstructにすればよい > 処理を委譲したり(最後まで) 全く意味不明
472 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 08:37:46.08 ID:PAoZtWNN.net] 一晩経っても負け惜しみ言ってるやつ居てわろた せめて反論したらどうなの? >>458 メッセージを列挙値で済ませようとする発想がまずチープだがまあいい RegexOptionsみたいな場合もあるからな 問題はドメインオブジェクトを列挙値で表現してしまうケースな 昨日から議論してんのはメッセージの話じゃないんだよそもそも 君はまだそこを理解してない
473 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 08:40:03.91 ID:Pz9H8j59.net] どうしてもenumにこだわりたいのなら Attribute付加 拡張メソッド作る こんな手段はある
474 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 08:44:48.49 ID:PAoZtWNN.net] 他のオブジェクトとの関連云々ってさ べつに列挙値からオブジェクトにしたから急に関連が出てきたものじゃないんだよね ドメインの性質としてもともと本質的に関連があるものなんだよそれは それがオブジェクトにしたことによって可視化されただけ 列挙値のままだと関連があるのにそれがハッキリと見えず暗黙の結合状態になってるだけ それはまさに最悪の状態だよ
475 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 08:50:22.92 ID:DFoAuevB.net] 設計書の構造に箱ができないものをクラスにするのはセンスが悪いな こんなゴミクラスたくさん作っちゃってクラス図でどうやって説明するの?
476 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 08:56:14.04 ID:DFoAuevB.net] 汎用ライブラリにでもぶち込むならともかく こんな枝葉までクラスにされるとソースの粒度に統一感がでない ステータスなんかクラスにすんなよ ドキュメント書くのが面倒くせえだろ それはイコール他人に説明する手間が増えてることだと気づけよ どーせドキュメント書かないんだろお前馬鹿だから
477 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 09:36:16.99 ID:SJ7HWrxD.net] 他人に説明するためのドキュメントは確かに書かないな ソース見たほうが早いし間違いがない ソースコードが設計書である 俺が馬鹿かどうかに関係なく、 アジャイルやGOAでやるとどこでもそうでしょ
478 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 09:38:16.34 ID:LDcEcB6H.net] >>467 ワケのわからんソース書くやつに限ってお前みたいなこと言うのな
479 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 09:41:22.91 ID:ibPW1Iwl.net] ちょっと昔な感じだな 今は当たり前にドキュメントを書いてる時代だと思うけど
480 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 09:43:28.23 ID:oxZtEftd.net] はいはいご立派ご立派
481 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 09:48:35.34 ID:kESkT9Ub.net] おはようございます。(改行大杉で怒られたので行間を詰めています。 現在押し付けられて困っていることがありご教示いただければと思っております。 環境:フレームワーク4.71 + MVCフレームワーク5OS:Wi
482 名前:n2012 現在上記環境で動いているシステムがあり、 いくつかのリクエスト文字列と画像ファイル1つをマルチパートで受け取るシステムがあります。 今回、アンドロイド側のJAVAアプリからデータをマルチパートでPOSTしてくる予定だったのですが 時間不足で実装できないと言われ、データを以下のように送ると言ってきています。 (AndroidといえどJavaと同様なのでマルチパートのOutputStreamを作成して送ってくるだけだと思うのですが…。) 1.ファイルをバイト配列に変換 2.そのバイト配列をBase64エンコード 3.最終的にUTF-8の文字列にして通常のリクエスト文字列として送信 上記の仕様だそうです。 そこで上記の逆手順を…と思い 考えれる範囲で 1.リクエスト文字列をUTF-8バイト配列に変換 2.そのバイト配列をChar[]に変換 3.Char[]をFromBase64CharArrayでバイト配列に変換 とやってみたのですが System.FormatException: 入力は有効な Base-64 文字列ではありません。 上記例外が当然のように発生します。 単純にアンドロイド側からBase64で送ってもらえればそのままデコードできるのですが それも突っぱねられて困っています。 そもそもこの逆変換が技術的に不可能なようであれば相手側に強く言うこともできるのですが その根拠が示せず言い出せません。 1.そもそも可能なのか? 2.手順的にはどのようにするのがよいのか ヒントだけでも構いませんのでご教示いただければと思っております。 以上です。 [] [ここ壊れてます]
483 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 09:54:06.70 ID:LDcEcB6H.net] >>471 欲しい形の文字列とどう違うのか比較してみろよ
484 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 10:11:54.42 ID:kESkT9Ub.net] >>472 ありがとうございます。 あぁ、なるほど! 該当ファイルをBase64文字列にして その差を比較してみて両者が合うように変換していってみる ということですね。 ちょっとコツコツやってみることにしてみます。
485 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 11:07:13.45 ID:jHA/gkIg.net] >>471 リクエスト文字列を直接Char[]にせずバイト配列にいったん変える意味が分からない リクエスト文字列がBASE64の文字列でなければFromBase64CharArrayは使えない https://msdn.microsoft.com/ja-jp/library/vs/alm/system.convert.frombase64chararray(v=vs.71).aspx/html
486 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 12:02:38.34 ID:0NyrcvQf.net] switchを無くせって話、WPFとかのMVVMにちょっと似てるね どっちの場合も原理主義者が主張するような美しい理念がワークするのは、 ある一定の条件というか閾値を超える事例だけであって、それ以外の場合は かえって可読性とか保守性とかが低下すると思うんだけど、原理主義者がそういう現実を 無視して何にでも適用可能な万能の方法みたいにごり押ししてる感がある
487 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 12:11:33.55 ID:SaVPDOly.net] 多少冗長になっても1つのルールに沿って全部書いた方が読みやすいだろ
488 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 12:12:00.53 ID:LDcEcB6H.net] もういい加減組めちまってる奴は 次の課題を自分で探さないといけない プログラムスキルは組めるようになったら そこでMaxなんだよ さっさと次の課題を探さないから どーでもいいことが意味ありそうに思えてくる
489 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 12:58:53.47 ID:WHbaikY8.net] >>379 みたいなケースでswitchをなくせ って言うのはそりゃそうだなって思うけど そもそも>>379 の最初の方の組み方がおかしいだけでenumの問題じゃない それを>>379 の例だけでswitchをなくせと言うならまだしもenumなくせとか言い出すから頓珍漢なことになってるだけ
490 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 13:49:25.47 ID:jxfuchh+.net] >>743 レスありがとうございます。 相手が手順的にBASE64のバイト配列をUTF8文字列にして送ってくるようだったのでその手順が必要なのかな…と思いまして。 そもそも何故バイト配列からBASE64の文字列にダイレクトにしなかったのかと…。おもいつつです。
491 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 15:28:30.74 ID:MTsA4uB/.net] >>471 元の仕様 1.ファイルをバイト配列に変換 バイト配列ができる 2.そのバイト配列をBase64エンコード ファイルをBase64エンコードした文字列ができる(仕様上UTF-8でもシフトJISでも同じ) 3.最終的にUTF-8の文字列にして通常のリクエスト文字列として送信 これが何の変換かわからない(2.の理由により必要がない) まず元の仕様を勘違いしていないか? その上で逆手順のテストコードバグっているから不必要にややこしくなってる
492 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 15:39:40.21 ID:FZFaQSBJ.net] ファイルをバイト配列に格納→をBase64に変換 ↓ Base64をバイト配列に変換→バイト配列をファイルとして保存
493 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 15:45:33.14 ID:MTsA4uB/.net] >>471 あとBASE64の文字列の長さは4の倍数でConvert.FromBase64CharArrayにそれ以外の長さのChar[]を指定するとエラーになる 不足分を自分で埋める('='で埋める)必要があればそれもやらないと
494 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 16:00:32.40 ID:JAdbtKtz.net] 多分UTF-8のBOMの有無でずれているんだろうな 手順がいくら増えようが不可逆になることはない
495 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 17:48:13.13 ID:s+GYIw+B.net] >>478 誰もenum無くせとは言ってないぞ ドメインクラスをenumで表現するなって言ってる
496 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 18:27:40.38 ID:sMdN9sff.net] ドメインが理解出来ていないからすれ違いのままなのかな
497 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 19:55:13.88 ID:WHbaikY8.net] >>484 お前が誰か知らんけど >>377 > ダメとは言わないがコード整理するとenumが自然と消える とか言ってたアホがいるって話
498 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 20:33:38.88 ID:hCIPbzdz.net] >>486 外人? ダメともなくせとも言ってないじゃん
499 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 20:53:07.48 ID:WHbaikY8.net] はいはい、言葉尻にしか反論できないってことね 可哀想だな w
500 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 22:32:51.43 ID:g6aSF5Tx.net] やれやれ
501 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 22:54:45.84 ID:Mf9o9uwW.net] あれあれ これは言葉尻ではない気がする
502 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 22:59:42.23 ID:SJ7HWrxD.net] goto文をなくせの頃から何にも変わってないな gotoをなくせ enumをなくせ switchをなくせ シングルトンをなくせ ヘルパークラスをなくせ 一応どれも正しい 間違ってはいない でもこういうルールは別に守らなくてもいい どうでもいいルールなんだよ DRY原則とかOpen/Close原則とかの設計原則の方がより重要あってね
503 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 23:06:06.50 ID:+NqpgsqU.net] どっちでもどうでもいいよ どうせ動くんだし テストをしっかりすればいいだけ
504 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 23:22:47.89 ID:Mf9o9uwW.net] gotoとenumの間にはかなり差がある気がする 前方へgotoは絶対悪だから使用厳禁 ドメインのenumと同じかw もうちょっと緩いと思うが switchはパターンマッチとして使うのは推奨なご時勢だけどC#のswitch構文は力不足だね
505 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 23:36:59.61 ID:izyLx6FJ.net] gotoは後方への方が凶悪だろ 前方だけに使う分にはbreakやtry-catchと大差ない
506 名前:493 mailto:sage [2017/12/11(月) 23:40:04.94 ID:izyLx6FJ.net] 書いてから気付いたが前方参照の意味での前方か 失礼
507 名前:デフォルトの名無しさん [2017/12/11(月) 23:43:50.74 ID:wiZ77PPl.net] >>491 ルールと呼ぼうが原則と呼ぼうが本質は何も変わらんよ 要するにバカの暴走を制限する為の足枷でしかないw
508 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 23:54:41.55 ID:SJ7HWrxD.net] >>496 〇〇をなくせというルールが馬鹿にたいする足枷でしかないのは全くその通り だから俺みたいな賢人にはどうでもいい 逆に馬鹿に設計原則は理解出来ないだろう SOLID原則が理解出来るならそいつは馬鹿ではない
509 名前:デフォルトの名無しさん [2017/12/12(火) 00:01:45.14 ID:98iDbaWn.net] >>497 表面的な理解で原理主義に陥いってしまう奴は沢山いるし 本質的にそいつはバカなんだと思うよw それは理解してないのだと言われればそれまでだがw
510 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 00:04:06.99 ID:4TJt3MwM.net] 質問と関係ないレスどこまで続けんの 相談室行けよ
511 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 00:13:24.19 ID:Vo2kP02L.net] バカにされて色々悔しかったんだろ、察してやれや
512 名前:デフォルトの名無しさん [2017/12/12(火) 00:26:32.44 ID:98iDbaWn.net] 抽象的な話になると必ずこういうレスがつくなw これもバカの典型w
513 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 01:19:52.30 ID:sZfK5OGe.net] enum不要っていう馬鹿らしい主張は全然聞かない
514 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 01:31:17.45 ID:/hFzA9NO.net] バカスレ
515 名前:デフォルトの名無しさん [2017/12/12(火) 01:33:06.37 ID:lIsHmOMn.net] 初心者用スレで難しい話すんなよ 俺みたいな趣味グラマーが楽しめないだろ
516 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 02:08:48.08 ID:YqkrRdmr.net] しゅみません
517 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 02:13:45.88 ID:5Qo60rlq.net] しゅき
518 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 05:04:47.87 ID:Vo2kP02L.net] >>501 必ず? 今まで何度も辛い目に逢ったのかな? w
519 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 09:32:06.37 ID:enzDDAPg.net] 10年以上いたら辛いこともあるだろ
520 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 09:55:36.90 ID:B9ezHy21.net] >>507 一晩越してもまだ悔しいんかw
521 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 13:01:20.73 ID:55mcEBCK.net] >>509 お前がな w
522 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 21:31:34.33 ID:CwRQgOlO.net] tensorflow+keras+c#で エロ画像を自動分類するソフトを 作って欲しいと頼まれたんだけど c#から出来そうですか? 参考になるサイトないですか?
523 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 21:36:58.22 ID:Hba1R6el.net] 特徴量でググりまくれ
524 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 21:52:35.56 ID:NQyVP+w1.net] >>511 C#以前に個人レベルじゃ無理です そういうことはデカいところに任せましょう
525 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 21:57:23.48 ID:CwRQgOlO.net] >>513 日経ソフトウェアの記事で 桜、ヒマワリ、バラの判別をやってる プログラムがあるんで これをエロ画像に置き換えて c#からできればいいかなぁ?と
526 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:03:01.97 ID:+ghxhmVd.net] エロがそんな単純だと思うなよ
527 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:03:38.97 ID:NQyVP+w1.net] >>514 内容次第だと思うが何をどう分類したいのか?がはっきりしないと 分類できない 桜 ひまわり バラ の様に特徴が特定しやすい分類なのか?
528 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:06:27.53 ID:yoDcG/vu.net] >>514 アルゴリズムを作るところからやってみて話はそれから とりあえずC#にそんなライブラリは無いので他のスレへどうぞ
529 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:06:56.72 ID:CwRQgOlO.net] >>516 人妻、NTR、レ○プ
530 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:08:56.23 ID:+ghxhmVd.net] 絵で区別できねーだろそれ
531 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:09:56.75 ID:CwRQgOlO.net] >>519 でもなんとなくわかるだろ? 人間だと
532 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:12:39.20 ID:+ghxhmVd.net] 無理 付いてる字幕次第で印象が全然変わるから
533 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:14:01.82 ID:NQyVP+w1.net] >>518 マジで言ってるのか? 無理無理無理
534 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:15:14.51 ID:yoDcG/vu.net] >>520 なるほど、お前には無理だ
535 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:16:50.37 ID:+ghxhmVd.net] プログラム上で可能なのはせいぜい、 顔の輪郭に対する「目の位置」の違いで、大人か子供かを判別するとか (二次絵では顔に対して大人は目を上寄りに、子供は目を下寄りに描かれるケースが多い) そんなもんだろう んで、どっちにせよ言語仕様の話でなく 画像解析という専門分野行きの話になるのでスレチ
536 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:17:02.32 ID:CwRQgOlO.net] 大丈夫だ ディープインパクトならやってくれる 巨乳にニットセーターってもう人妻だろ って結論ぐらい出せるだろ
537 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:18:12.64 ID:NQyVP+w1.net] >>524 ディープラーニングはそういうのじゃない分類ができる でも人間でも一枚絵を見て判断できないのはほぼ無理
538 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:18:48.48 ID:yoDcG/vu.net] >>525 頭にディープインパクトして二度と来るな
539 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:22:07.89 ID:ZGog+EYK.net] webでそういう判定してくれるサービスありそうだけどね そういや俺もwebとかネットワーク関係まったく触ったことないんだけど、 C#でもVBでもいいけどそっち系のチュートリアルってどこかにある? 洋書は知らんけど本はほとんどないよね
540 名前:デフォルトの名無しさん [2017/12/12(火) 22:23:51.41 ID:/hFzA9NO.net] 試しに学習させてみればいいやんけ これはNTR、これは人妻、これはレ●プ、(以下略) こんなデータを大量に与える そして最後にテスト画像を見せて当てられるかどうか
541 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:24:07.38 ID:+ghxhmVd.net] Webサービスを展開する話なら、言語がどうこうっつーより サーバOSとか機器環境とかの話になっちゃうからなあ
542 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:24:09.98 ID:CwRQgOlO.net] >>528 安定するの待ってるんだろうな 機械学習と言ったらコレって確定するの
543 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:40:24.36 ID:NQyVP+w1.net] ディープラーニング、機械学習の本は最近ぼこぼこ出てるよ 内容は似たり寄ったり 地元の図書館にも充実とまではいかないけど今年だけで3冊ぐらい入った 雑誌もディープラーニング特集すると部数が伸びるらしいのでよく特集される
544 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:57:04.37 ID:wz4D/2fS.net] いい加減クラウドじゃ稼げないからディープラーニングに換えただけだろう 出版しても売れなきゃ返本の山だしな
545 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 23:32:02.56 ID:qioa7JjJ.net] AWSってどこまでガチなの? 書籍も少ないし様子見してた
546 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 23:36:49.62 ID:mXOR9ERV.net] 今更すぎるだろ エンタープライズでも驚異的な勢いで伸びてて、あと5年もしたらオンプレサーバーなんかほぼ消滅するレベルだぞ
547 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 23:42:13.92 ID:enzDDAPg.net] 何を指標にガチってるのか分からんが AWSだけで100億ドル超を売り上げるくらいには使われてるだろ
548 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 23:52:57.04 ID:qioa7JjJ.net] まあ、企業向けのサーバーなんしょ? 閉じたネットワークの業務アプリばっかで今までもあんまり関わり無かったからなぁ
549 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 00:03:21.24 ID:prgZVef7.net] >>537 イントラのクラウド移行も凄まじい勢いで進んでるぞ。 AWS上にプライベートクラウドを設定してVPNで接続するだけ。 慣れてりゃ一日ポチポチしたら出来上がり
550 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 00:14:37.13 ID:7y6FaNAn.net] SIのインフラ屋でコード書けない奴はガチでやばいよ 従来のインフラ構築運用なんかクラウドじゃ全く商売にならん インフラはもはや、アプリエンジニアや社内SEが片手間にポチポチやるもの
551 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 00:16:41.76 ID:n4AZEwrx.net] テンプレ理解できないやつ何人いるの?
552 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 00:21:59.75 ID:XGmIS6JF.net] ルールを無視する輩とは一緒に仕事したくないよな。ホント
553 名前:デフォルトの名無しさん [2017/12/13(水) 02:36:04.24 ID:celmGK9q.net] すぐに底辺の職業プログラマが談話始めやがる
554 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 03:35:29.20 ID:Aa4rKi8+.net] 馬鹿の相手する馬鹿とどっこいどっこいだわ 両方殺すにはどうしたらいいか質問していい
555 名前:? [] [ここ壊れてます]
556 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 06:29:25.97 ID:9AlYNlS9.net] >>534 C#erならazulemachinlearningだろw
557 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 06:31:08.15 ID:9AlYNlS9.net] >>535 インフラ担当者は生き残れますか?
558 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 09:49:18.40 ID:5hkNOkMK.net] 勉強のために作ったアプリの単体テスト始めたけどテストコードすら書けない やっぱコピペばっかで作れただけで何も身に付いてないんだなぁ データベースから取ってきた値の比較とかどうやるんだよ…
559 名前:デフォルトの名無しさん [2017/12/13(水) 09:57:31.43 ID:WF2IXduz.net] >>546 データベース読むとこのテストはモック使うんだよ。
560 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 10:03:04.23 ID:5hkNOkMK.net] >>547 モックってダミーみたいなやつのこと? せっかく教えてもらったのに何が便利になるのか全然イメージ出来ない…
561 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 10:05:50.55 ID:7X3tjs6V.net] >>548 用語教えてもらっただけだからわからなくても仕方がない 勉強するのなら自分で使うようなツール作れ。簡単なやつでいいぞ 少しずつ機能増やしていくようにしたらスキルが上がっていく
562 名前:デフォルトの名無しさん [2017/12/13(水) 10:11:11.76 ID:WF2IXduz.net] >>548 グーグル先生にMoqを教えて貰え
563 名前:デフォルトの名無しさん [2017/12/13(水) 10:14:58.04 ID:1Q6K9tEb.net] Aの値を求める ↓ AとBが等しいか 1等しくないなら Aの値を変更して初めに戻る 2等しくなくて3回Aの値を変えている 失敗で終了 3等しい 正常に終了 というプログラムを作りたいのですが どう条件分岐や反復を使用していいかわかりません Aの値の変更は他アプリへの入力で、Aの値を求めるというのは他アプリの状態です アドバイスお願い致します
564 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 10:21:01.20 ID:QhF+UxFg.net] >>551 3回ぐらいハードコーディングしろよ んで同じところをループや関数にすればいい
565 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 10:24:58.47 ID:7X3tjs6V.net] >>551 C#以前の質問だと思うしいろいろあるんだけど int count=3; while (count>0) { [Aの値をGet] if (B==A) break; //正常に終了 count--; } if (count>0) {[正常に終了}] if (count==0) {[3回とも失敗]}
566 名前:デフォルトの名無しさん [2017/12/13(水) 10:29:29.60 ID:1Q6K9tEb.net] >>553 ありがとうございます! これでいきます!
567 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 12:09:08.61 ID:zXzMZXIu.net] いやいや人の回答にケツつけるのもあれだけど、普通にforループ使った方が分かりやすいよw だって要するに3回までリトライするってだけの話でしょw const int rertryCount = 3; A a; for (int i = 0; i < retryCount; i++) if((a = GetA()) == B) return true; //成功 return false; //失敗
568 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 12:11:06.80 ID:zXzMZXIu.net] const int rertryCount = 3; これはちょとミスリーディングか。 こだわるなら const int maxRetryCount = 3; こっちの方がいいね
569 名前:デフォルトの名無しさん [2017/12/13(水) 12:16:44.81 ID:ubNNZos/.net] 文末の無駄煽りwイラネ
570 名前:デフォルトの名無しさん [2017/12/13(水) 12:21:20.67 ID:WF2IXduz.net] 宿題への解答はスルーで
571 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 12:22:42.84 ID:xw1cKw2m.net] >>555 ところ構わずケツつけてくる奴やな みんながみんなホモちゃうでしかしw
572 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 12:57:28.03 ID:qPshWZUl.net] ケツつけるならAは要らない子
573 名前:デフォルトの名無しさん [2017/12/13(水) 18:22:17.80 ID:celmGK9q.net] getA()=Bじゃダメな理由は?
574 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 18:23:23.16 ID:m+6YTdY7.net] >>560 >>561 なんで勝手に質問者の要件作るの?
575 名前:デフォルトの名無しさん [2017/12/13(水) 18:24:34.34 ID:celmGK9q.net] >>562 何言ってるか分からん ただの質問 ここ質問スレだろ?
576 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 18:26:58.52 ID:m+6YTdY7.net] >>563 C#の質問じゃないな
577 名前:デフォルトの名無しさん [2017/12/13(水) 18:31:40.81 ID:celmGK9q.net] >>564 じゃあどこですんの? 言語に関係無いプログラマの談話は要らんが
578 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 18:51:30.28 ID:Aix7CEXX.net] >>546 簡単にユニットテストできるようにSOLIDなコードを書かないとダメ ただ漠然とユニットテストやればきっとうまくいくんや〜などと考えてるようなら先はないぞ
579 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 19:17:20.81 ID:48dLEnlz.net] VBですみません。下記のようなコードで印刷ジョブの数を取得すると OSの印刷ジョブ一覧ウィンドウで見える数と違うのですが なぜ違ってしまうのでしょうか? 'プリントサーバの情報取得 Dim prtSv As New LocalPrintServer() '印刷キュー取得 Dim que As PrintQueue = prtSv.DefaultPrintQueue msgbox que.NumberOfJobs
580 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 19:23:41.42 ID:qPshWZUl.net] >>567 環境を詳細に書かないと解らない エスパー得意だけどこれは無理w
581 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 19:25:11.30 ID:qPshWZUl.net] >>561 俺に聞くなw B == GetA() で十分でないの
582 名前:デフォルトの名無しさん [2017/12/13(水) 19:28:38.16 ID:celmGK9q.net] >>567 OSのジョブ一覧は変更の反映が遅いから ジョブ一覧の画面でF5押しまくれ
583 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 19:29:21.02 ID:48dLEnlz.net] >>568 環境はWin7です。プリンタを一時停止にしてジョブを40個くらいためていくと que.NumberOfJobsは35が返ってきたりします。 時間が経つと40が返ってきたりします。 時間差があるのでしょうか?印刷が成功したか知りたいのですが そのジョブが見つからないのです。
584 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 19:29:55.45 ID:JWALofvX.net] >>567 スレタイとテンプレ読め
585 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 19:33:48.02 ID:48dLEnlz.net] >>570 そうなんですか。困りました。 下記のサイトのようなことがやりたかったのですがorz jehupc.exblog.jp/8603528/
586 名前:デフォルトの名無しさん [2017/12/13(水) 19:36:20.02 ID:celmGK9q.net] >>573 読んでないからよくわからんけど反映が遅れるのはジョブ一覧の画面上の話で実際の内部のジョブ一覧はリアルタイムで変更されてるぞ 多分のおまえのやりたいことはできる
587 名前:デフォルトの名無しさん [2017/12/13(水) 19:40:02.91 ID:celmGK9q.net] >>571 で言えば35の方が正しいってことな多分 知らんけど試してくれ
588 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 19:46:53.57 ID:48dLEnlz.net] >>574 自分も認識としてはそうなんですが何故か想定と違う値が返ってきてしまい・・・ ちなみに.NETの問題かとも思いましたがAPIのEnumJobs()でも同じ値が返ってきました。 JOB一覧でF5を押しまくって40なのを確認してque.NumberOfJobsを取得しても 35なんですよね。で数分待つと40が返ってきたり。 直前にque.Refresh()はしています。
589 名前:デフォルトの名無しさん [2017/12/13(水) 19:56:07.48 ID:celmGK9q.net] >>576 マジか、すまんな
590 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 19:57:45.10 ID:o6fkcoL6.net] >>576 数分待てば40返ってくんじゃん 解決
591 名前:デフォルトの名無しさん [2017/12/13(水) 20:00:10.64 ID:celmGK9q.net] 質問ですがWPFでCommandからModelにアクセスするにはどうすればいいですか? 例えばボタンをクリックしたらModelのBuyNumプロパティをインクリメントしてそれをViewのLabelに反映させたりしたいときなどです。
592 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 20:01:32.95 ID:48dLEnlz.net] >>577 わかりにくくてすみません。 >>578 なるほど!
593 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 20:55:52.96 ID:6RipZ3Bg.net] >>579 VMにコマンドがあるんだったらVMのフィールドにModel持ってるはずだろ? 何の問題もなくアクセスできるはずだが一体何が分からないのか
594 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 21:45
] [ここ壊れてます]
595 名前::44.50 ID:pl2NU6fI.net mailto: >>579 command生成時にVMのメソッドかVMのインスタンスをcommandに渡す つかICommandなんて使わずにコードビハインドのコールバックからVMのメソッド呼び出す方が分かりやすいよ [] [ここ壊れてます]
596 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 21:56:15.26 ID:i7QaIdVf.net] >>579 よくあるパターンだと、DIコンテナってのを使ったりします。モデルのインスタンスを管理するプログラムが有って VMが起動されたときにModelのインスタンスをVMに渡すことが出来ます Prism.Unityとか、MEFとかAutoFacなんてのがありますので興味があれば調べてくださいね
597 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 22:32:23.84 ID:D2CxP1eV.net] コマンドバインディングとデータバインディングを一緒くたにするのは混乱の元 つかWPFスレの次スレ建ってないんだな
598 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 23:15:57.29 ID:Aa4rKi8+.net] 要るのか?
599 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 23:21:05.54 ID:+hxIYt9g.net] こっちでうざい論争始められても困るし。
600 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 23:23:03.58 ID:vLvUNPwO.net] EF Coreを使ってます UpdateでWhereを指定するにはどうしたらいいでしょうか? 現在は以下のようになってます ctx.Students.Update(student); ctx.SaveChanges(); もしくは、行ロックのやり方を教えてください レコードを更新する際に特定の条件下なら1度だけ更新をしたいです
601 名前:デフォルトの名無しさん [2017/12/13(水) 23:31:04.98 ID:celmGK9q.net] >>584 もう廃れてるからね 知らんけど
602 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 23:37:57.02 ID:muTUiD7C.net] WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22 mevius.2ch.net/test/read.cgi/tech/1513175747/
603 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 23:39:24.47 ID:uYugybSh.net] >>551 こういったのプログラミングするときちゃんと書かれてる通りに作れって思う 仕様書の書き方がクソで勝手に直したくなるのは分かるけど enum Hoge{最初から,失敗終了,成功終了} private Hoge Func(A a,B b,Int changeCount){ bool 等しい a==b; if(!等しい&&changeCount!=3)return Hoge.最初から; else if(!等しい&&changeCount==3)return Hoge.失敗終了; else if(等しい)return Hoge.成功終了; throw new Exception("仕様書に書いてないけど?"); }
604 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 23:42:41.36 ID:BxJ5qLxy.net] >>587 .Where(条件)追加すればいいんじゃないか?
605 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 00:09:23.47 ID:AbaQzWBd.net] >>590 面白くない 星一つ★☆☆☆☆
606 名前:デフォルトの名無しさん [2017/12/14(木) 06:07:27.62 ID:tSpFRQdC.net] >>591 連結は出来ませんよね?定義には含まれてないので。 具体的にどのようなコードになりますか??
607 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 07:19:39.96 ID:VVrew0Yx.net] amazon死んでる AWSも逝った?
608 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 08:04:04.61 ID:5Zp71Sbj.net] おまえらなんでアジュール使わないの?
609 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 08:28:56.13 ID:VVrew0Yx.net] >>595 そういう仕事に遭遇しない でもそんなレアだといざデスマになったときに追加人員が補充できないから人数が少ないってヤバそう
610 名前:デフォルトの名無しさん [2017/12/14(木) 08:51:15.38 ID:kupDQT+K.net] アジュールってクラウド鯖環境なだけだが
611 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 08:58:02.26 ID:AMqoei3b.net] AWSの方が便利ですし
612 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 09:33:13.26 ID:h0pJUyRR.net] >>597 嘘は良くない
613 名前:デフォルトの名無しさん [2017/12/14(木) 09:33:48.37 ID:6p67cfA3.net] アジュールAWSとVPSの違いは?
614 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 09:40:54.01 ID:+GHlkdpq.net] try catchってどこで囲うのが基本? メソッドの中身全部かなと思うんだけど
615 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 09:54:01.28 ID:exEWR3q2.net] >>601 書くなって言われたよ イベントログに出なくなっちゃうからだって
616 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 10:26:35.89 ID:4QS0W6Tf.net] ???
617 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 10:38:03.42 ID:T38l1dnq.net] できるだけ狭く
618 名前:デフォルトの名無しさん [2017/12/14(木) 11:00:13.42 ID:VYyAdkca.net] >>601 全部でも良いけど そのメソッド内でキャッチして例外に対応できる場合のみ
619 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 12:14:15.12 ID:E4k7gbUw.net] どこに書いてもいいけど } catch (Exception) { } とかやんなよハゲ、それじゃどこで例外が発生したかわからんだろが、どうやってデバックすんだ と怒鳴られたんだろう 事なかれ主義で育てられた子が面倒を起こすパターン 事なかれ例外と名付けよう
620 名前:デフォルトの名無しさん [2017/12/14(木) 12:19:44.66 ID:yn4+AjAE.net] >>606 だって、このメソッドで落ちると困るじゃん例外とも言う
621 名前:デフォルトの名無しさん [2017/12/14(木) 12:33:59.88 ID:PpIxqW4X.net] >>606 vsなら見れるだろ 知らんけど
622 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 12:52:43.26 ID:h0pJUyRR.net] >>606 問題はそのあと throw ex とかしちゃうやつ
623 名前:デフォルトの名無しさん [2017/12/14(木) 13:34:33.61 ID:6p67cfA3.net] >>609 語るなら理由も書いてくれ
624 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 13:37:11.31 ID:exEWR3q2.net] >>606 一律で書かないことになっちゃったけど 本当は何書いて欲しいの?
625 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 14:07:14.43 ID:h0pJUyRR.net] >>610 >どこで例外が発生したかわからん に対する補足。Java上がりがよくやるポカ。
626 名前:デフォルトの名無しさん [2017/12/14(木) 14:13:12.44 ID:yn4+AjAE.net] >>611 一律で書かないと言うのは集中キャッチハンドラーがあるからでしょ
627 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 15:27:07.73 ID:exEWR3q2.net] >>613 なんもない 自分で書いた場所にtry catchがそもそもない
628 名前:デフォルトの名無しさん [2017/12/14(木) 15:39:34.55 ID:yn4+AjAE.net] >>614 自分で書いてない所にあるんだよ。
629 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 17:00:13.09 ID:exEWR3q2.net] >>615 ないっす
630 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 17:32:02.14 ID:us8b95/8.net] 何のスレだよここ
631 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 18:09:08.31 ID:oUWqnTgP.net] IO系とかエラーが発生する可能性のある一帯だけ囲んで、こんなとこじゃエラー出ないよね? ってとこは囲わないかな 万一そういう所でエラー発生したら、そのエラー箇所を特定しやすいように 売り物のソフトだと、好ましくないやり方かもしんないけどな
632 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 20:49:00.77 ID:COokNIga.net] 復旧可能かつ復旧を試みる事が要件で明示されてればそこでキャッチする それ以外は基本的に全てキャッチしてはならない グローバル例外ハンドラに任せてログ出力やユーザー通知を行う
633 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 20:51:54.39 ID:COokNIga.net] リソースの解放は原則IDisposableとusingで行うこと(try finallyは使わない)
634 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 22:00:38.77 ID:7SAvsilk.net] >>620 usingはtry finallyに展開されるという・・・
635 名前:デフォルトの名無しさん [2017/12/14(木) 22:01:50.75 ID:NV/46Hd7.net] >>621 自分で書いてミスるのを防ぐため
636 名前:デフォルトの名無しさん [2017/12/14(木) 22:42:27.89 ID:83z5th3I.net] なんで? Finallyあると開放されないん?
637 名前:デフォルトの名無しさん [2017/12/14(木) 22:52:02.96 ID:6p67cfA3.net] https://qiita.com/mik_claire/items/8f36d143639cd538a980
638 名前:デフォルトの名無しさん [2017/12/14(木) 22:58:02.78 ID:6p67cfA3.net] hensa40.cutegirl.jp/archives/1428
639 名前:デフォルトの名無しさん [2017/12/15(金) 02:32:16.25 ID:6xqAElZe.net] 1234.5678 => 1,234.5678 1234.56 => 1,234.56 123.456 => 123.456 というように、 数値を3桁区切り+小数点を含める(0埋めしない)文字列を出力するにはどうしたら良いでしょうか?
640 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 02:43:42.30 ID:OGT2pKSi.net] >>626
641 名前:複合書式指定 https://msdn.microsoft.com/ja-jp/library/txafckwd(v=vs.110).aspx でできそうにないものは整数部分と小数点以下に分けて文字列作って合わせるしかない [] [ここ壊れてます]
642 名前:デフォルトの名無しさん [2017/12/15(金) 02:45:25.60 ID:6xqAElZe.net] >>627 C#ってわざわざ面倒臭いことしないといけないんですね・・・
643 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 02:53:08.52 ID:OGT2pKSi.net] >>628 他の言語でできることならフォーマット用意してあるかもしれないから調べたら? そこまで見ていないから
644 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 03:21:16.28 ID:IbhaoRnF.net] >>626 ちょっと格好悪いけど、 ToString( "###,###,###,###,###.########" ); とでもしとけば。
645 名前:デフォルトの名無しさん [2017/12/15(金) 09:01:04.44 ID:BaW7Km5G.net] >>626 ggrks www.atmarkit.co.jp/ait/articles/0707/19/news143.html
646 名前:デフォルトの名無しさん [2017/12/15(金) 09:05:36.73 ID:BaW7Km5G.net] Console.WriteLine("{0:#,0} ", 数値); こんだけな
647 名前:デフォルトの名無しさん [2017/12/15(金) 09:14:42.49 ID:BaW7Km5G.net] それかコレな Console.WriteLine("{0:N}", 数値);
648 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 12:33:12.63 ID:WmAzWj4RE] >>631-633 小数点以下の桁数が>>626 の要望を満たしてない
649 名前:デフォルトの名無しさん [2017/12/15(金) 12:48:50.32 ID:6xqAElZe.net] >>631-633 頭悪いレスは必要ないです 質問をよく読んでから答えてください
650 名前:デフォルトの名無しさん [2017/12/15(金) 13:08:51.68 ID:BaW7Km5G.net] ググる知能もない低脳に説教されちゃったよ..(^^;
651 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 14:03:20.57 ID:s/91E6Oz.net] 一度でもやってからしゃべってんだろうかこのアホ ID:6xqAElZe は
652 名前:デフォルトの名無しさん [2017/12/15(金) 16:15:56.95 ID:M7F98+kf.net] VB.netのクラスの中身の大半をC#に移動したいんだが、Partialしたらいいだろか?
653 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 16:32:35.38 ID:aCy2oimY.net] vb.netのコードをc#に一発変換してくれるツールがあった気がする
654 名前:デフォルトの名無しさん [2017/12/15(金) 16:42:28.20 ID:M7F98+kf.net] Formは無理じゃない。 コードは変換できるのを見たことがある。なのでコード部とか ライブラリクラスをC#にしようと思う。
655 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 17:10:02.32 ID:aCy2oimY.net] >>640 https://dobon.net/vb/dotnet/links/convertcs2vb.html sharpdevelopとかいうのでできた気がすんだよ ちょっとやってみてよ 試す価値はあるでしょ? ただ、動作までは知らんから変換出来てもテスト工数は減らせないぞ
656 名前:デフォルトの名無しさん [2017/12/15(金) 17:28:02.50 ID:M7F98+kf.net] >>641 ありがとう。やってみてまた報告するよ。
657 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 17:51:54.84 ID:m9RnQpi/.net] プロジェクト分ければVBとC#共存できるんだから 循環参照が必要じゃないなら無理に変換することもないんじゃないかと
658 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 18:41:41.68 ID:Rbo0n5z7.net] >>643 VBerがそんな綺麗なコード書くわけ無いでしょ
659 名前:デフォルトの名無しさん [2017/12/15(金) 18:43:49.15 ID:M7F98+kf.net] 心が綺麗だとコードも綺麗。
660 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 18:47:39.84 ID:Sbz3X1/O.net] VisualBasicがなかったら ファイルをゴミ箱入れたいとき困るじゃないですか
661 名前:デフォルトの名無しさん [2017/12/15(金) 20:59:15.61 ID:6xqAElZe.net] >>636 >>637 せめてテストくらいしてからレスしてくださいね^^; C#
662 名前:erレベル低すぎ [] [ここ壊れてます]
663 名前:デフォルトの名無しさん mailto:sage釣 [2017/12/15(金) 21:11:29.58 ID:Hv9P7iJ4.net] >>641 バージョンによるな。こけるパターンが特徴的なので 慣れれば機械的に直していける
664 名前:デフォルトの名無しさん [2017/12/15(金) 21:29:12.26 ID:GAdh6qIc.net] >>647 はいキチガイ
665 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 21:30:37.92 ID:wB/Paoxt.net] >>646 Microsoft.VisualBasic.dllだけあればいいよ
666 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 22:02:04.42 ID:JZUrtsL7.net] >>626 Console.WriteLine("{0:#,#.##########}", 1234.5678);
667 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 23:04:45.15 ID:ZiMYN4DZ.net] >>648 すんなりは行かんかった? Formは行けた?
668 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 08:46:52.59 ID:2xEHZCIG.net] vb formからc# formへctl-aで全選択してコピペできるよ。 ちゃんと言語の変換をしてくれる。
669 名前:デフォルトの名無しさん [2017/12/16(土) 09:10:07.48 ID:HogLmiIR.net] デザインは変換できる?
670 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 09:54:00.60 ID:ghluEyaB.net] あれぇ? なんかボタンで一発変換だった記憶があるんだけど?
671 名前:デフォルトの名無しさん [2017/12/16(土) 10:37:27.38 ID:HogLmiIR.net] クラスAでクラスBをインスタンス化する クラスCでクラスBのメソッドを実行する。 クラスAでクラスBをインスタンス化する。クラスCでクラスBのメソッドを実行する。 クラスAのインスタンス名は未定の時に、clsCからB.bm()を呼び出す方法? こういう時にどうすればいい? なんかスマートにできる方法はない? public class clsA { public clsB B = new clsB; public clsC C = new clsC(B); } public class clsB { public void bm() { } } public class clsC { clsB B; private clsC(clsB bb) { B = bb; } private void doc() { B.bm(); } } 👀 Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
672 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 10:52:11.94 ID:2xEHZCIG.net] >>655 それって vb6 ⇒ vb.net じゃないの?
673 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 10:54:04.95 ID:VgVQwchc.net] >>656 それでできてるだろ。何が分からないのか全く伝わらない。 あと、そのレベルならAだのBだのと話を一般化しないでズバリ何がしたいのかを書いたほうが適切な回答が得られる可能性が高いと思う。
674 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 10:56:52.96 ID:ghluEyaB.net] まあ、最悪ベタで組めばいいじゃん
675 名前:デフォルトの名無しさん [2017/12/16(土) 11:55:33.53 ID:8tD9WB4W.net] 関数をreturn する直前で実行したい処理があるのですが、 try catch finallyを使うとできますが、finally だけ使いたいのですが、そう言うのは無いですか?
676 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 12:03:55.12 ID:8r44i3VV.net] ないですね
677 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 12:07:33.63 ID:EDRAYm5f.net] >>660 複数のreturnの前の同一処理ならreturnの代わりにgotoでその処理へ飛ばせばいいだろ
678 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 12:08:12.20 ID:VgVQwchc.net] try { return; } finally { } でいいだろ
679 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 12:08:20.45 ID:2xEHZCIG.net] >>660 try, finallyだけもあるけど
680 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 12:14:22.30 ID:oPhsj9qx.net] >>660 finallyだけじゃどこを抜けたらか分からないよ、ちゃんとそれぞれ有ります https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/try-finally
681 名前:デフォルトの名無しさん [2017/12/16(土) 12:51:36.41 ID:8tD9WB4W.net] >>665 ああ、出来るじゃない! 今日は気分がいい。さんきゅ
682 名前:デフォルトの名無しさん [2017/12/16(土) 16:35:16.86 ID:gJhjPx+L.net] C#初心者の頃(いまもかわらんけど)、一番悩んだのは インターフェースが分からない。 何がわからないかというと、インタフェースって、自分で一から定義するような ことが書かれていたが、既存のプログラムで使用しているインタフェースって 何かやってる。 何か定義しないと何もやらないはずなのに・・・・・めちゃ気持ち悪いしわからない。 システムで処理を記述したものも、インターフェースとそのまま呼んでいるから、 わけわからなくてさ〜。 なんだ、処理が記述されているものがあるのねと、理解するのにひと月かかったアホ出した。 まあ今も変わらんんけど。
683 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 16:39:09.26 ID:ghluEyaB.net] 設計書も書かないくせに インターフェース定義するやつがこれまたわからん 馬鹿だろお前 って素で聞いてしまった
684 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 16:42:29.58 ID:6gulH/Qw.net] インターフェースを機械とか現実の何かで例えたらなんですか?
685 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 16:45:05.86 ID:ghluEyaB.net] 強いて言えば型 100Vコンセントって型=インターフェース
686 名前:デフォルトの名無しさん [2017/12/16(土) 16:53:14.91 ID:DOHaPC3l.net] backgroundWorkerにおいて、ある関数を実行していて その関数内である条件になった時にbackgroundWorkerを停止したいのですが 何か簡単な方法はないでしょうか? backgroundWorkerで無限ループで関数を実行していて、関数の中の関数でエラーが発生した時にbackgroundWorkerを緊急停止する様に プログラムが組みたいのです。
687 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 16:56:31.41 ID:ghluEyaB.net] >>671 今どうなるの? エラー出ると死んじゃう?
688 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 16:59:30.93 ID:Ul/CFAof.net] >>671 マイクロソフトの方針でできなくなってます
689 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 17:03:29.56 ID:ghluEyaB.net] 普通に無限ループ抜ければええんちゃうのん?
690 名前:デフォルトの名無しさん [2017/12/16(土) 17:05:51.65 ID:DOHaPC3l.net] backgroundWorker内でAという関数を無限ループ実行していて Aの中ではB、Cという関数が続けて実行されていて Bである条件(エラー)になった時、ここで全ての動きを停止したいです。 現在はエラーが発生してそのままBと処理が続いていって死にはしませんが意図しない動きをしている感じです 戻り値と条件分岐で場合分けしていけばいいのかなとも思いましたが関数が大量にあり複雑で何か簡単な手段はないものかとお聞きしてみました
691 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 17:06:41.02 ID:na0PR4/Y.net] >>671 https://dobon.net/vb/dotnet/programing/progressdialogbw.html CancelAsync()でだめな理由があるの? 関数の中でエラー検出できないとかじゃないよね
692 名前:デフォルトの名無しさん [2017/12/16(土) 17:13:01.57 ID:DOHaPC3l.net] >>676 キャンセルボタンは一応ついていまして Aの実行後にボタンが押されていればCancelAsync()を使っています AやBの関数中でもCancelAsync()と書いて一発で止められればいいのに…という感じです
693 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 17:14:42.73 ID:na0PR4/Y.net] >>675 通常のスレッドで実行するにしても考え方おかしいと思う 下流で発生したエラーを捕捉できない設計になっています、って言っているのと同じ C#の問題じゃないんじゃないかな
694 名前:デフォルトの名無しさん [2017/12/16(土) 17:19:57.99 ID:DOHaPC3l.net] >>678 そんな気もします…
695 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 17:31:29.65 ID:na0PR4/Y.net] >>679 同じような質問でTaskの場合 https://stackoverflow.com/questions/4359910/is-it-possible-to-abort-a-task-like-aborting-a-thread-thread-abort-method Henk Holtermanさんは「そういうことを(安全に)したいのならその部分を別アプリにしろ」と言っている
696 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 17:41:39.84 ID:qA7A9B95.net] >>680 それ、スレッドでタスクのようにキャンセルしたいって話だぞ。
697 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 17:48:31.95 ID:ghluEyaB.net] 普通にstaticのフラグ作って強引に無限ループ抜けちゃうのは?
698 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 17:50:37.53 ID:oGvDk6LW.net] >>677 まず「止める」って発想がおかしい。 各メソッドが「止まる」ように設計しなきゃ。 各メソッドの引数に処理がキャンセルされたかどうかを返すFunc<bool>を追加して void A(Func<bool> canceled) {...} 呼び出すときに A(() => backgroundWorker1.CancellationPending); とかすればいいんじゃないか
699 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 17:52:34.38 ID:qA7A9B95.net] >>675 Bでエラーが発生したら例外投げて、backgroundWorker.DoWork内のループでその例外を補足してe.Cancel=trueにするようにすれば。
700 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 17:58:55.94 ID:qA7A9B95.net] >>680 ごめん。 >>681 は全くの間違い。ぼけてた。 ただ、今回はワーカーメソッドの中から中断したいって話なので、外から強引に中断する話とは違う。
701 名前:デフォルトの名無しさん [2017/12/16(土) 18:12:53.74 ID:DOHaPC3l.net] >>683 () =>この書き方がよくわからないので とりあえず今のメソッドを全てvoidからboolに変え、エラー時にfalseを返して if(メソッド==true)の時だけその後の処理を実行する様にしてみます >>684 例外を投げるっていう方法がわかりません…調べてみます みなさん色々ありがとうございました
702 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 18:22:29.26 ID:cphXnYZp.net] >>668 何言ってんだこいつ?
703 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 19:04:01.72 ID:ghluEyaB.net] >>687 じゃあ俺が作った 「USBちんぽん」って 使ってくれる?
704 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 19:11:54.53 ID:FKHtpILn.net] >>688 うん、ほしい
705 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 19:14:12.13 ID:ghluEyaB.net] >>689 やったぜ 頭悪いんだねw
706 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 19:15:20.72 ID:FKHtpILn.net] >>690 はやくちょーだい?
707 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 19:18:34.13 ID:cphXnYZp.net] >>688 疲れてるのか? 日曜日は10時に寝るといいぞ
708 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 19:19:38.55 ID:ghluEyaB.net] >>692 お前は「USBちんぽん」使ってくれるの?
709 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 21:53:57.13 ID:B4/eWtrI.net] >>691 https://dotup.org/uploda/dotup.org1414162.exe
710 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 01:36:39.71 ID:hpnS8mLh.net] Chartを2個置いているのですが、このフォームを最大化した際にこの比率のままChartをフォームに合わせてリサイズするにはどのように設定すればいいのでしょうか? Anchorを上下左右全てオンにした場合、自動的にリサイズした際に右側のChartが隠れてしまいます https://i.imgur.com/53dfVWo.jpg
711 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 01:40:47.18 ID:hpnS8mLh.net] >>695 補足です 直撮りで申し訳ないですが、1枚目が正常な場合です これを最大化した時もそのままにしたいのですがanchorを全部設定するだけだと2枚目のように手前側の設定が反映されて被ってしまいます https://i.imgur.com/ZQsJtG4.jpg https://i.imgur.com/lR2CXSU.jpg
712 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 01:41:46.33 ID:CSXOgBDh.net] >>695 わかる 俺も知りたい
713 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 01:50:14.52 ID:CSXOgBDh.net] でもanchorでは多分できないということもなんとなくわかる 比率を自分で計算して位置サイズ合わせするしかないんじゃないかと
714 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 02:03:32.25 ID:hpnS8mLh.net] >>698 どもです 検索ワード少し変えて探したらこんなのが出てきました https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/44b83f8c-7ac1-463f-9153-3d1a67197a8d?forum=csharpgeneralja 少しこの辺りの試そうと思います 回答通り、標準ではそういう機能無いみたいですね ありがとうございました
715 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 11:39:32.44 ID:hpnS8mLh.net] >>699 自己解決できました 今さっき使い方少し調べて試したら TableLayoutPanelで無事目的達成できました https://i.imgur.com/SkP2OHD.jpg
716 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 12:05:55.48 ID:4m+VWQn4.net] >>667 あえて書くけど 個人で小規模なアプリの場合はインターフェースなんて不要 商用大規模アプリでも使って
717 名前:ネいところが多いくらいw [] [ここ壊れてます]
718 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 12:08:11.46 ID:opp+Hz1N.net] >>701 なわけないでしょ
719 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 12:08:27.63 ID:4m+VWQn4.net] >>675 Task使え
720 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 12:12:30.50 ID:ILWlCk8x.net] >>701 これは恥ずかしい
721 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 12:49:56.01 ID:gfqG1JvG.net] 基底クラスとインターフェースって何が違うんですか?
722 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 12:55:53.21 ID:OwhBw4on.net] >>705 そこは基底じゃなくてabstractの抽象クラスじゃね 違いは実装の有無と多重継承かなあ?
723 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 14:27:27.54 ID:sFu7AEYs.net] >>701 大規模とかそういう問題じゃない あえて100Vコンセントにする仕様がないとインターフェースは役に立たない USBちんぽんを採用する理由がプロジェクトにないと意味がない
724 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 14:51:02.99 ID:RNTbc2+q.net] 意味の共有ができない喩えいいかげんやめたら
725 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 15:33:24.95 ID:sFu7AEYs.net] >>708 君が普段やってることじゃんw USBちんぽんの使用の押し付け やられて嫌ならやめるべきだねw
726 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 20:19:06.53 ID:6F/MtA/p.net] >>701 またテメエか 公害は死ねっていったろ
727 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 21:06:17.16 ID:8SWMSnGu.net] static な関数を複数のスレッドから利用するのは危険ですか? 具体的に言うと、データベースを読み書きするような処理です。 注意事項など教えて下さい。
728 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 21:44:44.79 ID:sFu7AEYs.net] >>711 トランザクションどうなってるの?
729 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 22:21:15.29 ID:qS3H4jkn.net] >>712 何もしてません。と言うかトランザクションってよく分かっていません。 どうすべきでしょうか?
730 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 22:22:18.95 ID:sFu7AEYs.net] >>713 いい機会なのでトランザクションについて調べてみるでFA
731 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 22:25:31.50 ID:ZCl426tV.net] なんがどうなれば危険なのかしらんが、そんなものはその関数の実装によるわ
732 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 22:27:39.83 ID:sFu7AEYs.net] >>713 序盤の入金出金の説明がわかり易かった itpro.nikkeibp.co.jp/article/COLUMN/20080123/291846/?ST=spleaf
733 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 09:06:05.17 ID:325qmzym.net] >>711 ef噛まして楽観的排他制御でfa
734 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 09:47:39.52 ID:BBY2VQE+.net] 排他制御なんて自分でやらなくてもDB側で勝手にやってくれるんじゃないのか?
735 名前:デフォルトの名無しさん [2017/12/18(月) 09:50:45.06 ID:/wskk4Cx.net] public static double keisuu(string mojiretu) { switch (mojiretu) { case "aaa": return 1.2; break; case "bbb": return 1.6; break; default: return 0; break; } } 全てのbreakのとこで到達できないコードが検出されました と出るのですが何がいけないのでしょうか
736 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 09:53:30.03 ID:I3I0Txu7.net] >>719 returnしたらbreakに到達出来ないからbreakは要らない
737 名前:デフォルトの名無しさん [2017/12/18(月) 09:58:58.14 ID:/wskk4Cx.net] ありがとうございます!
738 名前:デフォルトの名無しさん [2017/12/18(月) 10:05:08.96 ID:/wskk4Cx.net] break消してもフォールスル―とかにはなりませんよね?
739 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 10:19:47.17 ID:I3I0Txu7.net] なりません
740 名前:デフォルトの名無しさん [2017/12/18(月) 11:01:50.77 ID:/wskk4Cx.net] ありがとうございます!
741 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 20:04:12.41 ID:+/hEAeWc.net] >>718 楽観的に考えるとやってくれないが悲観的に考えるとやってくれる。
742 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 20:15:27.26 ID:pniu1iMQ.net] 上手いこと言ってる場合ですか
743 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 21:09:49.51 ID:ce0jsCws.net] >>711 状態を持っていない関数なら安全 フツーのstatic関数はこれなハズ immutableな状態を持つ関数も安全 mutableな状態を持つ関数ならそれを作った人を処刑すべきw
744 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 21:33:23.50 ID:6wmobrlb.net] それは甘い 例えばConsole.Writeは当然状態と持たないが、 何か適当な文字列(πでも聖書でも何でもいい)を少しずつ標準出力に 書き出すメソッドを2つのスレッドで実行したらどうなる
745 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 21:40:21.06 ID:+HXT0ym6.net] パソコンが爆発する
746 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 21:42:12.35 ID:YSeGcmGL.net] Consoleクラスってスレッドセーフじゃなかったっけ
747 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 21:54:40.33 ID:aYaUR9Gg.net] コンボボックスで中身を設定するときコードを書いてロード時に呼び出す方法以外に、visualstadioでコードを書かずに中身を設定するような機能はないのでしょうか? そういうコントロールなどないでしょうか?
748 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 21:56:53.79 ID:z1EessDi.net] >>731 画面編集モードのプロパティウィンドウから設定できるじゃん
749 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 21:57:37.55 ID:ce0jsCws.net] >>728 残念ながら「コンソール」と言う外部IOを持っているんだよ
750 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 22:15:16.76 ID:ce0jsCws.net] >>730 せやね
751 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 22:18:38.50 ID:aYaUR9Gg.net] >>732 助かりました感謝します
752 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 22:53:45.36 ID:kRxIzXOP.net] https://ideone.com/eFQ05c 上のようなjson形式があった場合にTestのcount,pageは問題なくデシリアライズできるのですがPersonのname,ageは下のように書いてみてもまったくできません var Test = JsonConvert.DeserializeObject<Test>(Json); foreach (var r in Test.status) { Console.WriteLine(r.name); } Json.netを使っているのですがどのようにしたらいいでしょうか?
753 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 23:11:52.12 ID:3CP1/jFn.net] >>736 beachside.hatenablog.com/entry/2016/08/30/190000 これ参考にJsonConverterを継承すりゃいいんじゃねーの?
754 名前:デフォルトの名無しさん [2017/12/18(月) 23:28:28.84 ID:pniu1iMQ.net] >>736 ワシの環境だとこれで成功したんだがどこがやりたいことと違うんやろう https://ideone.com/4MqfUE
755 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 00:49:42.79 ID:aZpIRKJe.net] >>737 その2 JsonConverterを使ってデシリアライズの10行目p.nameでnameが見えずエラーになります… >>738 デバックを行うと foreach (var r in Test.status { Console.WriteLine(r.name); } のrの部分がnullになり結果が何も表示されません cvrl + spaceでr.name自体は出るのですが…
756 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 00:53:59.81 ID:ySpyuYdG.net] >>739 変数名Testを違うのに変えてもダメですか?
757 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 01:03:43.75 ID:aZpIRKJe.net] >>740 deserializeに変えてみても駄目ですね とりあえず今日は寝て明日先輩にも聞いてみます
758 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 07:59:35.15 ID:ChgNtW7Q.net] c#にレクトトラッカーってないですか?
759 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 08:27:59.60 ID:JkA1xsmg.net] 非同期な複数のスレッドから、staticクラスの中のstreamwriterでcsvにログを書いてます タイミングにより、ファイル競合?ロック?するようで、一つのスレッドからしかログが出力されません ロック解除を待機するみたいなことはどうやるのでしょうか?
760 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 08:36:09.07 ID:ChgNtW7Q.net] >>743 俺、そういうログ一生懸命作ろうとしたらスレッド毎にログ出してよって言われたよ 結局待ちが発生すると ログの発生タイミングっていうか順序が全くの嘘っぱちになっちゃうじゃん そんなゴミいらねーって言われたぜ 上司がいるならちょっと仕様確認オススメ
761 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 08:44:00.33 ID:LhTNVyY+.net] Queue使えば
762 名前:よくね ログ出力メソッドはエンキューするだけ ログ出力はワーカスレッドでのんびりやればいい [] [ここ壊れてます]
763 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 09:13:04.87 ID:nH54/Jdj.net] 素直にLoggingライブラリ使う メンテナンスする人の気持ちも考えなきゃ
764 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 09:18:25.50 ID:yH1cU4+B.net] いつも思うけど、やっぱAutoRrsetとかのイベント付きキューなんてないの?
765 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 09:53:23.28 ID:33gf6qei.net] >>747 BlockingQueueのコンストラクタにConcurrentQueueを渡す
766 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 10:25:11.81 ID:OVvTmQOX.net] BlockingCollectionだな ちなみにコンストラクタに基になるコレクション渡さなかったら既定でConcurrentQueueが使われる
767 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 10:28:02.49 ID:gf33i/87.net] >>743 SeriLogの実装みてみ
768 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 10:32:13.69 ID:NMj9FFtI.net] やってみた感じぶっちゃけ難しい 片方のスレッドが超忙しいとき待ちが発生すると他のスレッドが全く動かなくなっちゃう
769 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 11:33:40.95 ID:Ck77l9Yv.net] もう書いてる人がいるけど、前後関係が重要なら文字通りバッファーを設けるだけだよね ライブラリのQueueは使いづらいからたぶん自作することになるけど、そんな難しくない
770 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 11:52:48.64 ID:VR9xxmjw.net] Nlogじゃないの?
771 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 12:08:45.23 ID:K2Dj0raT.net] C#特有というわけでは無いですが、例えば抽象クラス「費用」を作った後、費用合計を求めたい場合、費用の各サブクラスから値を取得し合算するのと「費用合計」クラスを作って、そこだけに問い合わせるの、どちらが良い作りでしょうか
772 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 12:10:26.76 ID:yH1cU4+B.net] >>748 >>749 へーそうかい!? 調査してみるよ。 ありがとうね
773 名前:741 mailto:sage [2017/12/19(火) 12:37:26.95 ID:JkA1xsmg.net] 順序は気にしません 2つのスレッドそれぞれから1回/秒ずつ出力されるだけです
774 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 12:43:08.19 ID:tMFeAU0g.net] >>754 サンプルコードを見せてよ
775 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 14:22:15.69 ID:Ck77l9Yv.net] >>754 何を聞きたいのかよく分からないw たぶん俺だけじゃないと思う とりあえず「費用合計」クラスは普通に考えればない 合計を求める費用を集約しているオブジェクトがあるなら、そのオブジェクトに 合計させる(LINQのSum使ってもいいし自分でメソッドかプロパティを書いてもいい)のが普通 そんなものなくても配列にでもぶち込んでLINQ使うだけじゃないの?
776 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 14:32:35.77 ID:f0pyN6AV.net] いやなかなかいい質問だと思うよ 初心者でそこに気付けるのはいい視点だと思う 素質がある 中級者でもそこに全然思いが至らない人がいて困る 素質のない人だ Sumを呼ぶとその時点で計算が行われるのことが困る場合がある 10個スレッドがあってそれぞれでSUM呼ばれて値が一致しないとか そのつどDB読んじゃって負荷がかかりすぎるとか
777 名前:デフォルトの名無しさん [2017/12/19(火) 14:44:56.70 ID:/RoT047O.net] >>754 費用クラスが合って費目毎にインスタンスを作るとか 費用合計クラスとか 何かを大きく勘違いしている
778 名前:デフォルトの名無しさん [2017/12/19(火) 14:45:53.04 ID:/RoT047O.net] 才能なし最下位確定じゃ
779 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 14:47:19.61 ID:RU/P54BS.net] 費用合計の仕様次第じゃん
780 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 14:53:12.54 ID:m20tEW6J.net] >>761 おまえ顔にハナクソ付いてんぞ
781 名前:デフォルトの名無しさん [2017/12/19(火) 14:55:25.58 ID:/RoT047O.net] ウンコ確定
782 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 14:57:42.73 ID:RU/P54BS.net] >>763 NG ハナクソに顔が付いてる可能性を除外できてない
783 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 14:57:48.67 ID:vDUVA/Ha.net] >>764 おじいちゃん口臭いですよ^^
784 名前:デフォルトの名無しさん [2017/12/19(火) 15:02:05.90 ID:/RoT047O.net] それケツだ
785 名前:デフォルトの名無しさん [2017/12/19(火) 15:58:21.40 ID:f0lLnGqp.net] ASP.NET MVCのControllerの処理で、そこだけでちょちょっと利用する 関数などが沢山増えて来てコードが数千行になって来たのだが、 そう言う関数はどこに置けばいいの? MVPクラスの人の回答をお願いします。
786 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 16:10:19.74 ID:RU/P54BS.net] partialだな(by一般兵)
787 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 16:37:05.61 ID:EJrHySC4.net] partialとかブッコイて一般兵気取りかよw 見習いもいいとこだぜ。入隊前じゃねぇの?
788 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 16:41:36.67 ID:0zOqWbHM.net] >>768 初心者スレにMVPクラスの人はいない regionとTODOで整理したらいいだけじゃね
789 名前:デフォルトの名無しさん [2017/12/19(火) 16:53:03.26 ID:8WX8gLVn.net] Controllerに何でも詰め込むからだろ Modelにやらせればええのだ
790 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 17:05:55.38 ID:RU/P54BS.net] >>770 代案を出せよMVP
791 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 17:48:31.52 ID:TOTUMgYQ.net] 俺が呼ばれた気がした
792 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 17:52:51.22 ID:VU3/qJii.net] 昔は相談室とこのスレにあの人が住んでたんだけどね 今もいるんだろうか?
793 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 18:37:30.91 ID:ayXhJHgO.net] >>768 決まった答えはない 責務に応じて分割するだけ
794 名前:デフォルトの名無しさん [2017/12/19(火) 18:40:59.36 ID:J+VWEpvK.net] 「決まった答えはない」とか言うの決まった答えしかできない奴よくいるよねw
795 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 18:53:48.71 ID:JM38580+.net] >>777 日本語www
796 名前:デフォルトの名無しさん [2017/12/19(火) 21:56:50.83 ID:cjNZWQaj.net] 費用合計クラスの者ですが、以下のようなクラス設計をしました(実装は一応英語です) public abstract class 費用 { public abstract int 金額(); } public class 支払家賃 : 費用 { public override int 金額() { return 100; } } class 水道光熱費 : 費用 { public override int 金額() { return 200; } } 費目が増えても多態で対応できるのでオブジェクト指向しているなと思ったのですが 費用合計を出すのに都度インスタンスを作るのがなんだか野暮ったく 一般的なやり方をしているのか気になり投稿しました このような書き方は、何か問題があるでしょうか?
797 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:01:25.18 ID:vSkEKb16.net] データベース使いなさい
798 名前:752 [2017/12/19(火) 22:02:23.97 ID:cjNZWQaj.net] ちなみに、費用クラスで各費目を管理し 費用合計や各費目の値を返すメソッドを作ろうと思ったのですが 抽象クラスに「費目」という名前を使ってしまったので テンパっています OOは命名が難しいなと
799 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:05:19.18 ID:N/VqY3nf.net] ありがちな形にこだわるタイプか 継承しなきゃならないほど金額()が込みいっているのかは置いておいて「動けばいいんだよ」
800 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:06:13.10 ID:MJol/7NU.net] 全体見てないからなんとも言えんけど その粒度でクラス作るとクラス図ってどうなるの? 2000項目あったら2000クラス作るの? って心配になった あとは動けばいいよ
801 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:12:15.71 ID:7vxZYYFe.net] >>781 だから悪いけど結局何が聞きたいのか伝わってないと思うよw public static class 費用 { public const int 支払家賃 = 100; public const int 水道光熱費 = 200; public const int 総費用 = 支払家賃 + 水道光熱費 ; } なんかこれで問題ないようにも聞こえるけどこれじゃダメなの?
802 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:12:45.55 ID:XIiNWcV9.net] >>779 才能無し、問題外 以上
803 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:13:51.01 ID:ySpyuYdG.net] >>785 クッサw 死ねよハゲ^^
804 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:15:56.11 ID:XIiNWcV9.net] >>786 センスの欠片もない キミにプログラム開発は無理
805 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:17:09.67 ID:ySpyuYdG.net] >>787 口臭いです^^ 歯磨きサボらないで下さい・・・
806 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:20:34.71 ID:XIiNWcV9.net] >>788 ここまで酷いのは見たことがない 誰かが適切なアドバイスをしたとしてもキミは斜め45度下へぶっとぶだろう 上ではなく下だwww
807 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:21:50.93 ID:Li3fAhD+.net] どうやったらこんなつまんないレスを返せるんだよ... 重症やな w
808 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:24:47.20 ID:ySpyuYdG.net] >>789 顔赤くなってますよ^^ もっとクールなキャラだったような気がします・・・
809 名前:デフォルトの名無しさん [2017/12/19(火) 22:29:22.36 ID:f0lLnGqp.net] MVPクラスの人は居ますか?
810 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:30:42.82 ID:MJol/7NU.net] >>792 >>779 をエントリーしといた
811 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:30:56.03 ID:XIiNWcV9.net] >>791 余りにも寒いコードを見たものでなw
812 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:32:05.29 ID:7vxZYYFe.net] VIP患者なら大勢いるねw
813 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:35:08.57 ID:ySpyuYdG.net] >>794 誰と勘違いしているのでしょう・・・ IDはちゃんとチェックしましょうね^^
814 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:38:19.96 ID:XIiNWcV9.net] >>796 >>779 の同類だろwww
815 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:41:32.93 ID:ySpyuYdG.net] >>797 おやおや・・・ とても都合の良い解釈ですね^^ 右も左も分からない初心者に「センス無し、問題外」なんて冷たい言葉をかけるのはやめましょうね・・・
816 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:50:03.39 ID:z/JS3u8x.net] まあ、自分が駆け出しの頃に上司にそう言われたことの腹いせにここで鬱憤晴らしてるんだろうなぁ....
817 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 23:01:26.33 ID:MJol/7NU.net] 別にどう組んでも動くし 正解はないのかもな ただ、この言語で表現できる中規模のまとまりをそんなプロパティレベルのもんに使われると粒度の把握がし難いなと 結局設計の良し悪しなんてソイツの気分だからね
818 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 23:48:04.54 ID:QDUgEa5j.net] 例が例だから粒度的におかしいけどこんなこともできますよ的な… Addで費用つっこんで使える Removeとか全部略 public class 費用リスト { long sum = 0; public long 合計 => sum; List<費用> list = new List<費用>(); public ReadOnlyCollection<費用> 品目 { get;} public 費用リスト() { 品目 = new ReadOnlyCollection<費用>(list); } public void Add(費用 hiyo) { if (hiyo == null) { return; } sum += hiyo.金額; list.Add(hiyo); } }
819 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 00:00:42.82 ID:+SxGwy2+.net] わざわざ費目をクラスで分けている理由のことじゃないの? >>801 だけなら別に必要ないかと。
820 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 05:02:03.39 ID:/+M3aR4Y.net] >>779 例として固定値を返していると仮定 金額が費用の状態によって複雑になるなら有な考え方だと思う
821 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 05:27:10.69 ID:uEdWuAdp.net] ねーな 業務上3000とか4000とか値扱ってる奴のが多いだろ こういう組み方見るだけでうげっとする じゃあ、構造を把握するためにクラス図でも見てみよーかって 資料開いた瞬間閉じるわ
822 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 06:24:16.03 ID:w7lpXa1y.net] プログラムセンスのあるヤツなら最初からやらない間違いで 残念ながら矯正不能なんだわ
823 名前:752 mailto:sage [2017/12/20(水) 07:08:03.81 ID:FojWkfgf.net] 費目が8個なのでサブクラスに各費目クラスを作ったのですが。。。 サブクラスは何個くらいが適当なのでしょうか 10個超えるとアウトでしょうか
824 名前:752 mailto:sage [2017/12/20(水) 07:15:48.78 ID:FojWkfgf.net] ちなみに費目をクラスで分けた理由は、費目ご
825 名前:とにちょっと込み入った算出処理をするので、それぞれを閉じ込めておきたいと思いました でも、費用が最小の粒度の方が一般的な雰囲気ですね 急遽プログラムをやれと言われた人間なのでセンスとか言われると厳しいです [] [ここ壊れてます]
826 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 07:35:47.88 ID:+xQghQuB.net] >>807 ならサブクラスでいいよ ここの連中は単純な家計簿みたいなツールを前提に話してる そうじゃなく対象が複雑なら話は変わる
827 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 07:42:10.14 ID:uEdWuAdp.net] >>808 変わるかなぁ? 日○とか三○でもそんなの見たことないよ ちなみにそこだと項目数が10万とか超えちゃってるかんね それ全部クラス作ったらw
828 名前:752 mailto:sage [2017/12/20(水) 07:53:51.41 ID:JgbCLwPB.net] >>808 クラス分けしても悪くはないですか ありがとうございます ただ、費用の抽象クラスを費用クラスにしてメソッドを各費目算出とすると、メソッドに「費用合計算出」を作っても違和感が無いかなとも思い プログラムは難しいとしみじみ思いました
829 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 07:59:44.59 ID:+xQghQuB.net] >>809 対象としてるドメインが違うだろ 呆れるわ
830 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 08:14:04.00 ID:XFxcCwxD.net] 業務アプリの設計なんかDFD描いてトランザクションスクリプトでいいよ 開発者全員が相当慣れてない限り、まともなオブジェクト指向でスケールさせるのは現実的に無理
831 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 08:17:09.42 ID:dzFn8RAE.net] 費目の数が10万!? ないわー w
832 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 08:20:29.69 ID:dzFn8RAE.net] >>810 > ただ、費用の抽象クラスを費用クラスにしてメソッドを各費目算出とすると、メソッドに「費用合計算出」を作っても違和感が無いかなとも思い 個々の費目で合計なんて求めようがないと思うが... 合計の算出は費目を束ねるクラスでやるべき話じゃね?
833 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 08:23:01.94 ID:TnQp+4qQ.net] それ以前に、費用の集計なんかSQLでいいよ
834 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 08:44:12.56 ID:uEdWuAdp.net] >>813 余裕っしょ 設定数100個の部品が100個あっただけでもう一万よ でかい機械で部品数たった100個とかありえないから10万は確実に超える もっとあるだろうなぁ
835 名前:デフォルトの名無しさん [2017/12/20(水) 08:44:55.30 ID:apLR0/3w.net] >>807 にわかプログラマーならオブジェクト指向に拘るより もっと単純な仕組みでやったほうが良いね 目的がオブジェクト指向になって簡単なものを複雑にしてる気がする
836 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 09:24:55.44 ID:CxRyWMoc.net] 急遽プログラムやれと言われてこれだけオブジェクト指向理解したならすごいな
837 名前:デフォルトの名無しさん [2017/12/20(水) 09:30:51.88 ID:apLR0/3w.net] 費目毎のクラス分けは目眩がするけど
838 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 09:30:52.50 ID:gjQwmCKz.net] >>806 ケースバイケース
839 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 09:33:53.14 ID:gjQwmCKz.net] >>810 非常にセンスが良い 自信持って良い 注意点はおかしな現場(こっちの方が多数派だったりするがw)へ行った時に絶望しないことかな
840 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 10:12:49.94 ID:IdA1DVd/.net] 授業でC言語ちょっとやっただけでオブジェクト思考はちっとも理解してないから>>779 がそんなに悪いのかわからない 費用ってクラスを使って家賃、光熱費のインスタンスを作るようにしたらいいのか?
841 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 10:28:45.17 ID:GdnGy9ZB.net] >>801 sum += hiyo.金額; エラー CS0019 演算子 '+=' を 'long' と 'メソッド グループ' 型のオペランドに適用することはできません と出るのですが、正解を教えて下さい。
842 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 10:30:50.20 ID:irahYJNV.net] 元の奴が金額がメソッドになってるけど それはプロパティになってる というか金額をメソッドにしちゃだめ 元のコードがダメ
843 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 10:36:11.97 ID:GdnGy9ZB.net] >>824 このエラーが出ている行を エラーが出ないように修正する方法を教えて下さい。
844 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 10:38:08.67 ID:irahYJNV.net] >>779 の
845 名前:@金額をメソッドからプロパティに書き直す [] [ここ壊れてます]
846 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 10:44:45.87 ID:N4PPX6u2.net] どーせ()忘れ
847 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 10:47:18.91 ID:GdnGy9ZB.net] >>826 >>827 文章で説明して頂いても理解出来ないので 完全版のコードを掲載して頂けると有難いです。
848 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 10:50:33.77 ID:irahYJNV.net] プロパティが自分で書けないならここからコード書いてても無駄だよ 早く勉強しろよ
849 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 10:53:01.07 ID:hctoYabD.net] >>828 hiyo.金額()
850 名前:デフォルトの名無しさん [2017/12/20(水) 11:01:57.32 ID:GdnGy9ZB.net] >>830 ありがとうございました。
851 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 11:04:38.98 ID:irahYJNV.net] 煽りでも何でもなく プロパティが自分で書けないならここからコード書いてても無駄だよ
852 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 11:11:07.65 ID:hctoYabD.net] あ、そすか。
853 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 11:19:04.73 ID:fz4ulcZ2.net] >>824 金額をメソッドにしちゃダメな理由を3行で
854 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 11:44:22.53 ID:EHvPlft0.net] まあ普通に考えればメソッドなら金額計算みたいに動詞的にしろよとは思うな 日本語メンバ名だと曖昧だけど
855 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 11:48:55.09 ID:884JsNpl.net] まだやっていたんだ、簡単なことを難しくするバカのお手本
856 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 11:50:57.09 ID:Wpgvy9KL.net] そうですか^^
857 名前:デフォルトの名無しさん [2017/12/20(水) 11:55:45.07 ID:yB/d6H1Y.net] >>836 同意する
858 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 11:57:47.91 ID:uig5CTB+.net] 初心者に説教するアホ多過ぎ 弱いものイジメはイクナイ(´・ω・`)
859 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 12:04:02.26 ID:Cxfy3ZNg.net] >>754 の人はたぶんネタなんだろうね。 結局何が聞きたいのか明確にしろって言っても答えないし ネタのつもりなら何が面白いのかさっぱり分からんが こんな曖昧な質問に曖昧なまま答える奴も頭どうかしてると思うけど
860 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 12:05:42.91 ID:MbxWSbMs.net] マジでネタと思ってる奴って頭どうにかしてるよね
861 名前:752 mailto:sage [2017/12/20(水) 12:15:20.79 ID:qNzSCdz1.net] >>840 費用のようなものを費目単位でクラス化したのですが、一般的にはどうなのでしょうかと質問したつもりですが、意図が伝わらなかったみたいですみません 結論としては、費用をクラスとし、費目メソッドを数分作る方が一般的なのかなという結論に辿り着きました 色々と参考になりました
862 名前:752 mailto:sage [2017/12/20(水) 12:20:38.93 ID:qNzSCdz1.net] >>840 モデリングの対象次第で答えが変わるもの、答えようが無いということなのでしょうね 最近やっと覚えた抽象クラスを使いたかっただけかもと言われたらそうかも知れません 反省しています
863 名前:752 mailto:sage [2017/12/20(水) 12:41:55.46 ID:qNzSCdz1.net] 最後にすみません。ある条件で作業時間×レートが費用になるので、費用クラスと作業時間クラスを費用算出メソッドを持つインターフェースで継承させようと思うのですが、インターフェース名が「費用算出」はセンスが無いでしょうか? インターフェースを使えばコードが仕様を語ってくれるのではと期待しているのですが基本情報資格も持っていない自分にはこれで良いのか解らず 実務経験豊富な諸兄にお尋ねしたい次第です
864 名前:デフォルトの名無しさん [2017/12/20(水) 12:45:22.87 ID:yB/d6H1Y.net] レートクラスは無いのん?
865 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 12:49:20.00 ID:dzFn8RAE.net] >>816 お前は費目の意味わかってないだろ... 部品一個一個に異なる費目がつくんじゃねーぞ w クラスとインスタンスの違いも理解してないと見た
866 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 12:51:34.80 ID:dzFn8RAE.net] >>839 てか、説教してるつもりの奴の方がレベル低いし w
867 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 12:53:14.86 ID:dzFn8RAE.net] >>844 俺は算出って用語をあまり見ないから少し違和感あるけどまあそれで違和感ないならいいんじゃね
868 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 13:49:49.11 ID:bqoc1RuE.net] >>846 違うよ こんな細かい項目クラスにしちゃって全体の粒度はどうなるの?って話
869 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 13:51:39.57 ID:bqoc1RuE.net] やっぱり設計のときにクラス図書かせるべきだな あまりにも小さい項目いちいちクラスで構えるつもりならそれも全部 クラス図として書いてもらおう
870 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 17:45:30.12 ID:dzFn8RAE.net] >>849 だから費目が10万とかはあり得んだろって話 うちの会社はそこそこの規模で結構色々手掛けてるけどそれでも経理関係の費目コードは50ぐらいしかない 当然大分類、中分類、小分類と階層化されてるからそれに合わせて継承させればいい まあうちの会社の情シスはそこまでやってなくて費目コードを見て分岐してそうだけど w
871 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 17:53:32.28 ID:kZMVhJ0h.net] >>851 じゃそれでもいいけど それだけで50個クラスできるんでしょ? クラス図どうなるの?クラス50個作るん? って言いたいわけよ 結局設計ってさ わかりやすいか わかりにくいか だけなんだよね 上下のわからんクラスって粒度を そんなちっぽけなもんに使うと 全体が見えなくなっちゃうんだよ 費目は少なくてってそれお前の環境がそうってだけの偶然でしょ? この方針はオススメできないね俺は まあ、どう組んでも動けばよいのであくまでオススメの域
872 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 17:57:31.91 ID:0mbmAU0+.net] 50個のクラスができるものをクラス使わずにごちゃ混ぜにしたら余計にわけわからんだろ こういう話題で数が増えたらどうするの?って反論するやつが必ず現れるけどそれ墓穴掘ってるだけだぞ
873 名前:752 mailto:sage [2017/12/20(水) 18:12:27.89 ID:PXZlLTCM.net] >>845 レートクラスは必要かも知れないですね まだまだ考慮不足でした
874 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 18:25:24.19 ID:AIjICjtT.net] データが構造を持ってしまうと、別の使い方をする時に手間が増えるだけなんだよ データはデータでクラスにする必要なんかまったく無い
875 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 18:31:13.93 ID:dzFn8RAE.net] >>852 > クラス図どうなるの?クラス50個作るん? 必要なら作るだけだろ > 上下のわからんクラスって粒度を > そんなちっぽけなもんに使うと > 全体が見えなくなっちゃうんだよ それお前さんの管理能力の問題... > 費目は少なくてってそれお前の環境がそうってだけの偶然でしょ? 世の中の会計ソフトとか見てみな もしくは自分の会社の経理担当者に聞けばわかると思うよ > この方針はオススメできないね俺は 別にお前もそうしろなんて言ってないから勝手にやってなよ
876 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 18:47:00.16 ID:n3mgdNKt.net] >>855 別の使い方する時点で分析設計ミス
877 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 18:56:33.13 ID:R/x04Nlq.net] >>856 残念ながら、世の中の会計ソフトなんかほぼ100%トランザクションスクリプトだよ
878 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 19:01:31.53 ID:6oreCn9e.net] >>853 好きなようにすればいいよ ただ、お前のクラス図に50個のクラスが並ぶだけ
879 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 19:08:20.84 ID:dzFn8RAE.net] >>858 なんの話をしてるんだよ w
880 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 19:13:04.16 ID:w7lpXa1y.net] 費目、時間単価、時間がそれぞれ独立したクラスか めまいを禁じ得ない
881 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 19:35:42.09 ID:n3mgdNKt.net] それらが同じクラスに混在する方が目眩するわ
882 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 19:59:30.76 ID:+lUILV8P.net] で、最終顧客がのぞむ要求に答えられるアプリケーションなのかと
883 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 20:00:24.04 ID:1pJRigF6.net] 全体を把握しないと作業に取り掛かれないなら 既にクラス設計として破綻してるとしか
884 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 20:45:21.17 ID:QInM5P3Y.net] 結局要件があいまいだから何とも言えんけど普通に考えれば費目ごとに派生するのはないね。 せっかくC#にはデリゲートがあるんだから、費目で違う処理はコンストラクタで デリゲート食わせて対応できるし、その上でプロトタイプパターン適用した方が分かりやすいと思うよ。 もちろん費目ごとの固有の処理が費目固有のプロパティに依存するような場合は
885 名前:継承を使うしかないけどね [] [ここ壊れてます]
886 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 21:00:51.80 ID:D80mgGFK.net] 費目はクラスじゃなくてデータにするべきものでは在るが、初心者が「そう言われたから」って理由でやるより 何故そうなのかを理解してやるのは悪いことじゃない 自分で考える人を挫くスタイルはあまり感心しないな
887 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 21:05:35.30 ID:n3mgdNKt.net] 種類によって振る舞いが違うって要件なのにデータで扱うとか呆れるわ どんだけswitchする気だよ
888 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 21:15:55.31 ID:dxH3+214.net] > 自分で考える人を挫くスタイルはあまり感心しないな マウントしたいだけやろ 今回は質問者の方がレベル高いからアホみたいなことになってるけど w
889 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 21:16:44.49 ID:R/x04Nlq.net] >>867 アホ 全く別のデータ項目をどうやったら混同できるんだ
890 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 21:22:03.45 ID:n3mgdNKt.net] >>869 全く別のものを混同して同じデータ構造でごちゃ混ぜに扱おうとしてるのがデータフロー派だぞ 俺や質問者は異なる物は異なるクラスにしろっていうオブジェクト指向派な むしろ真逆だわ
891 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 21:33:44.71 ID:6oreCn9e.net] >>870 何でこんなくだらないものいちいちクラスにするんだ クラス図書かないからこんな蜘蛛の巣みたいなクラス図作って平気な面してんだろお前
892 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 21:35:40.32 ID:R/x04Nlq.net] >>870 混ぜて使いたいからクラスにするんだと思ってたんだが違うのか? 全く別物として区別して扱うんなら行全体を1クラスにして複数のフィールドで持つのと大差ないと思うけど?
893 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 21:49:04.68 ID:ie4nb91k.net] 費用と言っても材料費、人件費、、減価償却費、貸倒引当金など性格や扱いの異なるものを同じ基底から派生させるのはどだい無理がある 集計したいだけなら金額を取得するインターフェイスを実装する方が賢い
894 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 22:10:01.13 ID:n3mgdNKt.net] >>871 アホほど条件分岐書いて平気な顔してるやつに言われたくない きみさクラス図どころかオブジェクト指向すらしたことないだろ? >>872 同じ規約で異なるものを集めるのと 異なるものをただひとつのものとするのと 全く違うことだ 混ぜるという言葉の使い方を見極めろ
895 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 22:10:03.47 ID:WriG98aZ.net] List〈string[]〉の型をstring[]の特定の列をキーにしてソートしたいんですけど List.Sort(x => x[1]); のような書き方はできないのでしょうか? List〈class〉を用意するしかないのでしょうか?多分Listの中の配列にもLINQ使えそうなんですが・・・ テストで試しに動かしたいだけなのにわざわざclassを書くのが大変なので・・・
896 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 22:18:17.41 ID:gjQwmCKz.net] >>875 Sortは過去の遺物 OrderBy使っときなさい
897 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 22:26:57.08 ID:6oreCn9e.net] >>874 でもさ クラス図書いたら君のはこんなくだらない処理でクラスが50個も並んでるんだぜ どの辺がいいプログラムなの? 他のも合わせれば5-600は行くんじゃない? 正しいクラス図なんて一度も書いたことないっしょ? おそらく資料見てもこのクラスは記述があるけどこのクラスは記述がないなぁ ってもんを平気で作っちゃうでしょ?
898 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 22:31:22.52 ID:n3mgdNKt.net] >>877 そのドメインがそういうものなら何百クラスだろうがクラスで書くのが正しい それがそのドメインでは最も簡潔で正しい姿なんだよ そこを曲げてデータ区分や条件分岐で雑なコードを書いたら クラス数は増えないかもしれないがコードの複雑度が爆発的に高まるだけ なぜなら数百クラスが個々に持つべき振る舞いが同じクラスに区別なく同居してしまうんだぜ? ろくなことにならないよ
899 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 22:32:30.67 ID:WriG98aZ.net] >>876 OrderByも試したんですがこのラム
900 名前:_式だと意図した動作にならないです とりあえずList〈class〉で素直に書いてみますが、ラムダ式のキーに配列やListのインデックス指定して使うのは無理なんでしょうか? [] [ここ壊れてます]
901 名前:デフォルトの名無しさん [2017/12/20(水) 22:33:13.38 ID:GdnGy9ZB.net] >>875 >型をstring[]の特定の列をキーにしてソートしたいん ってどういう事ですか? 型をソートするの意味が分かりません。 初心者なので詳しく教えて下さい。
902 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 22:35:03.12 ID:QInM5P3Y.net] 意図した動作にならないのをバグっていうんだと思いますw
903 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 22:36:47.64 ID:6oreCn9e.net] >>878 そもそも設計書で四角で囲って強調すべき単位なの?費目って オブジェクト指向も自分解釈でおおよそ一般人がオブジェクトなんてしない単位でオブジェクトを作ってるよね?
904 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 22:40:38.82 ID:D80mgGFK.net] >>878 結局DBに入れて永続化しなくちゃいかんわけで、その用途考えると数百のクラスとかありえんのさ EFで扱える範囲で物を考えたほうが良いよ
905 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 22:42:06.35 ID:WriG98aZ.net] >>880 ちょっと説明不足してたので補足 List〈string[]〉 { {"1", "aa", "1個目"}, {"2", "bbb", "2個目"}, {"3", "abc", "3個目"}, {"4", "dddd", "4個目"} } の形があった場合、string[1]のところを基準にソートさせたいってことですね public class test { public string id{get; set;} public string text{get; set;} public string discription{get; set;} } みたいな形式だった場合 list.OrderBy(x => x.text); と同じ動作にしたいということです
906 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 22:54:00.94 ID:QInM5P3Y.net] >>884 そこが分からない人はいないと思うよw 逆に何が難しいの list.OrderBy(x => Integer.Parse(x[0])); とか、 list.Sort((x, y) => Integer.Parse(x[0]) - IntegerParse(y[0])); ではダメなんですか?
907 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 22:55:43.46 ID:QInM5P3Y.net] あ、やってもーたw IntegerじゃなくてInt32ね
908 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 22:59:37.49 ID:WriG98aZ.net] >>885 classでも試してだめでした それで動かなかったので質問したのですが、classもソートされなかったのでデータ側の問題かもです さっきのダミーデータでちゃんと挙動するか試します
909 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 23:03:12.47 ID:n3mgdNKt.net] >>882 質問者のドメインでは書くべきものだよ 振る舞いが異なる別のものだからね それが数百種類でそれぞれ異なるような複雑なドメインなら書くんだよ 無理やり1つのレコードに押し付けちゃダメ 逆にドメインそのものがシンプルで1つのクラスで表現すべきならそうする きみのおかしな点は質問者のドメインを無視してきみの頭の中にあるシンプルなドメインを前提に話を進めようとするところだな 独りよがりってこと >>883 実装はどうとでもなる RDBにこだわる必要もない
910 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 23:06:38.88 ID:QInM5P3Y.net] >>887 classってのが何のことかよくわからないけど、OrderByの方使ってる? LINQのメソッドはコレクションをのものを並び替えるのではなくて 並び替えた列挙オブジェクトを返すんだけど、そこを誤解してるなんてオチではなくて?
911 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 23:17:47.14 ID:dFGD4M7x.net] >>887 https://ideone.com/5Vgtw7 できたよ
912 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 23:21:21.55 ID:lugKio2h.net] 書き方がわかりませんということだから並び替え方法とは違うように読めたけどな list = list.OrderBy(x => x[1]).ToList(); もしくは list.Sort((x, y) => x[1].CompareTo(y[1])); とかだろ OrderByはシーケンスが返ってくるからListにしたい場合はToListが要る Sortは直接並び替えてるので前の状態も欲しい場合は事前にコピーしておくかな
913 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 23:23:23.48 ID:WriG98aZ.net] >>890 ありがとうございます var a = 〜 って感じで受け取っててVSで中身無いけどどうなってるの?? IOrderedEnumerabel〈〜〉型ってなんだ?ってなってましたけどforeachに直接入れないとダメなんですね 使い方間違えてました >>889 これでした、すいません
914 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 23:26:14.46 ID:WriG98aZ.net] >>891 あぁToList()を忘れてました あやふやな記憶で使っててToList()使うって教わったのにすっかり忘れてました 型の返り方の説明見て、正しい扱い方覚えないといけないですねすいません ICollectionみたいなやつとか、抽象化されてるからToListでListに明示的に変換しないとあかんやつでした
915 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 23:29:58.52 ID:Xe3ly/H6.net] >>892 てかその構造のデータをstring[]で扱わなきゃいけない理由が何かあんの?
916 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 23:31:09.24 ID:Xe3ly/H6.net] あ、ごめん書いてたね
917 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 23:35:13.47 ID:WriG98aZ.net] >>894 試しにデータ群扱う時にclass宣言したり、大量のデータを型分けするのがめんどいからこういう扱い方できると楽ってだけですね この使い方ならcsv形式にsplitでListぶち込むだけでやれるので宣言項目少なくてテストするなら楽ってだけです DBから持って来るときは文字列型じゃなければToStringかけたりとかありそうですが 最近はEF使ってるので楽ですけどね
918 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 23:38:15.25 ID:nn3v7K50.net] Kotlin では、ある列の値で、レコードをソートするのは以下。 年齢・名前でソートする https://mevius.5ch.net/test/read.cgi/tech/1509462463/18
919 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 23:44:31.66 ID:Xe3ly/H6.net] >>896 Visual Studioならjsonからクラスを自動生成できるからクラスの方が扱いやすいけどね。stringとHashtableまみれのコードとか絶対メンテできない…
920 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 23:49:35.45 ID:WriG98aZ.net] >>898 こんな機能あるんですね! interfaceのメソッド自動実装ぐらいしか知らなかったのでこういうの積極的に使いたいです
921 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 00:47:58.94 ID:HdSqx1Ax.net] yossk.hatenablog.com/entry/2015/02/23/070546 ここの「4-3散在する情報」のサンプルコード 川俣晶の本からのコピーなんだけど Runメソッド内で値設定したあと CalcDistメソッド先頭で値をリセットしてるから 常に計算結果0になるように見えるんだけど なんか俺読み間違えてる?
922 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 00:54:31.04 ID:h7wsiOnr.net] たしかに
923 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 03:28:09.32 ID:3KOuKcBo.net] >>888 はぁ?人件費がクラスに? センス悪いじゃん
924 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 05:44:12.11 ID:/dR3YALD.net] >>902 人件費と光熱費が異なる振る舞いをするなら別のクラスにするのが正しい センスの問題じゃない常識の問題
925 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 06:04:58.06 ID:gZ1XcqWP.net] >>903 はぁ? どう組んでも動きますが?
926 名前:デフォルトの名無しさん [2017/12/21(木) 06:50:24.48 ID:/eYbpg/S.net] オブジェクト指向は物事を複雑にするためにあるモノじゃ無いぞ。 オブジェクト指向を目的にしてどうするwww
927 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 06:50:56.44 ID:c0/BZHI9.net] 動く動かないとセンスの有無は別の話 理解力無さすぎだろ w
928 名前:デフォルトの名無しさん [2017/12/21(木) 06:56:56.39 ID:/eYbpg/S.net] どの世界でも原理主義者は物事を複雑にするw
929 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 06:57:03.08 ID:gZ1XcqWP.net] >>906 正しいとかおかしいよな どう組んでも動くし
930 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 07:00:31.05 ID:gZ1XcqWP.net] クラス図書かないやつは客観的に自分の設計を見ることができない だからこんなプロパティ単位のものクラスにして クラス図を蜘蛛の巣にしちゃっても それを汚いと反省する機会がない ただし、どう組んでも動くのであくまで俺の持論
931 名前:752 mailto:sage [2017/12/21(木) 07:13:38.51 ID:RBSPw/d+.net] 費用クラスの者ですが、色々なアドバイスありがとうございます 参考になります >>904 どう組んでも動くの精神で、前任のパートさんが凄いの組んでくれたので、オブジェクト指向を意識し始めました クラスどころかイベントリスナーのメソッドというのでしょうか? そこから共通関数すらなく処理されているので、なんとかしたかったのです ドメイン層とアプリ層とインフラ層が渾然一体となっていると、どう手を付けて良いのやら
932 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 07:25:44.67 ID:Mqu0aN7Q.net] 必要最低限だけ修正しろ コードのきれいさは主観 他人のコードはすべて糞コード
933 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 07:27:47.47 ID:gZ1XcqWP.net] >>910 お前のはプロパティ単位もクラスになってるからさらにカオスだな 初見で見た人間がそのたくさんあるクラスの依存関係がわかるといいな
934 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 07:42:54.80 ID:iiESRPBo.net] と、プロパティ単位とか意味不明のことをつぶやいており当局は措置入院の必要性があると判断している模様です
935 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 07:56:29.75 ID:h7wsiOnr.net] >>910 おまえ本当に未経験者かよwww
936 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 08:08:25.86 ID:gZ1XcqWP.net] 残念なのはおそらくこいつはコードレビューとかしたことないね クラス図と基本設計書との不一致とか設計書のレビューもやったことない このレベルでクラス図なんて書いたらごちゃごちゃしてなんだかわからないだろ 見難いよって誰からも指摘されたことないから当然伸びない 修正が聞かないまま今に至る
937 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 08:09:15.38 ID:gYUruymP.net] (キリッ
938 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 08:17:58.61 ID:81J6Ca8t.net] 新参だがここで聞くのは無駄だってことは分かった
939 名前:デフォルトの名無しさん [2017/12/21(木) 08:37:19.47 ID:VQD1Tiju.net] >>910 え〜、今更オブジェクト指向なの? c#はマルチパラダイム言語なのに
940 名前:デフォルトの名無しさん [2017/12/21(木) 08:40:09.55 ID:VQD1Tiju.net] >>917 ちゃんとした質問ならまともな答えが帰って来る。 トンデモ質問はスルーされるかネタにされて遊ばれるw
941 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 08:54:24.69 ID:upKQQwHx.net] 最近クラス図キチガイが湧いてるな
942 名前:デフォルトの名無しさん [2017/12/21(木) 09:04:04.27 ID:VQD1Tiju.net] >>914 素人だろうね。 ギョーミーなアプリ開発の経験者に費目毎のクラス化なんて発想はない。 社内のパソコンマニアに白羽の矢が立っただけ。
943 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 10:15:36.99 ID:VXvVb2gy.net] >>921 俺が言ったのは本当にプログラミング初体験なのかよってことな。
944 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 10:19:43.29 ID:iwfbZ4kw.net] javaの匂いが消えない
945 名前:デフォルトの名無しさん [2017/12/21(木) 10:33:22.61 ID:VQD1Tiju.net] >>922 大学出てりゃプログラミング初体験なんてことは無いだろうな。 プログラミング教育義務化なのでプログラミング初体験者ゼロの世の中になるw
946 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 10:41:24.50 ID:VXvVb2gy.net] >>807 >急遽プログラムをやれと言われた人間なのでセンスとか言われると厳しいです
947 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 12:03:45.23 ID:Q/EvmKMe.net] >>910 昨日も書いた((>>865 )けど、費目ごとに派生クラス作れ、なんて話は真に受けない方がいいと思うよw 処理の委譲はデリゲートでもできる。
948 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 12:50:57.69 ID:iiESRPBo.net] >>920 自称上級者なんだろ 今度はデリゲートとか言い出しちゃってるし 自分の知ってる単語ならべてるって感じ w
949 名前:752 mailto:sage [2017/12/21(木) 12:55:56.30 ID:Bs03k3IZ.net] >>925 急遽と言っても半年以上OJTの形で作っているので、変数、関数、クラスが何なのか程度は理解しています で、費用と費目は抽象クラスを使うのに絶好の課題ではと初めて使ってみて、世間様ではどう思われるか聞いてみたら、そんな関係には使わないと指摘された次第です
950 名前:752 mailto:sage [2017/12/21(木) 13:00:11.33 ID:Bs03k3IZ.net] ズブの素人でも手続き型プログラムを一ヶ月で作れるようになったのは、visual studioの支援とC#の解りやすさのおかげだと感謝してます ゆえに急遽突っ込まれたのかも知りませんが
951 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 13:29:10.16 ID:WNlCIVzg.net] >>928 結局ね、データってのはDBに保存したり手で入力したりするものなので データごとにクラスが変わったりすると破綻するんですよ クラス分けは集計には便利かもしれんが、全ての工程でどうなるか考えて設計しないとね
952 名前:デフォルトの名無しさん [2017/12/21(木) 13:38:55.98 ID:xinkvf3y.net] >>929 ズブの素人が1ヶ月でc#をそれなりにマスターするなんて凄いわ。 オレは無理だ (ーー;)
953 名前:752 mailto:sage [2017/12/21(木) 17:30:18.01 ID:68OBjHX8.net] >>931 最初の二ヶ月は前任の人が引き継ぎ兼トレーニングしてくれたのでブートは早かったと思います そこから半年でやっと継承を触ったので、成長曲線はそこまで急では無いかと 比較が解らないですが仮に成長が早いとするとC#が非常に取っ付きやすかったのが大きいと思います 基本情報試験のアルゴリズムとかさっぱり解らないので、プログラム能力は経験相応に低いと思います
954 名前:752 mailto:sage [2017/12/21(木) 17:42:42.42 ID:68OBjHX8.net] >>915 PM交え前任者とコードレビューをしましたが、三項演算子とLINQは見難いと指摘されました 手続き型より宣言型のが良いとネットで見たのですが 逆に前任者が書いた4重ネストのfor文にifelseが連ねてあるコードはいくら頭をひねっても理解できず 数字の動きはステップ実行で見れるのですが、だから何って感じになります ゆえに知識を整理したくなり初めて抽象クラスを意識した次第です
955 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 17:50:29.58 ID:c4/lwFQU.net] 優秀だね ここにくると馬鹿になるからもう来ない方がいいよ
956 名前:752 mailto:sage [2017/12/21(木) 17:56:25.54 ID:68OBjHX8.net] >>909 素朴な疑問ですがプロパティが大量に並ぶのとクラスが大量に並ぶのはどちらが好まれるのでしょうか 個人的には、クラス内にプロパティがギッシリという光景も凄いなと思うのですが 私の知らないテクニックで隠蔽できるのかも知れないので解りませんが なおデリケートはイベントリスナとして使われてる程度の理解しかなく使いどころがピンと来ていません 精進します
957 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 18:05:03.28 ID:Tz1RNGN4.net] プログラミングしたので評価してください archive.isに定期的にアーカイブさせるプログラムです https://dotup.org/uploda/dotup.org1417700.zip.html 👀 Rock54: Caution(BBR-MD5:1322b9cf791dd10729e510ca36a73322)
958 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 18:12:09.40 ID:Tz1RNGN4.net] 間違えてプログラムだけ上げてしまいました こっちはプロジェクトです https://www.axfc.net/u/3872901
959 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 18:14:54.74 ID:upKQQwHx.net] GitHubにあげてくれ
960 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 18:56:17.83 ID:VaR9+Vl3.net] ギフハブ?
961 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 19:01:00.92 ID:YYEMhcfN.net] >>935 そんなのトレードオフに決まってんじゃん
962 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 19:04:17.37 ID:Q/EvmKMe.net] >>935 何べんも言うけどさ、結局要件の詳細が分からないとどういう実装方法が ベストかなんて何とも言えんよ 妄想込みの印象論としては費目ごとに派生クラス作るなんて筋悪に感じるなとは言えるけど
963 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 19:09:52.65 ID:Tz1RNGN4.net] (´・ω・`) https://github.com/as123414/AutoArchiver
964 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 19:21:07.79 ID:iwfbZ4kw.net] md書け
965 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 19:22:33.42 ID:Ym9/Pn+0.net] いつから「評価してもらうスレ」になったんだよ せめて相談室でやれよ
966 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 19:37:28.56 ID:iwfbZ4kw.net] ちょっとだけ見たけどやはり初心者ですねとまだ短いにも関わらず読みづらいコードになりそうですねということかな 一行が長いところは絶対ダメとはいわないけど大体クソコード
967 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 19:41:21.29 ID:Ate4yeHH.net] >>935 もう手続き型の組み方で良いんじゃないの? オブジェクト指向はプログラムを分かりやすく保守しやすくするために出来たもの。 変なオブジェクト指向に拘って物事を複雑にするのは本末転倒。
968 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 19:46:25.90 ID:iwfbZ4kw.net] 意味なく一行が長いのを見るとどんなエディタで書いてるんだろうかと思う あとは一行でつなぎまくってるのを見るとデバッグがめんどくさいだろうなと思う
969 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 19:47:38.41 ID:Tz1RNGN4.net] >>947 120行目のことでしょうか それとも出だしのメッセージボックスでしょうか
970 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 19:52:03.68 ID:iwfbZ4kw.net] もう見るつもりはないから忘れたけど後ろの方にあったメソッドは内容をもっと見直したらいいと思う けど初心者はこんなもんだろ
971 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 19:52:34.81 ID:Tz1RNGN4.net] (´・ω・`)
972 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 19:57:53.60 ID:iwfbZ4kw.net] >>948 メソッドの結果を受ける段で概念的にわかりやすい名前で一度受けたほうがいいと思う 何々Textとか何々uriとか あとは個人的な感想として成功じゃなくて失敗をbool値で受ければいいんではないか bool 失敗=false catchで失敗=true >>950 まあこんなところで聞くやつが悪い
973 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 19:58:12.75 ID:HqNyhY75.net] >>935 小さなクラスが大量に並ぶのがオブジェクト指向の正解
974 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 20:10:11.41 ID:YYEMhcfN.net] >>952 俺はトレードオフがオススメ ちょっとした修正でクラス図まで書き直す必要ありますはお客に印象悪い どういう設計してんの?って聞かれる
975 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 20:12:10.78 ID:Mqu0aN7Q.net] クラス図なんて成果物にいれるからだ
976 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 20:16:53.37 ID:HqNyhY75.net] >>953 コードが変わるならドキュメントも同期させるって当たり前のことだよ ちょっとした修正だからドキュメントは変えなくていいって、それは本来ドキュメントに書かれてなければならない事が書いてないだけ 手続き型の設計ではそういう手抜きがよくあるけどね
977 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 20:17:38.91 ID:Tz1RNGN4.net] ここで頼まれて作ったよ(´・ω・`) hebi.5ch.net/test/read.cgi/news4vip/1513837259/
978 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 20:21:08.11 ID:YYEMhcfN.net] >>955 じゃあそうやって客に言えば? 俺とお前の資料を比べたときに 同じ修正量でもお前はセコセコ動いてなんだか余裕が無さそうに見えるから
979 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 20:21:36.24 ID:wimnqGen.net] 他人に誉めてもらわないと張り合いが出ないのはわかるが ここは初心者しかいないんだからレビューがまともに帰ってくるわけがない
980 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 20:23:37.18 ID:Tz1RNGN4.net] いまソースコードにコメント付けたので評価してください
981 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 20:32:06.58 ID:HqNyhY75.net] >>957 余裕がなさそうに見えるからwww わらっちゃった 余裕を演出するためにやるべきことをやらずに自分を追い込んで最後には余裕なくすんだろうなキミは
982 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 20:33:40.96 ID:YYEMhcfN.net] >>960 実際お前のやり方だと ほんのちょっとの変更でもう クラス図から手を入れなきゃじゃん これって変更に弱いってことじゃないの?
983 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 20:41:22.00 ID:YYEMhcfN.net] >>960 それでいいんだよ コードの綺麗さは人間の主観だろ だったら自分のコードじゃなくて人間を見なければ成長はしないよ
984 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 20:46:30.90 ID:HqNyhY75.net] >>961 手間がかかるから変更に弱いという考え方しかないのか? ショートコーディングが至高ならC#じゃなくてスクリプト言語やった方がいいぞ コード修正におけるOOPのメリットはタイプ量や作業量の少なさじゃ断じてない わかりやすく整理されたコードをわかりやすさを維持したまま変更できることがメリットな そりゃこだわらなきゃ手短に修正することは簡単だよ 例えばちょっとしたフラグ変数やif文を追加すればクラス構成を変えずに素早く修正して目の前の問題を解決することはできる ローカルな修正だからドキュメントの修正も軽微で済むかもしれん でもそれを積み重ねていくと気が付いた時にはもう手に負えなくなってしまうんだよ
985 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 20:51:53.83 ID:HqNyhY75.net] >>962 コードの綺麗さは計量可能 常識的なことだぜ 人間を見なければ成長しない(キリッ)なんて意識高いっぽいけど意味不明な戯言を言う前に まずは君の仕事を人並みにこなせるように基本的なことを勉強しなよ
986 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 20:52:40.67 ID:Mqu0aN7Q.net] そんなことはない オブジェクト指向はケースによって処理ががらっと変わるような場合の対処は得意だが 細部が細かいルールでちょこちょこ変わるようなのは大の苦手だ おとなしくIF文使ったほうがいいケースはたくさんある、というかそっちが普通 あとフラグ変数まみれになるのはたぶんOOP以前に構造化プログラムができてない
987 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 20:56:35.39 ID:Mqu0aN7Q.net] 計量可能とかうそだ
988 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 20:59:34.57 ID:iByWYmKo.net] >>879 んなこたあない
989 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 21:00:51.75 ID:Ate4yeHH.net] >>964 計量可能なのはコードの複雑さだろ。 将来的にはディープラーニングでカラオケマシン並みの採点ができるかもだが。
990 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 21:05:03.60 ID:iByWYmKo.net] >>929 あなたのレベルはこのスレを遥かに越えてる 汚物に汚染されない方が良いよ
991 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 21:06:20.65 ID:HqNyhY75.net] >>965 細部の修正はOOPの場合、メソッド内とかクラス内で完結するから、非常にやりやすい 苦手どころかむしろ得意な分野 手続き型だと逆に、同じ処理があちこちに分散する傾向があるから、些細な修正が思ったよりも広範囲で大規模な修正になることが少なくないね つうかまるでOOPではif文を全く使わないように聞こえるのが気になったな クラス内では普通に使うぞ
992 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 21:08:30.80 ID:HqNyhY75.net] >>966 コードメトリクスと言って割とポピュラーな分野だよ
993 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 21:09:04.02 ID:iByWYmKo.net] >>933 向上心の無い「おじいちゃん」達とは程々に付き合うのが吉
994 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 21:17:01.86 ID:YYEMhcfN.net] >>963 いや、変更に弱いじゃん クラスぶっ壊して組み直さなきゃいけないんだし
995 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 21:22:17.04 ID:HqNyhY75.net] >>973 クラスをぶっ壊すほどの変更ならなおさらだよ 今あるモデルが根本的におかしいという現状把握 新しいモデルへ推移するための道筋 オブジェクト指向ならこれがはっきり見える クラスがなかったらモデルもないのだから現状が正しいのかそうじゃないかの判断すらおぼつかない 新しいモデルもないからどうやって変更すればいいのかもぼんやりとしか見えない 現在地点も目標地点もよく認識できないんじゃこわくて動けんよ
996 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 21:30:04.52 ID:Y3l0yz+N.net] 今時こんなにオブジェクト指向を信仰してるやつも珍しいな
997 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 21:33:07.91 ID:VaR9+Vl3.net] 大昔はCだけでゴリゴリ書いてたんだけどなー
998 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 21:34:32.41 ID:YYEMhcfN.net] >>974 だってお前1メンバ変数1クラスの勢いでクラス作るじゃん 人件費なんてクラスにしねーだろ こんなことしてっからちょっと変更があったらもうクラス図書き直しじゃん 設計が悪いよ
999 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 21:43:02.15 ID:giWx2kxQ.net] >>935 > 素朴な疑問ですがプロパティが大量に並ぶのとクラスが大量に並ぶのはどちらが好まれるのでしょうか そもそもプロパティとクラスって全然違うものだからどっちがいいとかはない クラスとインスタンスの違いがわかってない奴の戯れ言だからそう言うのは無視でいいよ > なおデリケートはイベントリスナとして使われてる程度の理解しかなく使いどころがピンと来ていません デリケートは一部の処理を動的に変えたりしたい時や外部から必要な処理を与えたい時に使うものだから必要になるまで覚える必要はない >>865 とかは自称上級者のうぬぼれテクなので真似しなくていい > 精進します 今のままでいいから頑張ってね
1000 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 21:48:19.96 ID:giWx2kxQ.net] >>976 アセンブラガー って話になるからほどほどにしときなよ
1001 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 21:52:35.91 ID:Q/EvmKMe.net] >>978 いろいろ語るに落ちてるね。 こういう人ってARGBの組み合わせの数だけクラス作るのかなw 処理もデータと同じで変数に代入して柔軟に交換可能であるなんて 発想はCの時代からあるし、高度なテクニックでも何でもないけど、 この程度のことを理解してないから「自称上級者のうぬぼれテク」に見えちゃうんだろうね
1002 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 21:56:22.73 ID:HqNyhY75.net] >>977 そりゃするよ 1変数のクラスは超重要なものだ オブジェクト指向では絶対に欠かせないツール 1つの文字列変数を持った注文番号クラス 1つの数値変数を持った金額クラス 1つの日付変更を持った出荷予定日クラス などなど 僕たちがプログラムで扱うものはただの文字列や数値や日付じゃあないんだ そこをしっかりと認識してほしいね
1003 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 21:56:29.51 ID:VaR9+Vl3.net] char *p; p = 0; *p = 0;
1004 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 22:01:14.12 ID:h7wsiOnr.net] >>982 次スレよろ
1005 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 22:01:31.28 ID:Mqu0aN7Q.net] この上っ面だけのの現実とリンクしてない理解 主張をいうだけで論拠もへったくれもない態度 雑談スレで暴れてたやつか
1006 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 22:05:56.61 ID:h7wsiOnr.net] これでいいっぽいな ふらっと C#,C♯,C#(初心者用) Part134 mevius.5ch.net/test/read.cgi/tech/1511951038/
1007 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 23:30:24.92 ID:oDUVChgl.net] 大学入試程度の数学をよく理解できない人がいるのと同じように オブジェクト指向を理解できない人ってどうしてもいるわけで それはしかたがないことなのかもしれないね
1008 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 23:38:52.52 ID:HqNyhY75.net] >>984 現実から目をそらさず複雑性に立ち向かうためにOOPを使う 現実とリンクしてないなのはプリミティブタイプ
1009 名前:を使う人たちだな [] [ここ壊れてます]
1010 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 23:52:44.06 ID:+ZpzqfgR.net] ワードサラダとあんまり変わらんな
1011 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 00:24:55.67 ID:sp7ymsVp.net] >>980 > こういう人ってARGBの組み合わせの数だけクラス作るのかなw 意味わからん > この程度のことを理解してないから「自称上級者のうぬぼれテク」に見えちゃうんだろうね いや、必要もないのにドヤッてるから自称上級者とかバカにされてるだけ w
1012 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 00:30:23.73 ID:SpQ4O+yi.net] >>989 1を聞いて10を知る人間もいれば、0にしかならない君みたいな人もいるわけで。 君はデータと処理はまったく別物だと思い込んでるから「意味わからん」わけ
1013 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 00:37:51.40 ID:H1xj7tcO.net] いや誰が見ても意味不明
1014 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 00:46:44.98 ID:mdOvvC+t.net] 何で争ってるのかもわからないし 間に読み飛ばされた人がいたらかわいそうだな
1015 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 01:07:14.36 ID:sp7ymsVp.net] 質問者は理解してるっぽいから大丈夫でしょ 一部の自称上級者様が頓珍漢なネタでドヤッてるだけ w
1016 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 01:29:42.45 ID:agnD/jLF.net] >>981 馬鹿みたい 構造も変わってないのに クラス図を変更しなきゃいけない お前の組み方は無駄に変更に弱えーんだよ ただ、それだけじゃん
1017 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 01:33:36.39 ID:agnD/jLF.net] なんかメリットあるのかよと 単にプログラム記述上のお前の勝手な都合だけだろw
1018 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 01:35:03.42 ID:YbdIgSB6.net] classを使うメリットって入出力を共通化する為って意識が強かったんだけど違うのかしら・・・ 整理してないところで追加項目を一つ増やしたら他の関係ない場所にも追加項目を処理する機構を作らないといけなくなるみたいな
1019 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 01:38:59.75 ID:YbdIgSB6.net] >>996 入力は追加するけど出力や処理はそのままでも動きますよって変更に対して修正しないと動かなくなるようなのを防ぐ意味合いで考えてた 追加した入力に対してはメソッド新しく作ったりして対応や既存のところに付け足すとか色々やり方はあるだろうけど
1020 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 01:52:53.80 ID:SpQ4O+yi.net] 何度も言うけど、要件の詳細が明らかになってないから断定はできないが、 普通費目って聞いたら費目ごとに異なる処理(具体的な価格を計算するメソッド?) はせいぜい1つ程度だろうと想像する。 たった一つのメソッドの動作を上書きするために派生させるなんて愚の骨頂。 アホかと。ありえない。 そんなのOOPでも多態でも何でもないよ
1021 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 02:30:17.88 ID:FmyxrnYE.net] うめ
1022 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 02:30:29.41 ID:FmyxrnYE.net] うめ
1023 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 02:30:41.94 ID:FmyxrnYE.net] うめ
1024 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 02:30:49.17 ID:FmyxrnYE.net] うめ
1025 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 23日 5時間 0分 1秒
1026 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています