鍵となる考え:最も読みやすいコードは、何も書かれていないコードだ。
その機能の実装について悩まないで ̶̶きっと必要ないから
いわゆるYAGNI(You ain’t gonna need it)。
プログラマというのは、実装にかかる労力を過小評価するものでもある。
質問と要求の分割
すべてのプログラムが、高速で、100%正しくて、あらゆる入力をうまく処理する必要はない。要求を詳しく調べれば、問題をもっと簡単にできることもある。
コードを小さく保つ
- 汎用的な「ユーティリティ」コードを作って、重複コードを削除する
- 未使用のコードや無用の機能を削除する
- プロジェクトをサブプロジェクトに分割する
- コードの「重量」を意識する
身近なライブラリに親しむ
たまには標準ライブラリのすべての関数・モジュール・ 型の名前を 15 分かけて読んでみよう。
まとめ
- 不必要な機能をプロダクトから削除する。過剰な機能は持たせない。
- 最も簡単に問題を解決できるような要求を考える。
- 定期的にすべての API を読んで、標準ライブラリに慣れ親しんでおく。