スレ立てるまでもない質問はここで 159匹目

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2022/02/12(土) 22:44:40.76ID:AqYcq6TN
この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。

【前スレ】
スレ立てるまでもない質問はここで 158匹目
https://mevius.5ch.net/test/read.cgi/tech/1635193843/
次スレは>>980が立てること
2022/02/17(木) 13:47:43.40ID:w7EzsrTp
>>72
Ruby でも、RDoc, YARD など、独特なDocコメントの書き方がある。
この書き方に従っていれば、自動的にHTML が作られる

だから試しに、HTML化してみればよい
2022/02/17(木) 13:48:28.02ID:qBe0MRdC
ケンタッキーフライドチキンのことかと思ってたわ
76デフォルトの名無しさん
垢版 |
2022/02/17(木) 14:21:02.23ID:mh7hh8Ly
SAS使ってる企業って少ないのかなあ
Udemy探しても英語の講座しか出て来ない
2022/02/17(木) 22:02:22.88ID:hx7Q8l3q
SASみたいな高いツール使うなら正規のトレーニング受けるだろ普通。
78デフォルトの名無しさん
垢版 |
2022/02/18(金) 00:15:18.87ID:IUsBTv1F
テストコードがなくてPHPとFWのバージョンが古い
クソコードだらけの状況から逆転する方法ありますか?
2022/02/18(金) 00:16:03.21ID:2Ob0o69G
逆転する意味ある?
手間がかかる=稼げる、だよ?
2022/02/18(金) 00:30:22.34ID:qZSzRw8s
バージョンが古い時点で古い環境を捨てる気がないから無理じゃろ
2022/02/18(金) 00:34:52.33ID:IUsBTv1F
>>79
なんでこんな修正も出来ないんだ!って怒られる
そして、稼げないw

>>80
無駄に慎重でバグには異常に厳しい
この状況だとやっぱり厳しいですか
82デフォルトの名無しさん
垢版 |
2022/02/18(金) 00:57:02.11ID:NG7rOjYN
古い体質の会社なんでしょ
踏み台にして転職の1手
2022/02/18(金) 05:37:11.37ID:YI0dSge1
スタティック変数って多いとメモリ食うの?
2022/02/18(金) 05:59:36.30ID:AKyBDynF
>>83
static であろうと auto であろうと
2022/02/18(金) 06:02:47.93ID:k4bZDTy8
環境のバージョンが古いのはどうしょうもないんだろうけどテストコードは書けばいいだけじゃねーの?
バグには異常に厳しいんならなおさら
867
垢版 |
2022/02/18(金) 11:01:28.89ID:tiifqQ9V
>>73
に書いたように、

Ruby on Rails の初心者コースには、CI/CD も含まれている。
CircleCI, Github Actions で自動テストして、Heroku へデプロイ。

初心者は皆、この方法。
出来る香具師は、AWS Fargate, Terraform

BDD/TDD のRSpec では、ソースコード自体が仕様書になっている。
自動テストでは、仕様をチェックする
2022/02/18(金) 13:44:27.70ID:y8iEh81v
クソコードだらけだとテストコードなんて書けないからな
88デフォルトの名無しさん
垢版 |
2022/02/18(金) 17:40:22.12ID:sHuFzTSW
RでCSVファイルからグラフを書こうとしています。
列名に+やー(Hoge-1的な)がある場合にsummariseなどがエラーになってしまいます。
列名を変える以外で正しく列名を認識させる方法はあるでしょうか。
2022/02/18(金) 19:53:43.34ID:2yv+zKRk
Rエアプだけど列名が数式扱いされてそう

1行目だけ文字列として取得するモードないんか?
2022/02/18(金) 20:16:11.13ID:91Y1b9Df
読み込むときにcheck.names=FALSEじゃね
2022/02/18(金) 21:51:42.06ID:e8a3Yeks
Ruby on Railsなんて使ってるの今日日クソシステムしかねえだろ
2022/02/18(金) 22:52:16.78ID:10LPkysZ
2022/02/19(土) 22:36:43.10ID:vZO0UwmG
友達からプログラマーになったらデータをDBに出し入れすることに人生を注ぐことになるよ

と言われたのですが、そうなのでしょうか?

