『ひなた先生が教えるデバッグが256倍速くなるテクニック』を読みました。
この本は先輩プログラマと特別講師が新人プログラマにデバッグの技術を教える話で、初級者から中級車のプログラマが読者の対象になります。
「__LINE__」マクロでソース行を埋め込んだり、コールスタックを調べて関数の呼び出しもとを判定したりするなど、C言語の入門書には書かれていない方法が学べました。
このような方法を知らない方は少なくないのではないでしょうか。
デバッグの技術よりも、バグのないプログラミングの方法についての考察が面白くて参考になりました。
たとえば、「W(x,y-1)+W(x,y+1)+W(x-1,y)+W(x+1,y)」という列挙順はよくないなど。
変数の命名規則についての考察はとても興味深い話でした。
- 1990年中頃の命名規則は、Windows3.0のSDKは各種ハンドルが同じ型だったため、変数名に型をつけるハンガリアン記法が有効でした。
- 2000年頃の命名規則は、変数名でメンバ変数であることがわかるように「m_」ではじめたり、アンダーバーを最後につけたりしました。
- 2005年頃になると、インテリセンスを使うようになり、メンバ変数にアンダーバーをつけなくなります。
開発言語や開発環境・コンパイラなど、さまざまな環境によって、最良の命名規則は異なります。
新しいプログラミング言語やOS・開発環境を使うときは、それまで使っていた方法に固執しないように気を付けたいと思います。