ふらっと C#,C♯,C#(議論用) [無断転載禁止]©2ch.net

0001デフォルトの名無しさん2016/07/26(火) 22:15:12.39ID:jPb6PRpJ
テンプレ募集

0079デフォルトの名無しさん2021/03/29(月) 12:08:39.12ID:y7wcwcm/
費用は安ければ安いほど良いに決まってますよね
速度は速ければ速いほど良いに決まってますよね
機能は多ければ多いほど良いに決まってますよね
いや、機能は少なければ少ないほど良いに決まってますよね

おっぱいは大きければ大きいほど良いに決まってますよね
こんなのは子供の考え方に決まってますよね

0080デフォルトの名無しさん2021/03/29(月) 15:27:05.10ID:K2k3tipf
実際に経験せずに机上だけで理解しようとしてるからそういう発想になるんだろうね
おそらく学生さんだろうから生暖かく見守ってあげれ

0081デフォルトの名無しさん2021/03/29(月) 20:02:35.07ID:2VNxxGaX
自分も生あったかい目で見られてたから
とやかくいうつもりはないが

なんでできないやつにばっかりやらせるんだよ!
できるやつがやって下に教えりゃいいんじゃないの?!

0082デフォルトの名無しさん2021/04/13(火) 19:45:32.34ID:arsZDomX
コメントの要否・コメントの内容について

コメントには「なぜ」を書くのが原則
処理の内容はコードを読めば解ることなので不要と考える

0083デフォルトの名無しさん2021/04/13(火) 19:55:52.28ID:WoYnxMFx
俺はコメント入れてほしい派

読めば判るっつってもさ、
コード書いてる本人ですら
何やってるか分かってない場合もあるからな(笑)
せめてコメントで
「ここではこんなことをしてる(つもり)」
って書いてくれら「全然そうなってないだろ!」と突っ込める

0084デフォルトの名無しさん2021/04/15(木) 06:46:40.67ID:S1KqOAhX
ぱっと見で複雑な処理の概要をコメントに書いてるわ
他人や将来の自分がなるべく素早くコードを読めるため、ってつもり

0085デフォルトの名無しさん2021/05/04(火) 12:03:49.50ID:mq0qLgJb
細かいところを省略してエッセンスだけ書くのは勝手だけど、実際に運用していくときに出てきそうな問題点の指摘を無視するのは違うでしょ

むしろID:/WM42vypMの言う本質ってなんだったんだろうな。最初は書くのが楽になるしか言ってないような気がしたが
最終的にはテストが楽に書きたいに変わってたし
そも書き手1人が楽になるより全体の可読性や保守性が重要だろうし、関数のシグネチャだけじゃ表現しきれないケースがあるだろうって指摘だったろうに

0086デフォルトの名無しさん2021/05/04(火) 12:28:40.76ID:9VBk1Szv
問題が散逸してるように思える。
インターフェイスではなくて、関数を渡すといっても、そのシグニチャは結局どこかで定義することになるし。
これが勘違いなのかな。delegate宣言せずにいきなりAction<string> callbackみたいに受けるんだろうか。
これはこれでめちゃくちゃ密結合な気がするんだが。
単独アセンブリとか、単独ソリューションだから成立するような気がする。

モックフレームワークは確かに難解だけど、まずモックオブジェクト自作して困ってからでいいと思うし、そもそも必要になるのは、それこそラムダで部分的に処理を突っ込むのと同じの、依存性の注入を行うからだと思う。

特別扱いしてるインターフェイスはフェアではないと言うが、インターフェイスだから特別扱いできるんだろうし。
拡張メソッド生やすのも簡単だし、Linqなんか器用にやってると思うんだけどな。

0087デフォルトの名無しさん2021/05/04(火) 14:09:50.83ID:c21jxOwi
横からごめん。

>>86
>delegate宣言せずにいきなりAction<string> callbackみたいに受けるんだろうか。

delegate と Action / Func って実質的な違いってあるんだっけ。
delegate を使用しないから密結合になるってのが理解できなかった。

0088デフォルトの名無しさん2021/05/04(火) 14:23:12.84ID:9VBk1Szv
>>87
実質的な違いは無いよ。

ただ、Interfaceで定義するなり、delegateを用意しておくなりしないと、
呼ぶ側、呼ばれる側(≒コールバックを返す側)どちらも、今から使う関数の引数を直接的に知っている事が前提になるんじゃない?
ホントにそれ差し替え可能なのかな。

0089デフォルトの名無しさん2021/05/04(火) 15:19:18.88ID:9VBk1Szv
あいつは何なんだ。

0090デフォルトの名無しさん2021/05/04(火) 15:27:57.73ID:c21jxOwi
>>88
ありがとう。
自分的には Action / Func でも delegate と同じに思えるけど、そう言う価値観もあるのだと理解した。

