Если у вас в коде есть места, где "что-то" "куда-то" приходит, нечего удивляться, что оно будет "как-то" работать. Как вообще такое может быть, что у вас "что-то" приходит? Что значит "что-то"? Вы не в курсе, что это может быть? У вас не определен круг входящих типов? Да, в php имеет место такое явление как mixed $param, но при этом составляющие этого mixed нам заранее известны. Мы знаем, как их обрабатывать. Мы точно знаем, что к нам может придти и знаем, что с этим делать. Как в функцию может придти "что-то"? Кто-то злой пришел и передал это в нее? Вы не контролируете, что у вас творится в коде? Стохастически нестабильные алгоритмы? "Итааааксойдет-driven development"?
Да конечно много таких мест. Например, у вас задание написать функцию, которая будет использоваться другими людьми. Что они в нее пошлют - вы не знаете. Вам нужно проверять на входе. И использовать новые фичи PHP7 вам никто не даст Даже в Pascal со строгой типизацией зачастую нужно проверять.. посмотрите WinAPI там сплошные проверки на входе, хоть и строгая типизация.. это правильный стиль для публичных функций, которые вызываются не только вами.. что говорить о нечетких интерпретаторах. Очень часто вам вообще нужно тупо внедриться в какую-нибудь самописную cms и юзать глобальные переменные. Откуда они, что они, какой гений их создавал - вы не знаете. Вы можете ругать всех подряд за то, что все так устроено, но написать работоспособный код вы обязаны Конечно, когда вы архитектор системы, то всех этих проблем нет. Вернее может не быть, если вы об этом заранее подумаете. Я же предпочитаю не типизировать параметры (без презерватива как-то интереснее ), а в особо критичных местах приводить к определенному типу на месте, например случай со switch самый яркий пример.
ой, всё --- Добавлено --- дружище, ну я тя просил, про себя - пиши от себя. Харош проецировать на других свой жизненный опыт.
Все, что я пишу - пишу про себя, дружище --- Добавлено --- в смысле от себя ) Не нужно додумывать и воспринимать это как документацию на все случаи жизни для всех
Когда меня спрашивают - как ТЫ делаешь или как бы ТЫ сделал, то я пишу с оборотом на "я". На любой абстрактный вопрос в пустоту, я ставлю задающего в центр вселенной и пытаюсь воспроизвести его поведение, используя "вы". Он главный, ему решать. сколько я должен за такой подробный психоанализ?
Я где-то слышал, что именно для таких случаев была придумана эта, как ее...а, да, документация. И если в ней написано, что параметром должно быть число, то, тот факт, что какой-то дебил пихает туда массив - это проблема дебила. То есть я не должен быть нянькой для кого-то другого, настолько некомпетентного, что он сначала делает, а потом думает. Производители пистолетов же не приставляют к каждому покупателю личного инструктора-надзирателя? Нет. Производители пистолетов выпускают инструкцию к изделию, с описанием техники безопасности. Если кто-то не прочитал, что нельзя наводить пистолет на себя и спускать курок, и, как следствие, застрелился, то это не проблема производителя пистолетов. То, что вы описали, это какое-то "Я привык месить говнокод, постоянно приходилось это делать, вонища такая стояла, что слезы текли, а что делать? Свой говнокод, чужой, потом уже и не разбираешь, где да что, главное, что оно работает." Это, конечно, вызывает сочувствие, но практики, начерпанные в таких условиях, лучше не выносить оттуда. --- Добавлено --- Крайне неудачный пример. Код вообще винды как таковой - это кладбище костылей, хаков и индусских песен. WinAPI не исключение.
Еще не хватало, чтобы блондинки садились в наш интеллектуальный автомобиль.. Именно так мыслит АвтоВАЗ выпуская жигули Сразу видно, что вы всего лишь пользователь "винды". Успехов
Снова демагогия. Зачем? Почему просто не промолчать или не признать свою неправоту за отсутствием аргументов? Зачем это вот кривляние?