もっと魔法を扱うような仕事だと思ってたので本当だとしたら少し悲しいです
2022/02/19(土) 22:51:14.71ID:x/upE6G9
まあ今どき組み込みでもDB使ってたりするから友達の言うことは概ね正しい
魔法を扱うような仕事したいならGoogleとかに就職して人工知能関係の仕事するとかかな
2022/02/19(土) 22:58:33.01ID:lqH+muYT
>>93
概ね2通りです
DBにデータを出し入れする処理を作る人達
その処理を呼び出すUIを作る人達
それ以外もいますが少数派です
2022/02/19(土) 23:52:14.83ID:jpHr6Fw9
あとはセキュリティとかグラフィックスとかいいんじゃないかな
センスがあればいける
2022/02/20(日) 03:34:44.22ID:X6V97+A2
AWSは1年間タダで使えるからAWSの勉強(!?)とLinuxの勉強が併せてできるぞ
ボタンクリックするだけでサーバが立てれるのは感動したもんだ
98デフォルトの名無しさん
垢版 |
2022/02/20(日) 09:31:35.45ID:TPBxANJB
私はこれまでプロパティという概念とメソッドという概念を
クラスの中の変数宣言とクラスの中の関数宣言と理解してきました。

ところがJavaScriptを学ぶ中でこの理解を覆す概念で出くわしました。
それらがデータプロパティとアクセサプロパティです。
アクセサプロパティというのはゲッターとセッターを指すのだそうですね。

ゲッターとセッターはクラスの中の関数であるはずなのに
プロパティと名づけられたことで混乱しています。

私がこれまで理解していたプロパティとメソッドの区別は間違っていたのでしょうか。
2022/02/20(日) 10:50:48.81ID:M64rHYnp
大きな誤りは「呼び方」に拘ってる点だな
ネーミングなんて細かいこと気にすんな。そんなのどうでもいい
getter=classの中の変数値を取得するための関数
ってなるだろ
2022/02/20(日) 11:05:45.11ID:uUEkIMOM
>>98
プロパティの読み書き時に何らかの処理をすることができるようになった
って思えばいいんじゃね?
2022/02/20(日) 13:09:01.63ID:UatLedwh
Javaにプロパティはないよ
クラスのメンバ変数をプロパティと捉えるのは間違い
せいぜい文脈によって広義に許容される程度
Java7の頃に言語仕様に追加する議論があったんだけど、JavaBeans仕様のgetter, setterが長年プロパティ相当の役目を果たしてきたので、もうそれでええやんとお蔵入りになった

プロパティってのはそのオブジェクトの属性
この属性っていうのは実装面での話よりもやや論理的な概念
プロパティの値を聞かれたときに内部の変数の値を返すのが最も一般的なパターンだけど、別の変数の値を演算してから返してもいいし、データベースから値を問い合わせてから返してもいい
値を要求した側から同じようにアクセスできる属性なら何でもよくて、それが変数なのかそうでないのかは内部実装としてカプセル化されることこそがプロパティの特徴

JavaではhashCodeというObjectの属性がメソッドとして提供されているけど、こういうのは本来プロパティがふさわしい
2022/02/20(日) 13:10:18.43ID:UatLedwh
おっとJavaスレじゃなかったか
10398
垢版 |
2022/02/20(日) 14:30:27.02ID:TPBxANJB
お答えくださった皆様、ありがとう。大変勉強になりました。

>>101
なるほど、そう考えると整合性がとれますね。
104デフォルトの名無しさん
垢版 |
2022/02/20(日) 14:59:19.23ID:Lu49ev44
>>93
いやプログラマーになったらモテるからチンコをマンコに出し入れすることに人生を注ぐことになるよ
2022/02/20(日) 15:32:02.85ID:vRC3RkLD
DBの仕事は必ず仕事が収束するから精神的に楽なジャンル。わりと計画通りに進行しやすい。仕様変更もたかが知れてる。
いちばんキツいのはGUIギミックなどデザイン分野。ちまちま積み上げたものが全部パァになってやれセンスがないだの遊び心だの固い柔らかいだの抽象的デバッグが永続する。
リリース後もずっと言われ続ける
2022/02/20(日) 15:49:47.90ID:jGf7xG/B
個人的には後者の方が楽しそうに思えるんだが
2022/02/20(日) 15:57:15.34ID:pLdoUJHG
楽しいと楽(らく)は字は同じだけどベクトルが違うからね
2022/02/20(日) 15:57:42.70ID:YMeF5ZiJ
DB系のレビュー「ここの処理はこうした方が負荷が少ないと思うから修正してもらえる?」

