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

kobezzza 23.07.2015 18:33

Элитного кода тред
 
Цитата:

Сообщение от tysonfury2015 (Сообщение 381177)
Ни от тебя ни от него я тут не разу не видел ни строчки понтового кода, только рассуждалки о синтаксисе и спецификациях.

https://github.com/Collection-JS/Collection
https://github.com/SnakeskinTpl/Snakeskin
https://github.com/MonicBuilder/Monic

Теперь давай ты.

tysonfury2015 23.07.2015 18:37

kobezzza,
То есть, ты считаешь, что если у тебя на гитхабе валяется какой-то код, значит, он по любому понтовый? Ну-ну. Я читал твой код. Скажу одно, тебе надо перебираться на жабу, там ты будешь в своей тарелке.

Что касается меня, то я показываю свой код только тому, кто заслуивает того, чтобы читать его. Ты в эту категорию не входишь, извини.

kobezzza 23.07.2015 18:39

Цитата:

Что касается меня, то я показываю свой код только тому, кто заслуивает того, чтобы читать его. Ты в эту категорию не входишь, извини.
:lol:

Я чемпион мира по боксу, но свои чемпионские пояса и записи боёв показываю только тем, кто "заслуивает". Ты в эту категорию не входишь, извини. :lol:

tsigel 23.07.2015 18:39

tysonfury2015,
По ходу ты просто не писал ничего сложнее швабры) Иначе бы не зассал выложить.

tysonfury2015 23.07.2015 18:44

kobezzza,
Смешно, да. Но я бы смеялся сам над собой, если бы кинулся тебе что-то доказывать. Мне этого и нескольких прошлых диалогов с тобой хватило за глаза, чтобы сделать выводы о твоем реальном понимании программирования вообще и JS в частности. Ты даже сраные замыкания толком не осилил, я уж не говорю об ООП, или чем то сколько нибудь серьезном. Короче ладно, пора завязывать порожняк, че то я слишком много своего драгоценного времени тебе уделил. Так можно гавкаться бесконечно, смысла нет.

kobezzza 23.07.2015 18:47

tysonfury2015, слив засчитан хомяк :D

Цитата:

tysonfury2015,
По ходу ты просто не писал ничего сложнее швабры) Иначе бы не зассал выложить.
Да ничё он не писал, сидит 15-ти летний хомяк и строит из себя папку :)

Erolast 23.07.2015 18:57

Цитата:

То есть, ты считаешь, что если у тебя на гитхабе валяется какой-то код, значит, он по любому понтовый? Ну-ну. Я читал твой код.
И неудивительно, что ничего не понял: его уровень намного выше того, которым владеешь ты сам.

Цитата:

Что касается меня, то я показываю свой код только тому, кто заслуивает того, чтобы читать его.
Это кому? Собутыльникам?

tysonfury2015 23.07.2015 18:58

Цитата:

Сообщение от Erolast
то ничего не понял

Я что, сказал, что что-то не понял? Я сказал, что код говно.

Erolast 23.07.2015 18:58

Цитата:

код говно
Тебе так кажется, потому что у тебя слишком низкий скилл, чтобы его понять.

tysonfury2015 23.07.2015 19:03

Цитата:

Сообщение от Erolast
Тебе так кажется, потому что ты слишком низок, чтобы его понять.

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

Erolast 23.07.2015 19:03

Покажи хоть один пример. Банить я тебя вообще лишь единожды просил, кое-где даже, напротив, просил оставить (казалось, что ты исправился и начал конструктивно диалог вести) а, ты о кобезззе.

tysonfury2015 23.07.2015 19:05

Цитата:

Сообщение от Erolast
Покажи хоть один пример.

Пример его слива? Да трудно найти, я думаешь помню, под каким ником это было? Запаришься искать, к тому же, там самые сочные места потерли.

kobezzza 23.07.2015 19:05

Цитата:

Ага, оно и заметно. Я помню, по прошлым тредам, как только разговор касался каких то реальных вещей в программировани, он тут же сливался.
Пруфы? :) Я помню, ты до сих пор не написал функцию удаления папки с развёрнутой рекурсией :D

Erolast 23.07.2015 19:06

Цитата:

