Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Элитного кода тред (https://javascript.ru/forum/offtopic/57197-ehlitnogo-koda-tred.html)

devote 12.08.2015 12:50

Цитата:

Сообщение от javaQest
Оно должно быть взаимным.

не нужно стараться быть как все. Нужно быть лучше других, если вам не по нраву общение с какой либо личностью, просто перестаньте с ним общаться и все. Если вам грубят/хамят и т.д. Не нужно хамить в ответ. А иначе это просто проявление слабости если вы позволяете себе неподобающее отношение в отместку другим.

trikadin 12.08.2015 12:55

javaQest, спорить с тобой не буду. Я предвзят, это бесспорно. А ещё у меня на аватарке, например, стоит собачка, но если ты решишь, что это повод назвать меня кобелём или чем-то в этом роде -- ты ошибешься.

Насчет того, что ты "только отвечаешь на оскорбления" -- erolast в разговоре с тобой был и остаётся воплощением адекватности, в то время как с твоей стороны множество заявлений в стиле "ты написал кучу говна", "какого хрена ты что-то перезаписываешь" и так далее. На мой взгляд, ты неадекватен, и не умеешь вежливо общаться с людьми, за что у тебя уже второе предупреждение. После третьего будет бан. И это с моей стороны -- возможно, кто-то из других модеров забанит тебя раньше. Постарайся вести себя сдержанно и корректно, и претензий к тебе не будет.

Erolast 12.08.2015 14:58

Цитата:

Если Вы внимательно почитаете мои треды, вы обнаружите, что я никогда никого не оскорблял первым, только отвечал на оскорбления.
Да ну?) В текущей нашей беседе я тебя еще ни разу не оскорбил, ты же грубишь и психуешь где-то с #138.

Цитата:

LOL, значит все дело в названии? Ну назови addParent, я разрешаю.
Цитата:

Энивей, это не имеет никакого отношения к реализации множественного наследования.
Давай не отвлекаться на эту частность. Что-нибудь по функции pluralParent возразить можешь?

Цитата:

зачем тебе там понадобился Proxy?
Покажешь реализацию без проксей?

javaQest 12.08.2015 15:06

Erolast,
Нет смысла смотреть дальше код. Ясно, что он нормально работать не будет.

Erolast 12.08.2015 15:17

Цитата:

Ясно, что он нормально работать не будет.
Да ну? А у ведь работает) Странно...

function inherits(subClass, superClass) {
    if (typeof superClass !== "function" && superClass !== null) {
        throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
    }
      
    Object.setPrototypeOf(subClass.prototype, superClass && superClass.prototype);
     
    if (superClass) {
        Object.setPrototypeOf(subClass, superClass);
    }
}
 
function pluralParent() {
    var parents = [].slice.call(arguments);
     
    //Наследование конструктора
    var DerivativeParent = function() {
        var i;
        var Parent;
         
        for (i = 0; i < parents.length; i++) {
            Parent = parents[i];
            Object.assign(this, new Parent());
        }
    };
     
    //Наследование свойств прототипа
    DerivativeParent.prototype = new Proxy(DerivativeParent.prototype, {
        get: function(target, name) {
            if (name in target) {
                return target[name];
            }
             
            var i;
            var Parent;
             
            for (i = 0; i < parents.length; i++) {
                Parent = parents[i];
                if (name in Parent.prototype) {
                    return Parent.prototype[name];
                }
            }
        }
    });
     
    //Наследование статических свойств класса
    DerivativeParent = new Proxy(DerivativeParent, {
        get: function(target, name) {
            if (name in target) {
                return target[name];
            }
             
            var i;
            var Parent;
             
            for (i = 0; i < parents.length; i++) {
                Parent = parents[i];
                if (name in Parent) {
                    return Parent[name];
                }
            }
        }
    });
     
    return DerivativeParent;
}
 
var Cat = function() {
    this.isACat = true;
}
 
Cat.prototype.meow = function() {
    console.log("meow");
}
 
var Dog = function() {
    this.isADog = true;
}
 
Dog.prototype.bark = function() {
    console.log("woof");
}
  
var CatDog = function() {
    //Вызвать родительский конструктор. Можно не вызывать - тогда установленные в конструкторах свойства не унаследуются.
    Object.getPrototypeOf(this.constructor).apply(this, arguments);
};
inherits(CatDog, pluralParent(Cat, Dog));

var catDog = new CatDog();

catDog.meow();
catDog.bark();
console.log(catDog);

//Добавление методов в рантайме: научим пса (и, соответственно, котопса) рычать
Dog.prototype.growl = function() {
    console.log("Rrrrrrr");
}
catDog.growl();

javaQest 12.08.2015 15:25

Цитата:

Сообщение от Erolast
А у ведь работает

он работает на маленьком синтетическом примере. Всегда можно подобрать пример, на котором что-то будет работать. Реальный код писать не получиться

javaQest 12.08.2015 15:45

Erolast,
И так, BTW, смотрю я на твой код, даже не вникая особо, бегло, и скажу я тебе, нифига ты не врубаешься в программирование вообще, даже безотносительно сабжа. Это самый идиотский подход из возможных, ты при каждом вызове там каждый раз заново создаешь все ф-ции, цепочки наследования, зново переопределяешь все... Это п*ц. Кто тебя так писать то учил? кобеза чтоли?

devote 12.08.2015 16:10

Цитата:

Сообщение от javaQest
Это п*ц. Кто тебя так писать то учил? кобеза чтоли?

javaQest,
давай договоримся так. Ты приводишь свой способ/реализацию/пример и после этого я закрываю глаза на твои насмешки над другими участниками форума, в противном случае (а я вообще добрый) но не люблю пустого хвастовства. Так как ты не привел ничего своего в пример, но тем не менее ты продолжаешь унижать работу других людей. Насколько я понял, ты даже такое слепить не можешь а все продолжаешь унижать других.

Предупреждение делаю тебе лично я, прямо тут. Если продолжишь насмехаться на работами других людей, при этом не приводя ничего своего. То моя доброта по отношению к тебе превратится во что-то иное. А именно. Я отправлю тебя в бан на вечно и все твои новые ники после выявления будут автоматом попадать туда же. То есть для тебя такого какой ты есть сейчас форум превратится в readonly режим. Хочешь этого? продолжай в том же духе унижать других и их работу. Либо путь второй, я о нем писал выше.

trikadin 12.08.2015 16:15

javaQest, да, мы ждём примеров, которые опровергают работоспособность кода erolast'а, либо твоей собственной реализации множественного наследования.

P. S. И да, это было последнее нарушение. Дальше -- бан.

javaQest 12.08.2015 16:17

Цитата:

Сообщение от devote
Ты приводишь свой способ/реализацию/пример и после этого я закрываю глаза на твои насмешки над другими участниками форума,

Нет, так не пойдет. Они тут кукарекали, что они смогут. Если сделать как ты предлагаешь, весь смысл этого треда теряется, он для этого и создавался. Я выложу при одном условии, если кобеза ПУБЛИЧНО, создав отдельный тред, ИСКРЕННЕ покается передо мной, скажет, что он был последним дерьмом, и что он так больше не будет, извинится за ту грязь, которой меня тут на меня лил, и признает свой эпичный слив.


Часовой пояс GMT +3, время: 23:04.