達人プログラマー
言語の水準
高水準言語
人間が読んで理解しやすい
ハードウェアについて理解していなくても書ける
ハードウェアやOSに関わらず、様々なコンピュータで同じように動作するソフトウェアを開発できる
インタプリタやコンパイラを用いて機械語に翻訳して使用するものもある
記述の抽象度が高い
低水準言語 (アセンブリ言語)
人間が読んで理解しにくい
機械語に近い
記述の抽象度が低い
ハードウェアに対して直接的な命令を記述する
CPUやメーカーごとに異なる記載をする必要がある
関数・クラスの水準
OSに依存するかどうか
OSに近い(OSが違うと動作しない)ものを低水準関数
OSに依存してなく、抽象度が高い(言葉で理解しやすい)
DRY原則はプログラムに限った話ではなく、要件定義や設計、ドキュメントでも遵守すべき
「同じことを2度するな」という意味よりかは、「似たものを複数作ることなく、1つの真実に準拠すべき」という意味合い
テストの目的
目の前の目的を見つつ、大きな目的を忘れないようにすることが大切
目の前の目的
プログラムが期待通りに動くか
変更や追加をしても問題なく動くか
大きな目的
要求に沿っている
プロジェクトを滞りなく進めるのに必要かどうか
システムが何を期待するか