трудно найти
Слив засчитан, чо)

tysonfury2015 23.07.2015 19:07

Erolast,
Я тебе гарантирую, щас если начнется какой нибудь реальный разговор непосредственно за язык (не за либы, фреймверки, и прочие свистоперделки, а именно за язык, его семантику) либо за ООП, я порву вас обоих, как тузик грелку.

kobezzza 23.07.2015 19:08

Цитата:

Сообщение от tysonfury2015 (Сообщение 381210)
Erolast,
Я тебе гарантирую, щас если начнется какой нибудь реальный разговор непосредственно за язык (не за либы, фреймверки, и прочие свистоперделки, а именно за язык, его семантику) либо за ООП, я порву вас обоих, как тузик грелку.

Ну давай, рви, хомяк :D

cyber 23.07.2015 19:10

Цитата:

Сообщение от tysonfury2015
, я порву вас обоих, как тузик грелку.

Пошел куплю поп-корн)

kobezzza 23.07.2015 19:11

<iframe width="560" height="315" src="https://www.youtube.com/embed/DGa6MAibjzA" frameborder="0" allowfullscreen></iframe>

tysonfury2015 23.07.2015 19:14

Цитата:

Сообщение от kobezzza
Ну давай, рви, хомяк

то есть, ты мне, типа предоставил право первого хода? Лады.

Реализуй множественное наследование на js, только не на основе миксинов, а реальное, чтобы любые изменения в классе тут же, в рантайме подхватывались экземплярами.

kobezzza 23.07.2015 19:16

Цитата:

Реализуй множественное наследование на js
Чё тут реализовывать, берёшь Proxy или делаешь геттер над прототипом.

tysonfury2015 23.07.2015 19:17

Цитата:

Сообщение от kobezzza
Чё тут реализовывать, берёшь Proxy или делаешь геттер над прототипом.

Покажи код

kobezzza 23.07.2015 19:20

var a = {a: 1};
var b = {b: 1};

var d = new Proxy({}, {
    get: function(target, name){
        return target[name] || a[name] || b[name];
    }
});

alert(d.a);
alert(d.b);

tysonfury2015 23.07.2015 19:27

kobezzza,
Ты че, реально чтоли мягкий? Я тебе говорю, напиши интерфейс, чтобы у тебя были средства для определения таких объектов, добавления свойств и методов в объект. То есть, должно быть someObject.setPrortotype, get prototype, addPrototype, removePrototype. и прочее, чтобы на этом можно было программировать, чтобы от твоих объектов можно было наследоваться, и так далее. Кстати, то говно, которое ты написал не будет работать, там вообще нет никакого разруливания неймспейсов.

Короче, это семантически должны быть такие же объекты, как нативные, только с возможностью множественого наследования. Синтаксис не важен. Только поведение.

Safort 23.07.2015 19:34

Элитного кода тред
 
Этот тред запиливается для утоления жажды состязаний и выяснения того, кто кого круче в плане прогинга.

Erolast 23.07.2015 19:37

function pluralParent(...parents) {
    let DerivativeParent = function() {
        for (let Parent of parents) {
            Object.assign(this, new Parent());
        }
    };
    
    DerivativeParent.prototype = new Proxy(DerivativeParent.prototype, { //Наследование свойств прототипа
        get: (target, name) => {
            if (target[name]) {
              return target[name];
            }
            
            for (let Parent of parents) {
                if (name in Parent.prototype) {
                    return Parent.prototype[name];
                }
            }
        }
    });
    
    DerivativeParent = new Proxy(DerivativeParent, { //Наследование статичных свойств класса
        get: (target, name) => {
            if (target[name]) {
              return target[name];
            }
            
            for (let Parent of parents) {
                if (name in Parent) {
                    return Parent[name];
                }
            }
        }
    });
    
    return DerivativeParent;
}

class Cat {
    constructor() {
        this.isACat = true;
    }
    
    meow() {
        console.log("meow");
    }
}

class Dog {
    constructor() {
        this.isADog = true;
    }
    
    bark() {
        console.log("woof");
    }
}

class CatDog extends pluralParent(Cat, Dog) {}

let catDog = new CatDog();

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


