有名な『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』( http://www.amazon.co.jp/リーダブルコード-―より良いコードを書くためのシンプルで実践的なテクニック-Theory-practice-Boswell/dp/4873115655 )をざっと読んで、一緒に開発する後輩に知っていてほしいと思ったことをまとめてみる。
(この本では、Python, JS, Java, C++をサンプルコードとして取り上げている。)
#原則
「コードは、理解しやすくなければならない」
かっこいい・短い ≠ わかりやすい・よみやすい
#表面的な整理
- 変数名・関数名に情報をきっちり詰め込む
- 変数の宣言を意味のあるまとまりに分けて、まとまりごとにコメントをつける
- 書くべきでは「ない」コメント(自明な内容)は、意識的に書かない
- コードを書いている時の「自分の考え」「その結論に至った理由」を明示する
- ロジックの本質と関係ない部分は、しっかりとそれを示す
- 絶対に出る質問には、コメントで答えておく
- 複雑な関数では、実例を用いてinput/outputについてイメージを与える
- プログラム上の意味ではなく、機能(何をしているのか)を説明する
#ロジックの単純化
- 巨大なものは、食べやすい(読むときに消化しやすい)サイズに分割
- 変数は、イミュータブルにする
- 無駄な変数を置かない
- 本質的なロジックと、関係のない下位処理を区別し、分離する
- 理想と違うインターフェイスに妥協せずラッパーする
- タスクを書き出し整理して、複数の処理を同時にいろいろ混ぜない
- 変数のスコープは小さく保つ
#説明
- その部分でなにをしているのか、一度声に出して説明してみる
- 説明に使うキーワードに注目する
- 説明してみて、もう一度、機能を整理する
もちろん、プログラミングの本ではあるけれども、プレゼンテーションのTipsにもかなり繋がる部分がある(気がする)。
結局は、相手の理解時間短縮のために、なにができるかを考えることなんだと思う。