ゾンビコードとは?エンジニアの話

ゾンビコードという言葉は聞いたことがあるでしょうか?はじめてゾンビコードという言葉を見かけたのでまとめてみます。

ゾンビコードとは

ゾンビコードとはゾンビと聞いて思い描くそれではなく、生きても死んでもいないコードのことを言います。
コメントアウトされたコードや何にも使われていないけれどそこにいるコードのことを言います。

コミットした瞬間から一度も使用されることなく死んでしまいでもそこにいてちょっと鬱陶しいコードです。

そして共同で作成している仕事仲間たちはきっと何かに使っているんだよね、きっととっておいた方がいいものなだと思いそのコードを残し続けるのですが、場所を取るため可読性を妨げてしまい、日に日に新たに増えたりして綺麗なコードを蝕んで行きます。

ゾンビは退治しなければならないので取り除く必要があるのですが、なぜそこにあるのかがわからず、またどこに潜んでいるか探すのも大変で退治に苦労するということでゾンビコードと呼ばれているようです。

デッドコードと比較してアンデッドコードとも呼ばれています。またゾンビコードという言葉ができてまだ浅いようで聞いたことがない人も多い言葉のようです。

(英語のWikipediaにもまだ載ってなかったですし。)

デッドコードとは

似た言葉でデッドコードというものがあります。こちらは絶対に使われることのないコードと言われており、ゾンビコードと似ておりますが到達することもないので、消しやすかったり、明確にバージョンを辿っていくとなぜ使われなくなったのかがわかると言われており完全に死んでしまっている分、消すのも簡単と言われています。

その分ゾンビコードはややこしく、消したと思ってもまだいたり、そもそもなんなのこれ?と少し頭を悩ますコードのようです。

おわり

テストのシナリオにゾンビコードの確認シナリオがあり、そこで初めて目にして言葉を知りました。
あんまり馴染みがないのでいまいちピンときてないですが、長年やってればいつかしっくりくる言葉なんでしょうね。