0091デフォルトの名無しさん2021/05/04(火) 15:39:43.41ID:mq0qLgJb
> 呼ぶ側、呼ばれる側(≒コールバックを返す側)どちらも、今から使う関数の引数を直接的に知っている事が前提になるんじゃない?
その辺は別モジュールなりトップレベル関数なりに宣言すれば良いって言ってた

そこまでするならインターフェース継承したクラス宣言するのと殆ど変わらないと思うんだけどな
それこそ↓で書かれてるような、フィールドに外部から渡されたインターフェース(private IY y)を持つかどうかの1,2行の違いしか無いと感じた
https://mevius.5ch.net/test/read.cgi/tech/1616471904/651

そんで、ここに保持するインターフェースは冗長なのではなくて、
このクラスはこのインターフェースを使用して処理を行うという宣言みたいなものだと思ってる
classXのfooメソッドからしたら呼びだし元を確認することなく最低限の挙動が保障されるし

>>90
表現の違いじゃない?
delegate=ActionとFuncの総称だと思ってるので、自分はこう読んだよ
「どこか別の場所でAction宣言せずに、いきなり匿名関数なりで定義したものをAction<string> callbackみたいに受けるんだろうか。」

0092デフォルトの名無しさん2021/05/04(火) 15:53:19.15ID:9VBk1Szv
>>91
別モジュールを前提に考えてたなぁ。

インターフェイスを継承したクラス宣言も、必要なシーンでは必要だと思ってるんよ。
関数を渡すとしても、Func<T,TResult>のTResultは、インターフェイスになりがちで、それを無理に解決する必要は無いと思うんよね。
Loggerとか、データベースへのコネクションなり。

0093デフォルトの名無しさん2021/05/04(火) 16:17:57.34ID:9VBk1Szv
属性をデコレータというかAOPを主目的としてる人、初めて知ったんだけど、偏ってない?

0094デフォルトの名無しさん2021/05/04(火) 17:25:07.47ID:7QH9BmBJ
>>93
シリアライゼーション、属性バリデーションはAOPの一種だと考えてるので違和感はないかな

0095デフォルトの名無しさん2021/05/04(火) 18:11:31.11ID:9VBk1Szv
>>94
AOPの一種か。微妙に納得いかんな。
シリアライズするときに入れる共通処理のための属性という事だろうか。

0096デフォルトの名無しさん2021/05/06(木) 03:16:24.05ID:i9c/0LkH
横から失礼
virtual func と delegateの違いは状態を持つかどうかじゃないの

0097デフォルトの名無しさん2021/05/06(木) 09:30:26.23ID:/bC2jc3v
>>95
シリアライゼーションという横断的な関心ごとをシリアライザという単体の機能に分離して管理する
これはまさしくAOPの特徴

0098デフォルトの名無しさん2021/05/17(月) 09:06:11.62ID:ukB7joMl
privateフィールドにはプレフィックスを、の件、
キャメルケースだのスネークケースだの言ってる奴ばかりで、
this.について触れてる奴一人だけなの草

0099デフォルトの名無しさん2021/05/17(月) 11:23:18.09ID:jha2r4tC
自転車置き場すぎて気にしてなかった

0100デフォルトの名無しさん2021/05/17(月) 18:51:24.93ID:ouC7xxTJ
デフォルトでthis.が削除対象になるから使ってねーわ

0101デフォルトの名無しさん2021/05/28(金) 10:10:27.34ID:bKZdxO87
c#で心掛けるのは、処理速度より開発速度とか省ステップでいいのかな。
どうしてもStringBuilder使うの面倒だから文字列を足し算してしまう。

0102デフォルトの名無しさん2021/05/28(金) 10:13:12.28ID:nxnFhRam
C#はバランスタイプだよ
開発速度などで言ったらTypeScriptとか他の言語には勝てない

0103デフォルトの名無しさん2021/05/28(金) 12:30:03.15ID:+US5DWqq
>>101
他の言語と同じで、普通は開発速度とか重視でいい
で、速度が必要な部分のみ速度重視

0104デフォルトの名無しさん2021/05/28(金) 12:34:59.00ID:WzBNxoJG
Typescriptって開発速度で優位なんだ
逆にtsの弱点ってなんなんだろ

0105デフォルトの名無しさん2021/05/28(金) 19:35:58.43ID:hvuiLCOu
型嫌いが怒る

0106デフォルトの名無しさん2021/05/28(金) 21:15:34.40ID:bKZdxO87
>>102-103
どうもです。あんまり気にせず組みやすさ重視で良さそうですね。
無駄はダメだろうけど、それもこだわると霧がなさそう

