Pixel Pedals of Tomakomai

北海道苫小牧市出身の初老の日常

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として表示したくてこの関数を使っているはずなので、害は少ない。前者の例では、関数コメントを変えるとともに、実はこの関数は"も置換するんです、と利用していた人達に実装変更の詳細をアナウンスしなければならなくなる。