Здравствуйте, DOOM, Вы писали:
DOO>Здравствуйте, TheHobbit, Вы писали:
TH>>Программеры, при инспекции кода ряда объектов написанных на JavaScript, которые должны быть reusable, было выявлено ряд функций, код которых дублируется с точностью до названий методов, т.е. вызываются разные методы одного объекта, данный код был квалифицирован как "пахнущий"(smell code) и предложено провести рефакторинг а ля "remove dublicate code", "путем вынесения указателя на функцию во входной параметр"(озвучено было в терминах языка Си)..т.е. заменить две похожих функции на одну, со входным параметром -указателем на функцию...проблема как реализовать идиому языка Си "указатель на функцию" с использованием синтаксиса javascript'a — первое, что приходит в голову, так это то, что javascript, можно в runtime переиницилизировать тело функции объекта, у какие еще есть проектные решения ?
DOO>Не понял в чем проблема?
DOO>DOO>function a(c,d)
DOO>{
DOO> return d*c;
DOO>}
DOO>function b(c,d)
DOO>{
DOO> return c+d;
DOO>}
DOO>function calc(fname,c,d)
DOO>{
DOO> return fname(c,d);
DOO>}
DOO>alert(calc(a,2,3));
DOO>alert(calc(b,2,3));
DOO>
lot of thanks for the answer