「昔書いたコードだから覚えていない」

…というのはよく聞くフレーズですが、必ずしもそうではないかなと思うようになりました。勿論、触れていなければ忘れていくものだとは思いますが、考えて設計したものであれば年が過ぎても覚えていて、逆にやっつけで書いたコードや理解が浅いコードは何日もしないうちに忘れてしまう…自信を持って組み立てた論理は覚えているが、馴染みの薄い言語で手探りで書き始めたコードや、意図を理解しづらいコードに対する修正は忘れやすい。自他共に何年か見てきた経験上の感覚でしかありませんが、そのように感じます。

「昔書いたコードを覚えているかどうか」というのは

  • そこが設計されている箇所かどうか
  • 設計のできる人かどうか

を測るのに使えるのかもしれません。

(e.g.)
「え?さぁー当時の私ってそんなこと書きましたっけ。ちょっとソース見てみないとわからないですね。」
「○○は△△のときに××を呼び出すから、☆☆が起きたとすれば…まず□□を確認してみるのがよいのではないか。」