LTS (leaning toothpick syndrome)

エスケープ症候群

LTS は Leaning Toothpick Syndrome の頭文字で、エスケープを大量に使って保守性が悪くなったコードの状態を指します。 直訳すると「もたれかかった爪楊枝(つまようじ)症候群」なわけですが、 「もたれかかった爪楊枝」とはバックスラッシュ(\)のことを指しています。 分かりやすく日本語訳するなら「エスケープ症候群」といったほうが分かりやすいでしょうか。

LTS はもともとは Perl の公式ドキュメントが発祥と言われていますが、今は Wikipedia (英語版) にも掲載されています。

LTS に見舞われる状況としては、正規表現でファイルやディレクトリのパスを扱う場合が挙げられます。

m/^\/usr\/local\/bin\/perl\d?$/

Perl の正規表現であれば、区切り文字を / 以外の文字に変更することで LTS を防ぐことができます。

m|/usr/local/bin/perl\d?|

極端な LTS には陥りませんが、HTML を扱う場合もエスケープが面倒に感じます。

print "<a href=\"${url}\" target=\"blank\" class=\"btn\">${name}</a>";

この場合は、クォート演算子 qq を使うとよいでしょう。 区切り文字は自由に選ぶことができますので、以下の 3 行はどれも同じです。

print qq{<a href="${url}" target="blank" class="btn">${name}</a>}, "\n";
print qq|<a href="${url}" target="blank" class="btn">${name}</a>|, "\n";
print qq(<a href="${url}" target="blank" class="btn">${name}</a>), "\n";