すべての参照の検索

先週から、研究がらみで何年か前の先輩の過去の遺産コードをいじっております。別に引継ぎとかじゃないんだけど、一部コードが流用できるというわけで。

人の書いたソースほど読みにくいものはないというのは大自然の摂理なんだけど、VS2005の「すべての参照の検索」機能が素敵すぎ。単純な文字列検索じゃなくて、プログラム中で、その変数への代入や読み取りのすべてを列挙してくれる。つまり、その値がどこで代入されて、どのように使われてるかを簡単に列挙できるようになってるわけです。VS2003では定義にジャンプとかはできるけど、参照は列挙じゃなくて文字列検索で順番に見ていくしかなかったわけで。ソース読みながら、この変数何よ?なに格納してるわけ?と定義を参照しても型だけで使い道がイマイチよくわかんないことが多々あるんだけど、どこで代入されてるか簡単に列挙できると、何に使ってるのか大体わかってくるというお話。ちなみに関数の場合は、その関数をコールしている呼び出し元の箇所をすべて列挙。関数定義へジャンプの逆で、つまりどこからどういう文脈で呼ばれるかがわかる。人のソース読むのに重宝します。ほんとグッジョブ。