C#, C♯, C#相談室 Part96

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 7633-kUv4)
垢版 |
2021/12/20(月) 11:03:25.88ID:sdn/+VfW0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512

■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/

■コードを貼る場合はこちら
http://ideone.com/

■前スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
793.NET MAUI HighSchool (ワッチョイ e201-6Epl)
垢版 |
2022/12/06(火) 22:09:19.39ID:swY2BqBl0
>>792
なんで?
2022/12/06(火) 22:23:11.93ID:6+x5kn7X0
>>793
初心者のスクレイピングはサイトに迷惑かけるって言ってんだろ
テストの仕方も知らねぇからデバッグ中もターゲットサイトに向けてアクセスするし、バグが取れるまでぶん回す
そんなのが複数いるせいでサーバ増強しなくちゃいけなくなる
まぁ、Selenium使ってアクセスしてくるようなやつには微妙に間違ったデータ渡したりして追い出すんだけど、その開発にも金かかる

お前が補填するのか?
2022/12/06(火) 22:46:38.63ID:MaIfapT+0
C# 関係なくて草
2022/12/06(火) 23:06:09.15ID:5MeWJbnk0
Udemy の山浦 清透の動画

【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI

山浦ぐらいのプロ中のプロでも、
マイナビ求人サイトに、1:5:42 の所で無限ループしている

プロでも、サイトに対して無限アクセスしてしまうのだから、
素人のスクレイピングなどは、以ての外

