PHP で実行する変数チェックの数は、私が決して確信していませんでした。たとえば、次のコードを見てください。変数を割り当てたり関数に渡したりして、期待するものが含まれているかどうかを確認する前に、変数をチェックしていません
$carId = '12';
$aCar = fetchCar($carId);
$make = $aCar['make'];
$model = $aCar['model'];
$yearMade = $aCar['year'];
$age = calcAge($yearMade);
ここで、いくつかのチェックを追加すると
$carId = '12';
if(is_numeric($carId))
{
$aCar = fetchCar($carId);
if(isset($aCar['make']) && is_string($aCar['make']))
{
$make = $aCar['make'];
}
else
{
//Report error
}
if(isset($aCar['model']) && is_string($aCar['model']))
{
$model = $aCar['model'];
}
else
{
//Report error
}
if(isset($aCar['year']) && is_numeric($aCar['year']))
{
$yearMade = $aCar['year'];
$age = calcAge($yearMade);
}
else
{
//Report error
}
}
else
{
//Report errors
}
コードは改善されましたが、少し過剰で肥大化していませんか? これだけ多くのチェックを行う必要がありますか?
私がこれほど多くのチェックを行うべきではない場合、チェックすべきものとすべきでないものとの境界線をどこで引きますか?