52. ramzes, не в каждом, только в public методах класса, которые принимают какие либо аргументы, закрытые же методы будут точно работать с корректными данными, ведь об этом позаботятся public методы. Почему не делать проверку в одном месте? А как же повторное использование классов? Я придерживаюсь идеи, что мои классы должны работать одинаково, независимо от окружения, в котором используются. Если выносить проверку во вне класса, то при изменении окружения кто то может забыть сделать проверку и передать мусор, а класс не заметит. В моем случае класс всегда ко всему готов. Да и так проще на мой взгляд
Добавлено через 01:35 сек.
52. ramzes, вообще если проверки часто повторяются, то без проблем, выносим условия в отдельные внешние функции, и используем их в методе, суть от этого не меняется ) просто мы упаковываем код проверки в другом месте и все. Я показал абстрактный пример ;)
Добавлено через 07:43 сек.
Собственно говоря, если функция должна принимать в качестве аргумента ... то проверку делать в любом случае нужно, а ее централизация по моему сильного выигрыша в скорости не прибавляет. Если и бывает ситуация, когда какой то метод должен проводить сложные проверки и повторяться много раз, я этот метод пакую в приват и создаю один паблик метод, который отвечает за проверку условий и передачу их тому методу (вспомним про Заместителя). Выигрыш в скорости будет отличный