「昔書いたコードだから覚えていない」
…というのはよく聞くフレーズですが、必ずしもそうではないかなと思うようになりました。勿論、触れていなければ忘れていくものだとは思いますが、考えて設計したものであれば年が過ぎても覚えていて、逆にやっつけで書いたコードや理解が浅いコードは何日もしないうちに忘れてしまう…自信を持って組み立てた論理は覚えているが、馴染みの薄い言語で手探りで書き始めたコードや、意図を理解しづらいコードに対する修正は忘れやすい。自他共に何年か見てきた経験上の感覚でしかありませんが、そのように感じます。
「昔書いたコードを覚えているかどうか」というのは
- そこが設計されている箇所かどうか
- 設計のできる人かどうか
を測るのに使えるのかもしれません。
(e.g.)
「え?さぁー当時の私ってそんなこと書きましたっけ。ちょっとソース見てみないとわからないですね。」
「○○は△△のときに××を呼び出すから、☆☆が起きたとすれば…まず□□を確認してみるのがよいのではないか。」