画面系のレビュー「うーん、なんか『違う』んだよねぇ〜wちょっとこの辺見やすいように修正してもらえる?」

どっちの仕事がしたい?
2022/02/20(日) 16:05:45.12ID:uUEkIMOM
ああ~、やっぱり前の方がマシだったな、戻してこの部分の操作をいい感じにして…

う~ん、ここは1週間前のほうが良かったな、全部元に戻して初めから考え直そう…

賽の河原w
2022/02/20(日) 16:06:31.52ID:vRC3RkLD
デザイン分野は、下っ端のシロートでも全員バラバラに好きな意見を言ってくる。しまいに社長の意見で全部ひっくり返る。
こないだのヒカルの焼肉屋みたいに、空中分解してしまう。
2022/02/20(日) 16:20:05.56ID:jGf7xG/B
DB系のレビュー「なんか遅いから速くしてくれない?」

これは嫌だw
2022/02/20(日) 16:38:46.48ID:uUEkIMOM
>>111
そう?
まあどこがどう遅いのかとかどこまで速くすればいいとかを打ち合わせる必要はあるけど、そこら辺が決まれば改善提案はできるだろ
2022/02/20(日) 16:56:03.62ID:M64rHYnp
DBもUIもそれ以外も同じ
あとからああしろこうしろと変更入ることよくあるし
その対応終わったと思ったら、ひっくり返ってもとに戻すなんてよくある
2022/02/20(日) 21:13:51.71ID:7E+ac04f
>>110
社長「今運用してるDynamoDBでコレコレをLIKE検索できるようにしてくれや」
「もう顧客にOKしといたから明日までにやっとけ」
2022/02/20(日) 21:42:13.74ID:uUEkIMOM
>>114
そういうのはまた別な話
2022/02/20(日) 21:45:47.25ID:7E+ac04f
>>115
社長「は?DBならLIKE検索なんてすぐだろ」
「ついでにカラム増やしてほしいんやインデックスつけて」
2022/02/20(日) 22:04:23.11ID:uUEkIMOM
>>116
社長/上司/営業とエンジニアの軋轢の話はまた別
2022/02/20(日) 23:13:47.64ID:YMeF5ZiJ
つーか社長がそこまで技術的な部分に介入してくる会社の時点で地雷だろ
DBとかUI以前の問題
2022/02/20(日) 23:58:04.82ID:ws7MjhS+
思いつきをいうステークホルダーが一人だけでしかもある程度技術に興味があるなら時間を惜しまず説明すればいけそう
2022/02/21(月) 07:46:59.41ID:Gf4lGfIx
>>119
> 「ある程度」技術に興味がある
それ最悪やぞ
中身をよくわかってないのに思いつきでこうした方がいいとか言われて内心「それもう検討してダメってわかってるのに…」と思いつつ説明すると、いやこうすればいいだろって頓珍漢な代案出されて…
2022/02/21(月) 08:37:03.80ID:yf+sDODq
経験豊富なおれがいちばん大変だったのはコレ!って愚痴りたいまつり
2022/02/21(月) 08:39:06.68ID:lE+t15Lw
>>118
技術的な問題だから変更できない
なんて言う会社は外部から見ると無能の烙印押される
GAFA級にならないと
2022/02/21(月) 10:20:49.12ID:1BCnZvzG
おまえ(客)が金出さないからできないんだよ、よりも技術的な問題でできないんですの方が話がスムーズに進むんだよ
こっちが悪いと思ってなくてもすみませーんと謝るのと同じ
言葉通りに受け取るなって
2022/02/21(月) 10:36:05.50ID:g+AbY5XQ
>>120
これから先の世代の日本ではそういうお客様が爆発的に増えるだろうね
義務教育で中途半端に教えちゃうもんだから
2022/02/21(月) 13:12:10.99ID:hZ56K44U
>>122
いやそういう話じゃねーよ
社長がカラムやらインデックス云々言ってる時点で論外なんだよ

