reactの設計背景: 公開するAPIは最小限に -フレームワークを使わずにパターンを習得せよ– - 悠々自適
https://gyazo.com/a2fa0ca416be4ed340d4a401dc9a03e9
一般的には悪いプログラミングを指す「スパゲッティコード」 という用語を良いものだと主張する本セッションの核となっている話。しかし、常識を覆す内容で難易度が高い。Markbåge氏はFacebookで働いているだけでなくTC-39にも参加している平たく言えば世界でもトップクラスのJavaScriptプログラマーである。その氏がスパゲッティコードの方が良いと主張するから含蓄あるわけである。
出来の悪い抽象化するくらいなら何もしない方が良い
たくさんの抽象化されたコードの構造を分析して改修するより、たくさんの繰り返しが存在しているコードを相手にする方が与し易い
構造化されたコードよりスパゲティコードの方が優れている可能性がある
なるべくライブラリを入れずに、すべてのコード資産を持ち続ける
抽象化するときは、そのコストに見合う分だけのバリューを出せるように、さまざまなユースケースをカバーする一般化を行え
どれくらいの一般化かというと、標準化のドラフトに載せられるくらい
規模がデカい
標準として受け入れられないなら、追加する価値がない可能性があり、その価値を再考または証明する必要がある
新卒の会社のCTO(当時)が「プログラミング言語なんざ全部バイナリ吐くんだから一緒(意訳)」というようなことを言ってたことに通じる感じがする
個人的には、リーンスタートアップ的な考え方でいくと捨てる前提で高い抽象度のSaaSなりライブラリなりFWなりを使って、1秒でも早く世に出して PMF するまでやる、ってのがいいとおもうんだけどなあ なんらか動画に関わるサービスをやるぞ〜となってコーデック作るところからやりはじめたらさすがにヤバいやろ(上の話でいくと標準化されてるコーデックを使えって話なのはわかるけど喩えとして)