[表示 : 全て 最新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

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