社長がやるべき業務は経営であって、そんな下流工程に気をつかうほど規模が小さい会社にそもそも入るべきじゃないってこと
2022/02/21(月) 13:20:58.55ID:hmj3zREZ
>>125
社長「実は先週から提携した顧客がいてまあまあ大手なんだがカラム追加して検索できたらうちのサービス利用してもらえるって言われたからすでに契約済みなんだよ」
「経営判断だからよろしく」
2022/02/21(月) 13:30:17.42ID:nzHPNFSp
検索用の読み取り専用RDB用意するだけだろ?
2022/02/21(月) 13:55:35.93ID:hmj3zREZ
>>127
社長「明日まで対応だからな。追加予算なんてない。そもそもカラム追加になんで検索用とか必要なんだよ!?俺が知らないと思ってバカにしてんのか!?」
2022/02/21(月) 14:40:04.74ID:EnKPT8cD
仕様変更、仕様の追加は別予算
これは社内、客にも徹底してもらわないと
2022/02/21(月) 15:25:09.72ID:hmj3zREZ
社長「そんな細かいことまでやってたら客を逃すんだよ!誰がお前の飯代払ってると思ってんだ!?いいから今すぐやれ!」
2022/02/21(月) 15:37:24.76ID:yoPE59bl
脳内社長のお人形遊び楽しい!w
2022/02/21(月) 22:30:28.08ID:isLiSRno
完全に0からゲームを作る場合はRPGツクールのような管理画面的なものから作り始めるのでしょうか?

それとも無の状態から1つずつ積み上げていく感じですか?
133デフォルトの名無しさん
垢版 |
2022/02/21(月) 22:40:28.89ID:ytqVjd2E
開発規模と経験と実績から自明
素人が無から手を出すならとりあえず書き下ろしで駄目になるとこまで書いてみよう
134デフォルトの名無しさん
垢版 |
2022/02/21(月) 23:58:22.13ID:NNYD5t07
動的なウェブサイトを作りたいということもあって、
JavaScriptの入門書(独習 JavaScript 新版とかいう本)を読んでいるのですが、
難しい上に長いから全然読み進められないのですが、
もっと良い感じの本は無いのでしょうか?
あったら教えてほしいです。
あと、やっぱりプログラミングの入門書は、最低一回は全てのページを読み終えた方が良いのでしょうか?
それとも、必要に応じて必要な箇所を見ながら実際にプログラミングをしていくという方が良いのでしょうか?
回答よろしくお願いします。
2022/02/22(火) 00:55:09.10ID:gr38xJ4b
作るのが目的なら本は検索のためのキーワード抜き出しに使う程度でいい。読む必要なし。ぐぐりながら作れ
2022/02/22(火) 02:13:21.92ID:1HzLyYNk
何が難しかったのかわからんと答えようがないな
いきなり本買うんじゃなくて立ち読みで狙いに合ってそうか確認しなよ
2022/02/22(火) 06:38:44.59ID:am1CpfzL
>>134
その本は捨てるか売っていい
どうせ読まないだろ

全て読めば動的サイトが作れるようになるわけではない
やりたいことをググりながら似たことを説明しているサイトを参考にして実現していく
それを繰り返していくこと
2022/02/22(火) 08:57:53.94ID:3U05PTVk
プログラマーが読むべき本ってリーダブルコード以外にありますか?
技術的な本は専門的なことじゃない限り公式リファレンスとかで十分な気がしてあまり読む気がおきません
2022/02/22(火) 09:47:20.11ID:AiPUeoxY
読む気が起きないなら読まなきゃいい
2022/02/22(火) 12:05:41.84ID:PJNd20tl
Code Complete
2022/02/22(火) 12:34:42.18ID:ysWljmej
>>134
ブラウザを作っているプロなどは、2冊のサイの表紙のサイ本を読む。
プロ用の本だから、Ruby の数倍も難しい。
10年ぐらいの歴史の変遷を追っかけるのが大変

初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017

ES3 とか、古い規格には皆、苦しめられてきた。
JavaScript 第6版、2012、David Flanagan

だから、jQuery, Type Script, Coffee Script など、無数のAlt JS が作られた。
JavaScript でプログラミングするのが非常に難しいから

