プログラムの参照の局所性
「プログラムは参照の局所性により10%のプログラムソースが90%のアクセスを占める」
以前大学のソフトウェア科学の講義であったこの話をふと思い出した。
プログラムの参照の局所性を利用して生産性をあげる
ならばこの10%のプログラムソースの部分の速度改善、可読性、保守性を可能な限り高めておくことに全力を注いであまり利用されない箇所はほどほどにしておけば効率よく書けるではないか。
でもプログラムを作る段階でどこが一番使われるかなんて分かるのか?
自分では分かるわけないので、僕が思いつく方法は二つ。
- お客さんにどこが一番機能として使われるか聞く
- システムのテスト運用のタイミングで使われる部分の統計を取る
- システム作ってみてからどこが一番使われるか統計を取ってみる。
事前によく使われる場所が分かる方法としては一つ目の方法、次に二つ目となる。
三つ目は保守フェーズでは使えそう。
上記は僕ががぱっと思いついた方法なので、プログラムの参照の局所性をもっとうまく利用できる方法があるかもしれない。
ただ、上記をやることはどこに力を入れるべきかが判明するので、無駄な作業ではないと思う。
まとめ
参照の局所性を活用して効率よく書きたい場合、僕独自の方法論としては以下の通り。
お客さんがいるシステム構築の場合はお客さんによく使われる機能を聞く。
お客さんがいない独自システムやWEBシステムなら実際にテスト運用して統計を取って効率的にやるのが良さそう。
コメント