やっぱり動的言語では安全なソフトは作れない
■ このスレッドは過去ログ倉庫に格納されています
0654デフォルトの名無しさん
2011/05/25(水) 18:12:09.12function add_prefix($str) {
return 'prefix_' . $str;
}
これを
$res = add_prefix('hoge'); // 引数が文字列
と 呼ぼうが、
$res = add_prefix(100); // 引数が数値
と呼ぼうが
PHP的には間違いじゃないんだよ。むしろ、この融通性が動的言語のメリットとも言える。
引数が誤ったものかどうかは、呼び出し側のコンテキストによるが、それを見逃すリスクと
利便性を計りにかけて、利便性をとったのが動的言語といえる。この利便性のおかげで
コード量が減りバグが混在するリスクを減らし、生産性を高めている。
むろん、コーディングする側は、型指定がないことのリスクを認識した上でコーディング
する必要があるが、それに十分見合うだけの利益を享受している。
もし、引数として数値を認めたくない場合は、関数内にassert文なり、型チェックのコード
をいれとくさ。
■ このスレッドは過去ログ倉庫に格納されています