ちゃんとサイトと契約して、API を使え。
勝手にスクレイピングするな
2022/12/06(火) 23:54:15.41ID:ddwy7sPP0
>>794
お前が、初心者のアクセスも跳ねのけられない程度のスキルだって事だよ。
そのレベルでサイト作ってたらクラックされるぞwww
798デフォルトの名無しさん (スプッッ Sd9e-e7tZ)
垢版 |
2022/12/07(水) 01:38:56.93ID:Bz4SkEkYd
>>797
クズの代表例
2022/12/07(水) 06:07:48.01ID:NcWoeY640
>>788
おまえ、こんなのにスクレイピングさせようとしてたんだぜ
反省しろ
2022/12/07(水) 07:44:38.01ID:pK/kpACTd
自家製サイバーテロやな
2022/12/07(水) 10:23:24.37ID:ab3aPn9DM
スクレイピング対象のサーバによってはガチの損害賠償食らうケースもあるんで、自分で調べて出来るスキル無いなら手出さん方がいいと思うわ
2022/12/07(水) 11:01:30.84ID:4pPk5oB6M
スクレイピングミスのF5攻撃でサイトダウンさせて業務妨害罪で逮捕
2022/12/07(水) 11:48:08.65ID:VuMhltqpa
多重継承しない(その可能性もない)インターフェースって意味があるんすかね?
2022/12/07(水) 12:28:08.13ID:Kv9doYAPM
つか別に多重継承が目的のものではないし
メインは抽象化だろ
2022/12/07(水) 12:59:15.00ID:aha8SeJLa
でも、それベースクラスの仕事じゃないですかね
2022/12/07(水) 13:13:30.35ID:MYJSppMZ0
作ったらそれっきりのものを自分一人で作ってるのなら好きにすればいいんじゃね?
2022/12/07(水) 13:17:32.25ID:aha8SeJLa
インターフェースだと共有が楽なんですか?
2022/12/07(水) 17:28:17.41ID:3QtWSiHd0
>>790
C#しか出来ない人には優しいかもしれんが、
多言語使いには喧嘩を売りまくってるじゃないか
809.NET MAUI HighSchool (ワッチョイ c801-6Epl)
垢版 |
2022/12/07(水) 19:02:52.19ID:Mb6NCHQl0
>>808
でも優しくね?
イキってるやつには否定から入るけど
2022/12/07(水) 19:06:41.60ID:UAMEr4aB0
スクレイピング容赦せん!
2022/12/07(水) 23:59:49.70ID:Y5fcxcAY0
>>809
イキってるのはお前だろ
質問せず自分で解決できるようになってからイキれや
812.NET MAUI HighSchool (ワッチョイ e201-6Epl)
垢版 |
2022/12/08(木) 00:13:27.60ID:JlEBU10A0
>>811
できる限りしてんじゃん
813デフォルトの名無しさん (ワッチョイ b701-L0N4)
垢版 |
2022/12/08(木) 10:16:07.59ID:lJAiN1tA0
>>810
ストレ…
2022/12/08(木) 10:25:14.29ID:X8mmjpb+0
2,3年前まではC#メインにいじってたつもりなんですが、
いつの間にかここ1年以上なんかPHPやらJSやらばかりになってしまいました
昔の自分に戻りたいのですがどうすればいいですか。世の中から他の言語駆逐したいです
2022/12/08(木) 10:39:07.90ID:owyQh2KqM
>>814
時代遅れの巨人の力が通用するのはあと僅かです
今すぐ行動に移りましょう
まずは同士を募るのが良いでしょう
ソロで勝てるほど甘くはありません
2022/12/08(木) 13:26:35.59ID:ajSJ0zwRa
>>814
C#をメインで使ってる自社サービス系の会社は結構あるから探して転職したらいい
ある程度大きいとこだったらC#得意なら誰でもウェルカム状態だからよほどのバカかコミュ症でなけりゃ受かる
2022/12/08(木) 13:56:19.67ID:X8mmjpb+0
ChatGPTにはふわっと返されました(´・ω・`)
.NET10くらいには戻ってこれてると良いな

↓ChatGPTさん
そうですか。私もC#が好きでしたが、今はPHPやJSが多く使われています。
まずは、自分が何をしたいのか、どのような目標を持っているのかを考えましょう。もし、自分がC#を使いたいという目標を持っているなら、それに向けて学習を続けることが大切です。
そのためには、最新のC#のバージョンを知っておくことが重要です。また、自分が興味を持っている分野に特化した学習をすることも有効です。例えば、ゲーム開発やWeb開発などに特化したC#の勉強をするとよいでしょう。
また、オンラインでC#のコースや動画講座などを活用することで、自分の学習スキルを高めることができます。実際にプログラムを書いて実践的なスキルを身につけることも大切です。
また、C#を使うプロジェクトに参加することで、実践的なスキルを身につけることができます。また、C#を使っている人たちと交流を持ち、自分の知識を拡げることもできます。
自分がC#を使いたいという目標を持ち、それに向けて努力することが大切です。他の言語を駆逐することではなく、自分が好きな言語を使い、それを使いこなすことが重要です。
2022/12/08(木) 21:01:25.46ID:wvTxK2BR0
今はC#と言えばほぼUnityという感じだしなぁ
昔はWindowsアプリの開発何かも多かったけど
ネイティブアプリはelectronとかそういうのに置き換わっている印象があるし
そうでなくても結局webの技術で作られたものがかなり増えたな
C#もASP.NETとかあるにはあるけど、そういうのって採用している所が結構狭い世界という感じ
2022/12/08(木) 21:14:09.04ID:TAwgKaXVa
ビジネスは.NET多い
820.NET MAUI HighSchool (ワッチョイ e201-6Epl)
垢版 |
2022/12/08(木) 23:36:06.26ID:JlEBU10A0
ネイティブそんなElectron使うか?
あれ見た目めっちゃめんどくさそう(つついたことない)
ワークスペースがどうとかウゼェよな
だからVScも使わんしSiki(5chブラウザ)も使わん
2022/12/09(金) 01:15:34.99ID:9UIEGvMz0
SikiとVSCodeは普通に使ってる
他にいいソフト無いしな
822デフォルトの名無しさん (オッペケ Sr10-zBmE)
垢版 |
2022/12/09(金) 03:47:30.64ID:aTxh5sg+r
VSC → プロ用途
VS → 素人・セミプロ用途
2022/12/09(金) 09:21:37.07ID:eLXAv6sJ0
今頃、PHP に参入しているのは素人でしょ

既に、YouTube で有名な雑食系エンジニア・KENTA は、
PHP, Scala, EC2 などをオワコン認定した

だから、PHPのFacebook とか、Laravel を使っているZOZO、
Scalaを使っているTwitter などは、良い開発者を集めるのが大変。
EC2 も、Fargate に変わった

一方、KENTAは、Ruby をオワコン認定しなかった

例えば、ガーシーが使うような、Mastodon もPHPからRails 6 に変わった。
作者のドイツのオイゲン・ロホコでも、PHPでは可読性が悪くて開発できない
824.NET MAUI HighSchool (ワッチョイ e201-6Epl)
垢版 |
2022/12/09(金) 09:30:07.51ID:gQLJ96r50
>>822
なわけねぇだろw
825.NET MAUI HighSchool (ワッチョイ e201-6Epl)
垢版 |
2022/12/09(金) 09:30:46.63ID:gQLJ96r50
>>821
VSc使いづらすぎる
Sikiも使いづらすぎてJaneに戻ったわ
826デフォルトの名無しさん (ワッチョイ fb6e-zBmE)
垢版 |
2022/12/09(金) 09:59:32.74ID:YeLe6gia0
SDKだけ渡しても( ゚д゚)ー?って涎垂らして固まるので
非エンジニア用に最低現のコードだけ書けば動くバカチョンな状態にしてあげたのがVSとそのコード
因みにガチのプロがVSCで作ったコードはVSでは動かせない

オワタ\(^o^)/チーン
827.NET MAUI HighSchool (ワッチョイ e201-6Epl)
垢版 |
2022/12/09(金) 10:08:26.38ID:gQLJ96r50
>>826
ゴミじゃんVSc
2022/12/09(金) 10:32:32.54ID:Jy5x71sTa
なんでc#のプログラマってthisを書かんのですか?
2022/12/09(金) 10:47:44.53ID:IjoxQFcIa
>>828
Visual Studioが書かなくていいと言うから
2022/12/09(金) 11:03:32.85ID:t23L99z50
初心者のアクセスも防げない低レベルが開発したWEBサイトの脆弱性といったら( ゚Д゚)
2022/12/09(金) 12:59:28.23ID:UyKdfg3p0
関数の引数と同名のプロパティならthis書かないと判別付かないけど
そうじゃない場合はいらないというのは良いのか悪いのか・・・
2022/12/09(金) 13:04:42.92ID:x6vHg/2J0
>>828
おれも不思議に思ってる
>>829 の言うとおりだと思うけど、そもそも論として >>831 の言うように何が良くて VS が省略をすすめるのかわからん
2022/12/09(金) 13:16:57.41ID:YCQBTyru0
そもそもthisつけないと分からないような変数名を付けること自体ほとんどないような
834デフォルトの名無しさん (ワッチョイ 915f-7kHv)
垢版 |
2022/12/09(金) 13:46:50.58ID:iU6u+uHp0
命名センスが無いかクラス設計がヘタクソなんでしょ
そもそも5文字(ピリオド含)も打ち込むのダルくない?アンダースコアでいいじゃん
MSお墨付きになったから組織内規約としても浸透させやすいし
2022/12/09(金) 13:51:07.16ID:Jy5x71sTa
変数名にメンバであることを示す目印を入れるのが良いってことですか?
2022/12/09(金) 13:59:31.02ID:YCQBTyru0
会社とかでコーディングルールが決められているならば、それに従うしかないが
個人的な開発とかで自由にできるのなら、.NETランタイムの規約に準拠しておくのが無難だわな
github.com/dotnet/runtime/blob/main/docs/coding-guidelines/coding-style.md
837デフォルトの名無しさん (アウアウウー Sa08-g9pY)
垢版 |
2022/12/09(金) 15:21:52.70ID:Z1cscK2ka
m_hoge は良く観掛けるが別に付けなくていい時に付ける必要もない
this.hoge 描くのが嫌なら
メンバ名 this_hoge ってしとけば良いよ
2022/12/09(金) 16:17:06.13ID:JfMuRYn9a
otherclass.this_hoge
2022/12/09(金) 17:21:48.90ID:uZVMZnAl0
base.inheritClass.this_hoge
2022/12/09(金) 17:38:12.84ID:22+1NQn4a
まあC#のメンバーは他の言語と違って大文字から始まるパスカルケース推奨でローカル変数は小文字で始めるのが推奨だからthisが必要になることはほとんどないからな
どっちも小文字から始めるなら不要なバグ混入を防ぐために必ずthis書いとけってのはわかる
841.NET MAUI HighSchool (ワッチョイ 7e01-6Epl)
垢版 |
2022/12/09(金) 17:39:26.41ID:kAYpLKl/0
>>840
そういうことね
2022/12/09(金) 17:40:03.92ID:kFjsSShY0
ソースコードアナライザーのデフォルトだとSA1101が有効になってるからうちは全部this付けてるわ。
https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1101.md
2022/12/09(金) 17:43:03.94ID:6wQe2Y2i0
>>840
privateのメンバー変数は小文字だろ
2022/12/09(金) 17:44:33.29ID:22+1NQn4a
>>843
アンダースコア
2022/12/09(金) 17:58:48.83ID:22+1NQn4a
https://learn.microsoft.com/ja-jp/dotnet/csharp/fundamentals/coding-style/coding-conventions#camel-case
アンダースコアの根拠
2022/12/09(金) 18:03:36.35ID:Jy5x71sTa
区別っていうか、インスタンスにアクセスしてる気分出すためにthisつけたくならんかね?
2022/12/09(金) 18:17:04.44ID:yVO2YxORr
フォームの AutoScroll を true に設定したときに現れるスクロールバーなんですが、
つまみをドラッグしたときは、離すまで中のコントロールの表示が更新されません。
つまみを動かしながら中身も連動して表示してほしいんですが、どうすればいいんでしょうか。

ぐぐっても2つ以上のスクロールバーを同期させるような話題ばっかりがヒットするんですが、
難しいんでしょうか。
2022/12/09(金) 21:53:42.33ID:6dgWLd6p0
>>847
詳しく試してないがRichTextBoxやDataGridViewでは再現せずPictureBox(のImage)で再現して、フォームと言うかたぶんパネルとかのコンテナコントロール上でも起こる気がする
そして頑張って何とかしたらスクロールバーの反応が悪くなるとかロクでもないことになりそうな気もするw
ImageだけならIrfanViewとかのようにマウスドラッグでスクロールしたほうが分かりやすいので個人的には気にしない
2022/12/10(土) 00:56:18.46ID:vkGu6RXy0
普通は、無駄な描画を抑えるために、
つまみを放したタイミングで、再描画される

それを、つまみの値が変化するたびに、再描画すれば良い
850デフォルトの名無しさん (ワッチョイ 872c-BsWY)
垢版 |
2022/12/11(日) 18:00:22.78ID:u7FzjZJr0
皆様どうされているか教えていただきたいです。

Visual C# 2022
.Net6.0 で開発を行っております。

プロジェクトのプロパティ内で、
「ビルド」に「コードの最適化」という項目がありますが、

実際に運用する場合は、
最適化されたコードで運用していくと思うので、

デバッグをする際にも「コードの最適化」のチェックをONにして

ビルドを行い、デバッグをしていったほうが良いのではないかと思っています。
皆様は、デバッグする際にも「コードの最適化」のチェックをONにされていますか?
よろしくお願いします。
2022/12/11(日) 18:48:15.74ID:HcYuyEaDa
コンパイル時間が気にならないならそうしたらいいんじゃね
2022/12/11(日) 18:55:01.65ID:B9k8N7vL0
>>850
> デバッグをする際にも「コードの最適化」のチェックをONにして
> ビルドを行い、デバッグをしていったほうが良いのではないかと思っています。
そう思うなら1回やってみ
てか、まずは自分でやってみる癖つけないと伸びないぞ
2022/12/11(日) 19:22:44.77ID:TMAZCbUcM
C#の最適化は可愛いレベルだからそこまで気にしなくてもとは思う
c++なんて最適化のレベルを上げるとmemset()でメモリクリアしようとしても勝手にmemset()自体が消されてしまう
しかもその判定がおかしい
これは最適化なのかどうかすら怪しい

セキュリティ上問題ある場合は特定の命令を使って消さなければならないとか普通じゃない
2022/12/11(日) 19:33:50.24ID:B9k8N7vL0
>>853
> しかもその判定がおかしい
それお前のコードがおかしいだけだろ...
2022/12/11(日) 19:36:50.71ID:HcYuyEaDa
まあ普通に未定義踏んでるんだろうなとしか
2022/12/11(日) 19:52:14.92ID:BCIhC2eW0
あまりにもクソコードの場合、中間言語をILSpyで逆コンパイルしたほうが見やすくなるしね
2022/12/11(日) 20:37:17.87ID:qKMahR6w0
>>848
わざわざ試してもらってありがとうございます。
ドボンにも項目がなさそうなところを見ると、ひとまず無理ということでしょうかね。

>>849
Delphi なんかだと、Tracking ってプロパティがあって制御できるようになってるんですがね。

そもそも無理のない配置にするなどして、あまりそういったデザインにはしないんでしょうかね。
必須の動作というわけでもないので、デザインの変更も含めてもう少し検討してみようと思います。
2022/12/11(日) 23:38:00.70ID:GglWfKZ40
開発では最適化しない。
最適化されたら、break point の所のコードが、最適化されてなくなってしまうかもw

デバッグ中に、コードも変更できないだろうし
2022/12/12(月) 06:58:32.95ID:MUc95V7m0
習得速度が遅いのだがどうしたらいいの(´;ω;`)
頭悪いからね

