ビューティフルコード

いつか読むはきっと読まない,ということで学校で『ビューティフル・コード』を借りてきました.

ビューティフルコード (THEORY/IN/PRACTICE)

ビューティフルコード (THEORY/IN/PRACTICE)

20個ぐらいのキーワード(Python,Ruby,Java,信頼性,etc...)に分けて各専門家のエッセイを載せているというもの.その中で「第15章 美しいデザインの長期にわたる恩恵」が素晴らしすぎたので少しまとめてみる.

CERNの数学ライブラリは読みやすいコード
線形代数の部分は現在LAPACKライブラリにまとめられている.
 →この本では例としてLAPACKライブラリのSGBSVルーチンをあげている.

・ルーチンの使い方をコードの一番初めに書いておく.
 →マニュアルの説明とコード中のドキュメントを同じ内容にしておくことは良いこと

・入力に暗黙的な制限を作ると後から大変になる.

・コメントに引数の明示的な説明を書いておく.
 →また各引数が整合性を保っているか簡単なエラー処理をルーチンの中に書いておくのは良いこと.

簡単なテストとサンプルをコード中に書いておく重要

一番感動したのが最後の部分で,スモークテストでもいいからきちんと,Aという入力に対してA'という出力が出る,ということをサブルーチン単位で書くことは本当に大切なことだと思う.
このことを理解しない人がむちゃくちゃ多くて最近びっくりすることが多いので.

この章の内容だけでも科学的なコードを書く人が背景として持っておくと良いと思う.

ただ最後にも述べられているように,

美しい解法がいつまでも使えるわけではない

ということはコンピュータに携わる人は常に考えておかなければならない.


次は『リーダブルコード』を読みたい.