可読性が悪くて、バグが多いから
2022/02/22(火) 12:51:31.55ID:hpMnYFXb
サイ本は7版が最近出たぞ
2022/02/22(火) 15:11:04.16ID:wBV0PE3F
継承が良くないとよく聞くが何が良くないんだ?
継承をやめた結果がtypeプロパティによる条件分岐ではむしろ悪化してない?
2022/02/22(火) 15:16:17.31ID:UezYZR62
>>143
継承は難しいから
階層が深くなるとまた苦しい
最初のクラス設計時に将来の拡張まで考えたカプセル化等のデザインを考えるのも難しい
型で分岐はアホの極み、悪化してる
そうじゃなくてhas-aの委譲や関数型プログラミングで対処する
2022/02/22(火) 15:26:36.59ID:wBV0PE3F
>>144
継承をhas-aで解決できるとは思えないんだが…
解決できるとしたらそれはモデル設計が最初から間違えていただけでは?
関数型でやろうとするとtypeでの分岐にならん?
似たようなのでパターンマッチというのも最近は目立つようなってきたけどこれもtype分岐が複雑化しただけ
2022/02/22(火) 16:14:07.81ID:8ePuCs7J
愚痴ってるヒマがあるなら言った仕事をちゃんとやれ
2022/02/22(火) 16:57:29.98ID:mb+8cMlg
>>145
継承するにしてもオブジェクトを最初に生成するタイミングでは具象クラス名を書く
このときに依存性やストラテジを注入すれば継承に限らず多態性を実現できるよ
2022/02/22(火) 17:19:43.47ID:wBV0PE3F
>>147
それは仮想関数テーブルを自前実装するようなものでは?
2022/02/22(火) 18:57:12.23ID:VUFBPNtu
>>148
大仰な仕組みのいらないごくありふれたデザインパターンだよ
2022/02/22(火) 19:00:06.74ID:VUFBPNtu
書き込むたびにID変わるのなんでだよ楽天さんよぉ
2022/02/22(火) 19:00:27.47ID:VUFBPNtu
お、変わんなかった
2022/02/22(火) 19:41:34.73ID:fgsAKQYY
>>149
ストラテジは動的にストラテジを切り替える場合(例 :設定値による切り替え)や
アルゴリズムの枠だけ用意してストラテジを利用者に選ばせる(例:map, filter)場合
に使うパターンであって継承とはまた違うものですね