0107デフォルトの名無しさん2021/09/06(月) 17:30:21.92ID:hRz0UfzR
V-VM-UseCase-ServiceのよくあるCleanアーキでWPFデスクトップアプリ組んでるんだけど凄くツラミを感じる
VMとUseCaseの接続をReactivePropertyでやるとどうしてもカオスになってしまう
みんなどうやって対処してるんだろ

0108デフォルトの名無しさん2022/01/02(日) 13:37:01.01ID:caWVN6xf
C#10の機能試そうとVS2022で新しいプロジェクト作ろうとしたけど、テンプレートすごい選びにくいな。
.net framework やら .net core やら .net の事情知ってるから選べるけど、部外者お断り感がすごい。
全部の一覧が並んでるんじゃなくて、ウィザード形式なりもう少しなんとかならんのかと思う。

0109デフォルトの名無しさん2022/01/02(日) 16:31:40.65ID:svYtaABt
2019 ですでにそんな感じだったような。悪化したのか。

0110デフォルトの名無しさん2022/08/31(水) 13:31:19.09ID:CzazX99E
C#で一般企業の人事システムや財務システムを構築するのはどうだろうと思う
基本的にC#の仕様は金額計算は不得手だと思われる

0111デフォルトの名無しさん2022/08/31(水) 13:40:47.85ID:rQxi5a/d
整数かdecimalを使えばいいだけ

0112デフォルトの名無しさん2022/08/31(水) 13:45:10.00ID:1Rvyxsfs
>>110
なんで?

0113デフォルトの名無しさん2022/08/31(水) 13:47:20.21ID:bNG7ckOO
>>110
何を根拠にそう思った

0114デフォルトの名無しさん2022/08/31(水) 15:05:47.98ID:83s/Qhp/
C/C++で一般企業の人事システムや財務システムを構築するのはどうだろうと思う
基本的にC/C++の仕様は金額計算は不得手だと思われる

0115デフォルトの名無しさん2022/08/31(水) 15:20:49.74ID:zj1v6oZ+
COBOL使えとかそういう話?

0116デフォルトの名無しさん2022/08/31(水) 20:22:49.31ID:nl82w9tj
何の根拠も無く金額計算は苦手とか言われても…

0117デフォルトの名無しさん2022/08/31(水) 20:26:47.75ID:7kY9EZzP
C♯は実際に金融計算のシステムに使われているのかこれ

0118デフォルトの名無しさん2022/09/01(木) 10:22:10.34ID:qjv9Q1pT
>>117
ユニシス系の銀行システムでC#使われてる

0119デフォルトの名無しさん2022/09/01(木) 12:09:09.25ID:N6+Jtpjw
銀行システムで使われているなら安定性や信頼性は最強じゃないの

0120デフォルトの名無しさん2022/09/01(木) 12:35:52.13ID:SRMxcXFz
銀行システムという括りが微妙すぎる
まぁJavaで勘定系作ってるところもあるからC#でも何の問題もないわな

必要なら自分達で型を作ればいいだけだから

0121デフォルトの名無しさん2022/09/01(木) 13:30:44.78ID:sc0TjgYi
decimal型では不味いことってあるの

0122デフォルトの名無しさん2022/09/02(金) 08:36:58.10ID:FhFYbPMR
>>121
処理速度が遅くなる

0123デフォルトの名無しさん2022/09/02(金) 20:15:10.81ID:7STm9Jbj
遅くなるって具体的にどれくらい?

0124デフォルトの名無しさん2022/09/02(金) 20:17:42.15ID:ZxhhELCj
Decimalって64bitだっけか

0125デフォルトの名無しさん2024/01/06(土) 14:29:22.00ID:AYkaYTA3
age

0126デフォルトの名無しさん2024/01/07(日) 09:47:48.71ID:puo1Tntr
>>123
doubleに比べて無茶苦茶遅い
decimalは10進数という意味だけどその名の通り多倍長で演算してるから

0127デフォルトの名無しさん2024/01/08(月) 19:53:28.11ID:P2IcO0H5
> 具体的にどれくらい?

> 無茶苦茶遅い

アホの会話やめ

0128デフォルトの名無しさん2024/01/11(木) 21:33:05.95ID:Rr1Eyt4+
そもそも何をするかによって速さが違うから正確な表現など出てくるはずもなかろう
曖昧な質問で出てくると思った?w
アホなのかな?w

0129デフォルトの名無しさん2024/02/29(木) 22:00:54.37ID:e2R+EPM+
> パッケージ 'Microsoft.WindowsAPICodePack-Shell 1.1.0' はプロジェクトのターゲット フレームワーク 'net6.0-windows10.0.22000' ではなく '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1' を使用して復元されました。このパッケージは、使用しているプロジェクトとの完全な互換性がない可能性があります。
こういうエラーが出るんだけどどうしたらいいんだろう?
.NET SDK 6.0.419 は入れた
OSはWindows10 Pro 22H2

新着レスの表示
レスを投稿する