unityだけどね(´;ω;`)
860デフォルトの名無しさん (スプッッ Sd7f-GCrc)
垢版 |
2022/12/12(月) 08:19:01.09ID:odyyTBv7d
>>850
Visual Studioのデバッガ機能(デバッグありで実行)を使ってみればすぐわかるんだが

1行ずつ実行したり変数の内容見れたりする機能がある。
最適化されると処理の順番が入れ替わるわ変数がそもそも消えるわでデバッガが使い物にならんくなる
2022/12/12(月) 08:54:42.61ID:vZtLlg4nr
>>859
マジレスすると、コツをつかむまではひたすら頑張るしかしょうがない。
いい師匠に巡り合えるといいんだが、理解するときのイメージって人それぞれなんで
難しいね。
2022/12/12(月) 10:55:37.43ID:vZtLlg4nr
847 ですが、英語情報あたったらありました。
Form の Load とかで

Scroll += From1_Scroll;

としておいて、

private void From1_Scroll(object sender, ScrollEventArgs e)
{
if (e.ScrollOrientation == ScrollOrientation.HorizontalScroll)
{
HorizontalScroll.Value = e.NewValue;
}
else if (e.ScrollOrientation == ScrollOrientation.VerticalScroll)
{
VerticalScroll.Value = e.NewValue;
}
}

でそれらしい動きになる。
これぐらいの情報ならドボンにあってもよさそうなのにな。
863デフォルトの名無しさん (ワッチョイ 7f10-vbep)
垢版 |
2022/12/12(月) 17:14:10.39ID:Pte9fgG60
>852
>860

アドバイスありがとうございます。
実際にやってみます。
>てか、まずは自分でやってみる癖つけないと伸びないぞ
身に染みるお言葉ありがとうございます。
2022/12/12(月) 17:24:41.56ID:MUc95V7m0
>>861
はい、1日1つの課題くらいを作って、地道にやります
完成を目指します
2022/12/12(月) 21:36:48.19ID:gQz+ELAV0
>>857
前提が間違っていて試した意味がなかったようだ、申し訳ない
RichTextBoxやDataGridViewはコントロールでスクロールバーを持っていて移動が即反映され、PictureBoxはスクロールバーを持っていないのでフォームのスクロールバーに依存するだけだった
>>862
有用な情報乙
866.NET MAUI HighSchool (ワッチョイ df01-1zqz)
垢版 |
2022/12/13(火) 11:55:10.52ID:sdBWNgeV0
On.NETってすげぇよな
Udemyレベルの教材がタダだぞ
今You Tubeの翻訳機能死んでるから治ったら見る
867デフォルトの名無しさん (ワッチョイ 675f-5vlk)
垢版 |
2022/12/13(火) 14:04:44.98ID:Gkd3fRC50
ドボンとかいまだに見てる人いるんだな
868.NET MAUI HighSchool (ワッチョイ df01-1zqz)
垢版 |
2022/12/13(火) 14:07:59.99ID:sdBWNgeV0
>>867
たまに見てる
RegexMatchソフト使ってるよ
2022/12/13(火) 17:20:15.24ID:QGbg6PEir
>>867
だって検索してると出てくるし、よくまとまってるんだもんよ。
なんかいかんの?
2022/12/13(火) 17:26:57.08ID:iamWJdkQ0
さすがに古い
もうちょいアップデートしてればな
2022/12/13(火) 17:35:53.69ID:uYffxzwa0
今となっては古い方法ばかり充実しててもなぁ
全部が全部古い(もっと新しい方法がある)訳じゃないけど、初心者にはその見極めが出来ないから勧めない方が良い
2022/12/13(火) 17:50:31.73ID:Ms1x80wZ0
ネット上の情報も、更新日の新しいものだったらいいかっていうと、古いものを孫引きしてるだけだったりすることもあるからなぁ
873.NET MAUI HighSchool (ワッチョイ df01-1zqz)
垢版 |
2022/12/13(火) 17:52:48.66ID:sdBWNgeV0
>>872
あるあるw
2022/12/13(火) 18:02:15.95ID:eGU/4Dqsr
他に初心者に勧められるサイトはあるんか
2022/12/13(火) 18:07:55.22ID:Ms1x80wZ0
正直なところ個人的には、初心者はネット上で済まさずにちゃんと本買った方が良いと思う
なんていうと、どの本がいいのかでまたひと悶着だがw
876デフォルトの名無しさん (ワッチョイ 675f-3TNT)
垢版 |
2022/12/13(火) 19:27:23.23ID:F3XmmT6D0
第5版出たとこだし独習C#でいいんじゃね?
プログラミング自体初心者なら新・標準プログラマーズライブラリも悪くないと思う
どっちも細かい部分で説明気になる所はあるが
2022/12/13(火) 19:29:15.05ID:ABNjcxD20
難しい本だな
個人的には作って覚える系の本がいいと思う
unityでゲームみたいな本の方がやる気が出るんじゃないだろうか?
2022/12/13(火) 19:32:39.75ID:Rosh3bMe0
最初の一冊は基本概念と用語定義の正確性に特化した体系的な学習ができるやつがいいと思う
それが身につけば、ネットの記事も参考にできるようになるからな(参考にして良いいかどうかが判断できるようになる)

俺は独習C#使った
それなりに良かったと思うよ
2022/12/13(火) 21:03:43.96ID:meL+AHJk0
>>866
On,NETって、もしかして
https://www.youtube.com/watch?v=00enYc3V84A&list=PLdo4fOcmZ0oVlZCosDDwS9fkVtrLYxGt6

の事?
チラッと冒頭だけ動画見てみたが、機械翻訳が必要な程難しい表現は無かったけど。
YouTubeで自動音声認識で文字起こしされたものを機械翻訳したのは、音声認識の段階で高確率で間違ってるから、余計分からなくなるだけ。
慣れない内は難しいかもしれないが、これくらいの英語なら、翻訳無しで聞き取れるだろ。
「ファスタボー」 → 「first of all」
「レイボー」 → 「label」
「ウィーガナトーカバウッ」 → 「we are going to talk about」 
みたいに、カタカナ英語ばかり聞いてると、最初の内は聞き取るのが難しいとは思うけどな。
Apple公式サイトの動画なら、ちゃんと字幕起こしされてるから、そういうので英語字幕を表示させて英語のまま直接聞き取る練習はした方がいい。
880.NET MAUI HighSchool (ワッチョイ df01-1zqz)
垢版 |
2022/12/13(火) 23:12:14.06ID:sdBWNgeV0
>>879
それそれ!
881.NET MAUI HighSchool (ワッチョイ df01-1zqz)
垢版 |
2022/12/13(火) 23:14:11.06ID:sdBWNgeV0
ReactiveX勉強したかったから見たかった…
https://youtu.be/U-vznhAzSCo
2022/12/14(水) 01:16:46.59ID:Kld1dmXe0
横からだけど独習C#、幸いにも近くの図書館にあったから読んでくる
ありがとう
2022/12/14(水) 10:30:03.49ID:R3/45qGH0
アルゴリズムは頭の中だけでなく、視覚化が必要ですか?
頭がぐちゃぐちゃになるんすよ

フローチャートみたいなのは少し苦手なんですが
2022/12/14(水) 10:37:38.32ID:qCKaCA+pa
絵がないとぐちゃぐちゃになるなら必要なんじゃね
2022/12/14(水) 10:41:09.96ID:r7cuLH/s0
俺はコーディングする前はいつも流れを文章化して書き出してる
白紙に文字と矢印だけの簡易フローチャートみたいな感じ
2022/12/14(水) 10:46:07.02ID:qCKaCA+pa
データ構造じゃなくフローの話をしてるなら普通に関数分けしながら頭を整理すればいいじゃん
ローカル関数を使えば簡単に論理ツリーが構築できるからアイデアプロセッサ的な使い方もできる
2022/12/14(水) 10:48:00.67ID:R3/45qGH0
んー、じゃあ全ての機能を関数化して名前や役割を与える、ということですか?
それが図と似たようなものと
2022/12/14(水) 10:50:58.59ID:qCKaCA+pa
処理のまとまりとはっきり認識できるものは名前をつけるべき
他の人や数年後の自分のためにいちいち図を残しとくわけにはいかんだろ
2022/12/14(水) 11:01:06.80ID:H6Aj/5/Ga
ていうか名前だけでも良いくらい
2022/12/14(水) 11:03:01.19ID:qCKaCA+pa
ループを書くときも外側から順に書くやつ多いよな
あれは一番内側から書くんだよ
その処理を行うにはどういう情報が必要かを整理してそれを引数にする
処理をした結果どういう出力が欲しいのかを整理してそれを戻り値(必要ならタプル)とする
そうすれば関数が一つできあがる
あとはその関数に引数を与えて呼び出すだけだからループなりLINQなりメモ化再帰なり木探索なり好きなのを選べばいい
2022/12/14(水) 11:04:23.26ID:EUJoHYXL0
今どきはコメント書けば適当なループ処理までAIが補完してくれるぞ
2022/12/14(水) 11:11:37.68ID:M2KpFDpmd
>>890
そもそもそんな行き当たりばったりでコード書いてる時点で目糞鼻糞じゃない?
関数なんて最初に名前と入出力を決めたら中身は自ずと決まる
2022/12/14(水) 11:16:07.77ID:qCKaCA+pa
>>892
お前FizzBuzzを関数分けせず書くタイプだろ
後で修正が必要になったら全部読んでごっそり書き換えるわけだ
今は構造化のし方を書いてるがそれを設計段階でやるか実装時にやるかはその時の状況次第だ
アジャイルだとざっくり設計なんてザラにある
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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