北海道苫小牧市出身の初老PGが書くブログ

永遠のプログラマを夢見る、苫小牧市出身のおじさんのちらしの裏

HOWとWHAT

# &と<と>を変換する
sub escape_html{
my $html = shift;
$html =~ s/&/&/g;
$html =~ s/</</g;
$html =~ s/>/>/g;
return $html;
}





と書くのは、よろしくない。



# 文字列のHTML部分をエスケープして返す
sub escape_html{
my $html = shift;
# &と<と>を変換する
$html =~ s/&/&/g;
$html =~ s/</</g;
$html =~ s/>/>/g;
return $html;
}





であれば、"のエスケープが足りないことに後から気がついて足したときも、この関数コメントを読んだ利用者は、文字列をHTMLとして表示したくてこの関数を使っているはずなので、害は少ない。前者の例では、関数コメントを変えるとともに、実はこの関数は"も置換するんです、と利用していた人達に実装変更の詳細をアナウンスしなければならなくなる。