MapとforEachはどちらでもいい? Mapの方がスマート?

1週間ほど前のものですが、雑にまとめました。 だいたいの色の使い分けですが、赤が「どちらでもいい」、青は「mapが良い」、緑が「その他」です。
1
Ag+ @zayaku_fever

自分がレビューするなら、 return型が、 ・同じならmap ・違うならreduce ・voidならforEach 副作用を許容するならfor って説明するかな twitter.com/ayu_littlewing…

2023-01-26 19:46:52
あゆゆん♪ @ayu_littlewing

エンジニアちゃんたちがコードレビューで喧嘩してるから何かと思ったら、「オブジェクトの変換処理をforEachで愚直に書くよりMapで書いた方がスマートだ」とかそんなような話で、、、 「どっちでもいいわい!!」 スタイルガイドに明文化してないんだから、コードとして正しいのに趣味を押し付けるな

2023-01-25 16:56:36
ゆーいちろー @Yuichiro_S

mapで書くのが自然なところをforEachで書かれてたら意図あるんかなと思うのが当然だと思うが、普通にforループで書いたほうが分かりやすいって言う人もいるから時には諦めが肝心かなと思う

2023-01-26 19:47:49
びおるし / @SatanLucifera @V_Hamo

@ayu_littlewing 長年使いまわすなら検証とれてるやつで書くのがいいと思います。あとで問題が発覚した場合に修正が面倒ですから。また、より一般的な古くからのやり方で知ってる人が多く検証取れてると人材戦略に困りません。

2023-01-26 20:11:49
hara41 @hara41

他人のおすすめの書き方やると新鮮で面白いですよ。 自分の定石が増える感じがします。 twitter.com/ayu_littlewing…

2023-01-26 21:04:44
joker1007 (アルフォートおじさん) @joker1007

これはスタイルや好み以上の違いだと思う。自分でもレビューで指摘するだろう。メソッド名のエイリアスの違いとかならスタイルの問題だが、mapとforeachでは明確に意図の範囲が異なる。結果が同じなら良いってもんじゃなくて意図が明確で解釈を間違えにくいコードの方がより良いコードだと思う。 twitter.com/ayu_littlewing…

2023-01-26 21:14:06
くろぶち(KeytacK)🧭 @kur0buchi

map と forEach どっちでもいいわい!とか言い出すのは流石に事情聴取だな

2023-01-26 21:18:12
enum @enum

mapとforeachか。配列が欲しいならmap。そうでないならforeach使うかな。

2023-01-26 21:20:50
nannany @ym1990

これで1週間議論するとかは愚かだけど、imoとして指摘はするだろう twitter.com/ayu_littlewing…

2023-01-26 22:08:13

imoは、In my opinionですね

オブフレッド @offredRedCentre

forEachで空の配列にただpushしてるだけのコード見つけたらmapにこっそり書き換えてる🤭 twitter.com/ayu_littlewing…

2023-01-26 22:10:32
いしい @danimal141

スマートか否かみたいなふわっとした指摘もよくないし、一方で変換処理ならmap使うやろと思ってしまうなー twitter.com/ayu_littlewing…

2023-01-26 22:50:22
つねた @app_tune

見た感想。 「リプ欄がめんどくさい奴だらけ」 まぁワイなら「これでも全然オッケーなんだけど、mapってもの使えばシンプルに書けるよ!(FYI)」くらい言って終わりかな〜。 twitter.com/ayu_littlewing…

2023-01-26 23:37:27
ツナかふぇ@5年目フリーランスSE @tuna_caffeine

ガイドラインの有無にかかわらず、この指摘を素直に受け入れられないのはダメだと思うんだよなぁ。 ただ、これがプルリクで弾く対象なのか? と言われるとそうではない。コード的には正しいんだからprは通しつつも、レビュイーに旨を伝える。 「動いてるからOK」はエンジニアとしての素質が無い。 twitter.com/ayu_littlewing…

