それ、もっとスマートに書けるよ - JavaScript コードをもっと短く、もっとシンプルに書く Tips 4選 __ Speaker Deck
2017/10/08 04:21:44
umai_bow
フロッピーディスクをまだ使っている現場もあるんですね
2017/10/08 05:02:11
rhutaba
コード量は減るけど解読に時間かかるように見えるなぁ。コードを見て素直にシステム仕様が理解できる作りになってることが何より大事で、あえて素朴に書くことも大事だぞー
2017/10/08 05:14:24
megazalrock
基本的にビット演算子はビット演算以外に使うべきではないと思うな。特に論理演算では1つのミスの影響が大きいので、可能な限り自明なコードにするべきだと思っている。場合によっては別途変数にぶち込むまである。
2017/10/08 06:01:13
new3
ブコメで総叩きになりそうな気がするけど、プログラマ歴1、2年ぐらいに誰もが通過する点かと。ここで一度リーダブルコード読んでおきたい。既読なら"リーダブル"とか"シンプル"について誤解しているので読み直したい
2017/10/08 06:18:26
R-H
チルダと||に関しては、短く書けるけど絶望的に分かりづらい
2017/10/08 06:48:29
hatsu_mi
これはあかんやつでは、、、
2017/10/08 07:00:38
turanukimaru
即時関数は大体の場合普通の関数にして名前つけたほうが分かりやすい。たとえ一回しか使わなくてもだ。あとreduceは色々使い出があるのでむしろreduce特集とか見たい。
2017/10/08 07:11:10
pokochinista
短くても理解に時間がかかるならそれはスマートじゃない
2017/10/08 07:11:13
hkmn
js界隈はほんとリーダブルコード読んだほうが良い人多すぎな印象 それか他の言語も触れたほうが良い
2017/10/08 07:21:16
teruroom
なんかこれじゃ無い感。
2017/10/08 08:38:22
surume000
reduce以外読みづらくなっててうける。短くすればシンプルになるというわけではないよ。
2017/10/08 09:18:01
kijtra
どうせコンパイラ通して圧縮するのに、可読性捨てて無意味にワンライナーにしたりする人わりと多いかも。
2017/10/08 09:19:13
yasu-log
若武者先生の資料。参考になる
2017/10/08 09:25:57
nilab
シンプルかなぁ・・・自分だったらわかりやすい関数を自前で用意するとかかな。「2017年10月6日『まぼろしのJS勉強会 #1 「ナウいJSの書き方・考え方」』にて発表した資料です」
2017/10/08 09:30:30
Rishatang
えぇ…これ大真面目に良いコードだと思っているなら絶対に一緒に働きたくない
2017/10/08 09:40:47
cocoasynn
タイトル読んだ時点でバチバチに叩かれそうと思ったけど案の定だった。
2017/10/08 09:59:33
ardarim
スマート=俺ちょっとJSには詳しいんだ、的な意味かな? 可読性は悪い。
2017/10/08 10:21:02
m_m3zono
ネタかな?
2017/10/08 10:23:09
otherworld
判定方法より3回判定を繰り返してる事が辛い。Array.prototype.someなどを使ったほうがよさそう。/lodashなど使って1行forEachを挟めばいいかと/ constと3項演算子でよさそう / reduceの中で副作用を起こさない(accを破壊してる)
2017/10/08 10:23:52
ku__ra__ge
可読性を犠牲にして、コードを短くすることはスマートとは言わない
2017/10/08 10:27:02
yuukisakura
/iPhone|iPod|iPad/.test(ua)
2017/10/08 10:29:22
nice_and_easy
ぼくのようなJS初学者でもサラサラ読めるコードがいいなあ。言語の特性を知り尽くした人しか読めないレベルの「シンプルさ」はただのオナニーだと思うよ
2017/10/08 10:36:12
hit-the-light1326
中二ならぬ業ニ(業界二年目)コードという言葉を思いつきました
2017/10/08 10:52:37
bkios
リーダブルコード読んだことないのかな。Twitter見てもまだどこが駄目なのか理解してないみたいだが、社内に指摘してくれる人いないのかな…。エンジニアとして成長したいなら転職するか素直に勉強した方が良いよ。
2017/10/08 11:19:23
fuji_haruka
チルダ演算子のアレはまあイディオムみたいなものだね。僕は使わないけど、時々見かけるから読めたほうがいい、みたいな。
2017/10/08 11:36:56
sibukixxx
スマートバカ
2017/10/08 11:36:57
htnmiki
情報を発信するとさらにいい情報が舞い込んでくるという素晴らしいエンジニアだ
2017/10/08 12:06:34
diveintounlimit
スマート(量的な意味で)
2017/10/08 12:24:12
Nfm4yxnW8
リクルートマーケティングパートナーの人なのか。会社の人に見てもらったりしなかったのかな?/twitter見たら「あっ。。。」って感じだった
2017/10/08 12:54:37
wbbrz
ブクマのほうが勉強になりそう
2017/10/08 13:10:03
a-kuma3
「バッドノウハウ」っつうんだぜ、そういうの/ UA のやつは、こうかな。const is_iOS = /iPhone|iPad|iPod/.test(navigator.userAgent);
2017/10/08 13:27:24
teto2645
ないわー。スマートを履き違えてるわー。少なくともこんな人がドヤってきたら冷静にはおられんわー。
2017/10/08 13:31:08
regularexception
新卒が、同期に自慢している くらいの内容
2017/10/08 14:29:32
kencharos
知り合いにこれと全く同じテクニックを使う人がいて頭を抱えているのだけど、出典とかあるのかな?
2017/10/08 14:38:36
hinaloe
バッドノウハウが(逆転して)詰め込まれてる……
2017/10/08 14:55:27
Chinosoko
"スマートに"の意味を真剣に勘違いしてる可能性。「iOS判定のコード」でArray.prototype.indexOfを使っていると誤解している→内容を理解せずにコピペした可能性。ここら辺は真に受ける人が多いと害があるので見過ごせない。
2017/10/08 15:09:24
keim_at_Si
ワンライナーにしても中途半端だなー。
2017/10/08 16:08:30
tuki0918
ややこしそうな所は関数にしてもらって短くわかりやすく書いてもらえばそれでいいよ
2017/10/08 16:21:34
nozipperar
1ページの情報量が少なすぎる スライドショーではなく普通に書いてくれ
2017/10/08 18:57:50
shibamu
リクルートマーケティングパートナーズってイマイチぽいという印象を持ってしまうな
2017/10/08 20:31:32
tilfin
includesメソッドを使う。例の分割代入なら const [foo, bar] = の方がシンプル。
2017/10/08 21:27:32
joe-re
個人的には~以外は普通に読みやすいと思うんだけど。。ブコメで叩かれてるけど、そんなに叩くような内容かなー。自分が外れ値なのかな。。
2017/10/08 22:01:03
uzimith
navigator.userAgentの返り値がStringなんですがそれは
2017/10/08 22:53:09
mt_hodaka
イミュータビリティ考えてconstにしたい気持ちはわかる。そもそもスコープが広すぎることが問題な場合が多いけど
2017/10/08 23:19:24
tyru
「プログラマのはしか」に罹ってるコードがいっぱいある…
2017/10/08 23:42:11
delphinus35
書いた人のTwitter見て「あっ……」ってなった。
2017/10/08 23:53:01
digo
こういう人がgoやったら発狂しそう
2017/10/09 07:12:40
kibitaki
痛い記法多い。指摘にはtwitterで顔赤い。~の件は本で殴りながら!使うように矯正 /↑ビット演算out論理否定で明示て話で式立ててないけど何が見えてるの?何でもコピペで生きてる人?可哀想にお薬ないけど++あげるね
2017/10/09 09:19:34
quwachy
id:kibitaki それだと途中に出てきたときに誤判定するだろうが、変な書き方するからこんな馬鹿まで出てきたぞ。(やりたいのは-1=>falseそれ以外=>trueの変換つまりx!==-1)ブクマは善悪は兎も角あってはいる。お前のはバグ