Затестить можно в babel repl в последнем файрфоксе.

nerv_ 23.07.2015 19:39

Цитата:

Сообщение от Safort
Элитного кода тред

это пять :lol:

cyber 23.07.2015 19:39

Цитата:

Сообщение от nerv_
это пять

Он наверное так хотел написать
Цитата:

Элитного срача тред

tysonfury2015 23.07.2015 19:47

Erolast,
Я подозревал, что щас вы тут начнете нести детский лепет. Ты не реализовал множественное наследование, ты даже не сымитировал его, ты просто добавил прокси, и все. Еще раз повторяю, для не особо сообразительных. В Js есть нативный объект от которого наследуют все объекты. К нему прилагаются средства, для работы с ним -- изменение слота, получение слота, и так далее. Должно быть то же самое, примерно, но с множественным наследованием.

kobezzza 23.07.2015 19:48

Erolast, опередил :)

Safort 23.07.2015 19:48

Цитата:

Сообщение от cyber (Сообщение 381231)
Он наверное так хотел написать

Опечаточка вышла)

//как-то криво перенеслось(

tysonfury2015 23.07.2015 19:52

Цитата:

Сообщение от Erolast
extends

И вот этого, не должно быть, кстати, я сказал, никаких миксинов(в реализации), наследование должно быть реализовано делегированием.

>>в последнем файрфоксе.

И вот этого тоже не надо, я щас подорвался побежал искать последний файерфокс. Я сижу под дебианом, в репах его точно нет, если найдешь мне готовую сборку для debian-64 jessie, поставлю, а искать сутки, а потом сутки трахаться с установкой не готов.

Erolast 23.07.2015 19:53

Цитата:

Сообщение от kobezzza
15-ти летний хомяк

Но-но-но! Мне как раз 15.

Цитата:

В Js есть нативный объект от которого наследуют все объекты. К нему прилагаются средства, для работы с ним -- изменение слота, получение слота, и так далее. Должно быть то же самое, примерно, но с множественным наследованием.
Ты предлагаешь модифицировать стандартную библиотеку? Нет, мне в мой проект еще контрибьюторов принимать.
Или речь просто о технике владения языком, и получившийся код необязательно должен быть применим на практике?

kobezzza 23.07.2015 19:55

Цитата:

И вот этого, не должно быть, кстати, я сказал, никаких миксинов(в реализации), наследование должно быть реализовано делегированием.
Оно так и реализовано, extends это синтаксис ES6, ES6 выбран просто для красоты и его код полностью реализуется в ES5.

Никто не виноват, что ты баран, не понимаешь кода :)

Цитата:

в последнем файрфоксе.
Тебе дали ссылку на Repl Babel, где можно посмотреть.

kobezzza 23.07.2015 19:57

Цитата:

Но-но-но! Мне как раз 15.
Ты молодец, а Foo бездарь :)

Erolast 23.07.2015 19:57

Цитата:

И вот этого тоже не надо, я щас подорвался побежал искать последний файерфокс. Я сижу под дебианом, в репах его точно нет, если найдешь мне готовую сборку для debian-64 jessie, поставлю, а искать сутки, а потом сутки трахаться с установкой не готов.
Дык в IceCat запускай.

tysonfury2015 23.07.2015 19:58

Цитата:

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

Он должен быть применим. Это должна быть мини либа, некий язык в языке. Нативного ничего трогать не надо, просто создай поверх нейтива некоторую абстракцию, с которой можно работать как с объектом.

EmperioAf 23.07.2015 20:00

Боже, как давно я ждал подобного топика!!!
А то перечитывать основы (https://learn.javascript.ru/writing-js) скучно уже.

tysonfury2015 23.07.2015 20:16

Цитата:

Сообщение от kobezzza
просто для красоты и его код полностью реализуется в ES5.

Вот если можно, хотелось бы, таки, увидеть.

kobezzza 23.07.2015 20:18

Цитата:

Сообщение от tysonfury2015 (Сообщение 381248)
Вот если можно, хотелось бы, таки, увидеть.

Читать разучился? Тебе уже 2 раза сказали, зайти на Babel REPL. Ох...

ссылка

tysonfury2015 23.07.2015 20:23

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


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