2023-01-26 23:51:29
かのう @GEN_KANO

mapとforeachに限った話しではないが、なんで似た構文があるのかを考えた方がいいですな。ただの後方互換なのか、明確に別の用途が想定されているのか。 ちゃんも言語の作者の気持ちを考えるんだぞ。国語の授業だぞ。

2023-01-27 03:32:21
さおりす@いつか道を極めし者 @saorisuganbaru

mapよりもリスト内包表記を使いましょう!ってなんかで見たけどどうなんだろう?(そこじゃない) twitter.com/ayu_littlewing…

2023-01-27 03:47:27
もづる @tm_cabasa

「mapとforEachは単なるたとえ」にしても、スタイルガイドに明示されてない書き方の違いこそ「本当にこれでいいんだっけ?」というところには慎重になりたいし、そこで議論深めて一定の結論が出せるのであれば、それはスタイルガイド更新のチャンスなんだよなあ。どっちでも良くはない… twitter.com/tm_cabasa/stat…

2023-01-27 06:31:07
もづる @tm_cabasa

mapとforEachで「どっちでもいいわい!」なことのほうが少ないと思うんだけど、わたしが口うるさいのか???

2023-01-26 11:44:53
🐤🐤🐤 @kishisuke

そりゃ、mapとforEachが標準で使える言語なら、mapを使うように指摘するかな。読みやすくするための指摘なので、趣味ではない。 喧嘩することではないけど。 twitter.com/ayu_littlewing…

2023-01-27 08:24:19
メイプル @mapleLeaf0888

map VS foreach論争見てて楽しい

2023-01-27 11:10:27
manojun51 @manojun51

@ayu_littlewing スマートというか、あとあとパフォーマンスに響くとか時に愚直に書かないとコーディング遅くなるとか現在から将来までいろんなメンバーが参画しての保守性とか個々人の懸念あっての良いレビュー議論と思います。レビュー担当のスマート君がスマートキャラか否かはしらんけど!#git

2023-01-27 15:23:09
メイプル @mapleLeaf0888

@shino65536 なんと言うか言語もバラバラなせいで論争が激しくなっているような… ワイだったら変換先が一つならmap使って欲しい。foreachでmapと同じ事すると副作用があるはずですし 複数あるならforeachの方がパフォーマンス良いのでそちらでもいいかなーと言う感じです ちなみにJavaの話です

2023-01-27 17:55:07
メイプル @mapleLeaf0888

@shino65536 JavaScriptのmapは使用した記憶がないので、Javaと同じかはわからないです( ;∀;) filterとforeachは同じなのは知ってます。 あとsomeはJavaでいうanymatchだから、大体同じな気はしますが…

2023-01-27 18:03:52
ちぇっちぇ @Chen__TS

foldで良いと言えば良いのだけどforeachの代わりにmap使ってるような違和感がある

2023-01-27 20:31:12
イネーガァ @xo_answer

無人航空機の飛行記録。 結局地図クリックからの位置取得がベターで、 現位置取得もその一貫でやればいい。 しかしモバイル版Google Mapは位置情報をクリックしようとすると住所に変換してしまう。 これはクリックするとき通信をきれば防げるがスマートではない。 国土地理院の地図が現状良い。

2023-01-27 23:15:19
Shotaro Ozawa @shzawa

forEachの中のawait式がガン無視される処理の書き方、mapならPromiseインスタンス返すからそれをPromise.all()で囲ったらって思ったけど冗長なだけでした

2023-01-27 23:42:43
ユウキ(ruby jubilee) @DESTiNATiON_03_

日本人のレスポールカスタムプレイヤーと言えば鮎川誠さん。 世代ではないしYouTubeとかで過去の映像を見た事ある程度だけど…歳とってもロックンローラーだなと思っていた。 ボロボロのレスポールカスタムとスマートな鮎川さんがスゲェ格好良かった。 あんな風に歳取りたいな。

2023-01-30 21:51:57