継承の場合は業務をモデル化したときに静的に関係が決まるのでここにデリゲートをかまして動的にする意味はないです
普通に仮想メソッドでいいでしょう
2022/02/22(火) 19:43:13.61ID:qcDIuRpU
継承が良くないとよく・・・聞かないぞw
ケースバイケースだろ。なんでそこで使うんだよって良くないのはあるけど
2022/02/22(火) 19:47:41.41ID:fgsAKQYY
>>153
TypeScriptに関わると継承憎し、クラス憎しな人が結構な率で現れますよ
2022/02/23(水) 02:58:54.87ID:2ldPnMFv
すいません。初心者です。超初歩的な質問で恐縮です。例えば↓
void draw() {
if(cam.available() == false) {
return;
}
cam.read();
image(cam, 0, 0);
} というプログラムがあるとします。
この{}の次に「改行して書くやり方」が「生理的に受け付けないくらい気持ちが悪い」のです。これを↓
void draw() {if(cam.available() == false)
{return;}
cam.read();
image(cam, 0, 0);}
のように「ギッシリ詰めて書く」という事は可能でしょうか?
詰めて書いても実行に何の問題も無いですか?
生理的な問題で「ギュッ」と纏まってないと落ち着かないのです。
「人に見せる時に読みにくくなる」等の問題もあるでしょうが、動作に支障ないなら独自路線で頑張りたいのですが。
2022/02/23(水) 03:44:54.50ID:obqtoF8C
言語によるけどその言語(c#?)ならたぶん問題ないよ。改行なんて全部消して一行で書け
2022/02/23(水) 05:32:59.83ID:QMvGYxPa
良いんじゃね。
Pythonはインデントでたまにがっかりするが。
2022/02/23(水) 06:01:46.48ID:KFI2d+fo
人に見せる機会があるなら普通の書き方した方がよくね
まぁ仕事じゃなくて趣味の範囲ならどうでもいいけど
2022/02/23(水) 06:03:32.11ID:8XUT1BDs
趣味の個人開発ならアリだけど業務開発とかideの手助けを受けるなら苦労しそう
2022/02/23(水) 06:32:30.27ID:2ldPnMFv
>>156
ありがとうございます。丁度C#をやろうと思っていました。
本音を言えば「一行で書きたい」と思っていたので正に思っていたことをおっしゃっていただきありがとうございます。

個人的にゲームを開発し、人に見せる気は無かったのでこれでいこうと思います。
皆さん、ありがとうございました。
2022/02/23(水) 11:59:23.57ID:FxZT1eeT
8ビットPC時代の一画面プログラムかよw
2022/02/23(水) 12:23:25.05ID:PDfOakC2
無駄な空白も消してみんなぎゅっとしよう
void draw(){if(!cam.available()){return;}cam.read();image(cam,0,0);}
密だっていいじゃない
文字だもの
2022/02/23(水) 12:40:34.18ID:PssNo99E
1文で書けるなら改行なしでも違和感ないけどifとかwhileの制御構文が入ってくると可読性がヤバくなるからおすすめしない

どこまでのコード量なら1行に詰めるか自分用のルールは決めといた方がいい
2022/02/23(水) 13:58:35.34ID:wKfqGXJ0
Ruby on Rails の単一テーブル継承・STI(Single Table Inheritance)は有名。
主に、検索の利便性

例えば、会社・家表に、同じ住所項目がある場合、
住所表を作って、住所表から会社住所表・家住所表を継承させる

HomeAddress < Address
WorkAddress < Address

Railsが裏側で、住所表のtype 列が0 なら家・1なら会社と切り替える。
会社住所表・家住所表という実体はなく、住所表しか存在しない

会社住所または家住所が東京にある、顧客を検索する場合、
住所表1つだけの方が、検索性能が良い
165デフォルトの名無しさん
垢版 |
2022/02/23(水) 15:24:31.88ID:byGXC1Fx
なんかWEBサイトのjsみたい
2022/02/23(水) 15:33:38.24ID:wNcLFBxP
人に見せるときはフォーマッターを使って
人が見やすいように整形すればいいだけじゃないの
2022/02/23(水) 15:40:53.71ID:n4QLtIZ7
整形するなら高須クリニックみたいな所に通わないと
2022/02/24(木) 05:18:58.15ID:jcAfJg3X
新卒2年目のプログラマです

ループ処理を行う場合、基本的にforeachを使っているのですが、カウントが必要な単純なループでforを使った所
先輩からカウント用の変数を用意するかselectメソッド(c#です)を使って全部foreachで統一してと言われました
(コーディング規約にあるわけではないです)

わざわざカウント用の変数を用意するのも、速度的にfor使用時より遅くなるselectメソッドを使用するのもなんだかスッキリしないなあと思っています

他の現場を知らないのですが、これは開発の現場では当たり前の事なのでしょうか?
ちなみに皆さんはどうされていますか?
2022/02/24(木) 09:31:43.11ID:ycqMJ20y
理不尽なことを押し付けられるのは当たり前によくあること
いちいちなぜなのかとか逆らったりするのは労力の無駄
2022/02/24(木) 09:43:15.52ID:pVKiKajR
ケチ付けられたらコードを晒してくれなくちゃパイセンの擁護は出来ないな
2022/02/24(木) 09:57:04.10ID:5EPKB3Xk
思ったならその場で言えば良かったじゃん
何も言えず掲示板で愚痴った時点でこの勝負はお前の負けや
2022/02/24(木) 12:04:16.87ID:82W7j8jp
Ruby では、繰り返しにindex や、蓄積変数を付けたものがある。
または、each に付ける事もできる

つまり、書き方が決まっている

ary = [ "a", "b" ]
ary.each_with_index do |element, index|
p "#{ index }:#{ element }"
end

出力
"0:a"
"1:b"

ary = [ "a", "b" ]
# 初期値は1
ary.each.with_index( 1 ) do |element, index|
p "#{ index }:#{ element }"
end

出力
"1:a"
"2:b"

同様に、蓄積変数を付けたものもある。
each_with_object( obj ), with_object( obj )
2022/02/24(木) 12:31:55.94ID:D9/QhxEj
>>168
ここは技術板だから「先輩にどう対応したらいいか。プログラマ業界の他の職場ではどうなのか」って話は板違い。プログラマ板へどうぞ
2022/02/24(木) 12:33:04.26ID:2qhRGcQ8
>>168
頻出パターンだから拡張メソッドで一般化しておくのがいいと思う
foreachでカウント用の変数を都度用意してたらcontinueとかでバグる可能性もある
forの場合は将来的に要素へのindexアクセスが変な形で拡張されたりリファクタリングの妨げになる可能性がある
(メンテする技術者のレベル次第)

public static IEnumerable<KeyValuePair<int, T>> Enumerate<T>(this IEnumerable<T> collection){
int index=0;
foreach (var item in collection) {
yield return new KeyValuePair<int, T>(index++, item);
}
}

foreach (var (i, v) in foo.Enumerate()){

}

↑この拡張メソッドの場合はTがintの場合に(i, v)を(v, i)と勘違いしてバグる可能性はある
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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