diamond_krnl
pure-php
Правила вызова функции - типы входных параметров и проверка
При написании функции всегда задаюсь вопросом кто прав - прототип функции или лень программиста:
1. Прототип функции
то есть в любых неправельных ситуациях бьем по рукам, это воспитывает, но все программисты ленивы
и так хочется не заморачиваться, а просто написать:
2. Лень программиста
дубовая защита да и кода меньше
Каким подходом вы пользуетесь и почему? Или проверки или приведения к типу не используете вовсе?
Спасибо
При написании функции всегда задаюсь вопросом кто прав - прототип функции или лень программиста:
1. Прототип функции
PHP:
function foo($name, $config = array())
{
if (!is_string($name) || $name=="")
{
throw new Exception('name must be specified in a string');
}
if (!is_array($config))
{
throw new Exception('Configuration must be an array');
}
}

PHP:
foo($name, null);
PHP:
function foo($name, $config = array())
{
$name = strval($name);
settype($config, "array");
}
Каким подходом вы пользуетесь и почему? Или проверки или приведения к типу не используете вовсе?
Спасибо