|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 17 Apr 2002 11:50:08 To : Yuri Mashkovtsev Subject : Re: Прототипы и методы объектов -------------------------------------------------------------------------------- Здравствуй, Yuri Mashkovtsev. >>>> YM> То есть прототипы проверить можно дублированием вызова метода >>>> YM> объекта вызовом той же функции (который doesn't do inheritance). YM> ^^^^^^^^^^^^^^^!!!!!!! YM> Предвидя появление в эфире нижеследующей сроки, я заранее пояснил YM> (для тех, кто скачет по верхам), что это функция, а не метод. YM> AC > Блин, специально для тех, кто в танке. Это функция, а не метод. Ты свой собственный комментарий к тому вызову читал? Прочти. YM> Более того, отличить функцию от метода в этом случае можно по YM> наличию (отсутствию) двух старых добрых критериев. Hадеюсь, YM> не требуется их здесь формулировать. YM> AC > И так каждый раз? Сначала вызвать ничего не делающий MyClass::init YM> для AC > проверки прототипирования, а потом уже нормальный вызов метода YM> для работы? AC > Hу, AC > ну... Это помимо того, что это все равно ничего YM> не лечит. YM> Это будет работать как workaround в ситуациях, когда не задействована YM> иерархия. При ее наличии использовать такие проверки бессмысленно. При отсутствии тоже. Ошибка вылезет как раз в том месте, где ты предварительный вызов для проверки прототипирования забыл. Поскольку ты это действие должен проделать _каждый_ раз, а при изменении передаваемых параметров менять код в _двух_, хотя и соседних местах, такие ошибки будут. Причем чаще, чем если ты этой проверки вообще делать не будешь. А если ты еще и покроешь код тестами, то runtime проверки у тебя будут срабатывать еще при make test. Поскольку тесты полезны не только для проверки прототипирования, но и для проверки реальной работоспособности, то тем самым ты убьешь трех зайцев за цену одного. YM> AC > Пример: YM> [код пропущен] YM> AC > Ваши действия по проверке прототипирования вызова YM> AC > $test->test(1); YM> Hет таких действий, и быть не может. Квантор всеобщности еще не YM> обязателен для применения в arbitrary ситуациях. А в тривиальных ситуациях оно вообще зачем? Интересно, чтобы оно ловило нетривиальные, где легко сделать ошибку... YM> P.S. А блин с чем ? С красной икрой. (Фу, гадость.) -- Artem Chuprina Communiware.net RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/144548d02a6a7.html, оценка из 5, голосов 10
|