ソースコードを読むにはフラットに

デバッガ無しで解析することになり、
最初から追っかけてく機会があった。

まず、その時に思ったのは、
デバッガとはなんて素晴らしいものなんだろうと感動したのを思い出す。

当たり前は当たり前じゃない。

誰かが頑張ってくれたからなんだなって。

その時に気づいた。。。

普段は、ウォッチとかに変数設定して、
何が中に入ってるかがすぐにわかって、
この値がこうなってるからダメだなってわかって、こう言う理由で修正が必要な箇所の特定をしていける。

でも、その時は変数の中身が見れない。
特に配列の中身が見れないのが、
かなりきつかった。

さらに、特定を妨げたのが配列の要素の中身に何が入っているかを表す名称の相違。

この配列のキーは、このテーブルのカラムを取得してるって判断できるようになっているのに、違うテーブルの同じ名称のカラムを取ってるから、間違った挙動をしてるじゃねぇか。って。

何のために名前付けたんですか?
って聞いてやりたくなる。。。

わかりやすくする為にしてることが、
わかりにくくなるってどういうこと?って。

ただ、こう言う経験をして、
どれだけ確認をせずに流してきてたかがわかった。

この流し作業は、
コードを読む上では必要だと思うし、
基本的にはそうできるように作るべきだとも思ってる。

プログラムってのは、
書いてある通りにしか動かない。

バグが起きてるのは、
正しく見えてるけど正しくないからバグってる。 

ちゃんと解読するには、
プログラムが動いてるように読む。

定数が1を表してるから、
1が入るという思い込みを捨てて、
この定数が本当は何なのかを知る。

完全なる真っさらで見るのは難しい。

思い込みが深みに嵌る。

この記事が気に入ったらサポートをしてみませんか?