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


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

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



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 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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