На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ElcnU, ANDLL, fatalist
Страницы: (11) « Первая ... 7 8 [9] 10 11  все  ( Перейти к последнему сообщению )  
> функциональное наследование , по мотивам Дугласа Крокфорда
    Цитата Cfon @
    перепиши как будет с классами и поясни в чем профит

    А тут JS почти и не нужен.
    ExpandedWrap disabled
      class Vec2 {
          constructor(x = 0, y = 0) {
              [this.x, this.y] = [x, y];
          }
      }
       
      class Gear {
          size = new Vec2(32, 32);
          position = new Vec2();
          velocity = new Vec2();
          angle = 0;
      }
       
      class Layer {
          size = new Vec2(480, 320);
          nodes = [];
       
          tick() {
              for (let i of this.nodes) {
                  i.position.x += i.velocity.x;
                  i.position.y += i.velocity.y;
                  
                  angle += .1;
                  angle = angle % 360;
       
                  if (i.position.x + i.size.x > this.size.x || i.position.x < 0) {
                      i.velocity.x *= -1;
                  }
       
                  if (i.position.y + i.size.y > this.size.y || i.position.y < 0) {
                      i.velocity.y *= -1;
                  }
              }
          }
      }
       
       
      export function bootstrap() {
          let layer = new Layer();
          
          for (let i = 0; i < 10; ++i) {
              layer.nodes.push(new Gear());
          }
          
          requestAnimationFrame(() => layer.tick())
      }


    Дальше сам давай. Мне влом.

    Добавлено
    А ещё даже вращать ничего не надо, это делается через @keyframe + transform: rotate(x). Ну и размеры не нужны тоже. Т.е. код можно сократить ещё на 1/5
    Сообщение отредактировано: Serafim -
      Цитата Serafim @
      А тут JS почти и не нужен.
      ExpandedWrap disabled
        class Vec2 {
            constructor(x = 0, y = 0) {
                [this.x, this.y] = [x, y];
            }
        }
         
        class Gear {
            size = new Vec2(32, 32);
            position = new Vec2();
            velocity = new Vec2();
            angle = 0;
        }
         
        class Layer {
            size = new Vec2(480, 320);
            nodes = [];
         
            tick() {
                for (let i of this.nodes) {
                    i.position.x += i.velocity.x;
                    i.position.y += i.velocity.y;
                    
                    angle += .1;
                    angle = angle % 360;
         
                    if (i.position.x + i.size.x > this.size.x || i.position.x < 0) {
                        i.velocity.x *= -1;
                    }
         
                    if (i.position.y + i.size.y > this.size.y || i.position.y < 0) {
                        i.velocity.y *= -1;
                    }
                }
            }
        }
         
         
        export function bootstrap() {
            let layer = new Layer();
            
            for (let i = 0; i < 10; ++i) {
                layer.nodes.push(new Gear());
            }
            
            requestAnimationFrame(() => layer.tick())
        }


      Дальше сам давай. Мне влом.

      Добавлено
      А ещё даже вращать ничего не надо, это делается через @keyframe + transform: rotate(x). Ну и размеры не нужны тоже. Т.е. код можно сократить ещё на 1/5

      не ну меня и тот вариант устроил без классов :blush:
      ты же мне про классы поешь :D

      понятное дело что все щас пишут на классах так? :unsure:
      просто я изучаю JS без классов, почему? потому что они меня бесят! и пока это не надо что тут не ясно? :-?
      к тому же ты же не думаешь, что потом я не смогу перейти к программированию в классовом стиле? как бэ на плюсах программил до этого :blush:
      когда надо просмотрю синтаксис классов в JS и вперед с песней не? :D
      Сообщение отредактировано: Cfon -
        Цитата Cfon @
        понятное дело что все щас пишут на классах так?

        Нет

        Добавлено
        Цитата Cfon @
        просто я изучаю JS без классов, почему? потому что они меня бесят! и пока это не надо что тут не ясно?

        Дело не в классах, а в подходах начала 2000х

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

        В классовый сможешь, в нормальный ООП - нет. Человек, который не знает таких основ, как DI (ты сам выше признался) - ещё очень много учиться. И не только про понимание плюшек всяких, но и про предметную область.
        Сообщение отредактировано: Serafim -
          Цитата Cfon @
          просто я изучаю JS без классов, почему? потому что они меня бесят!

          Вон из профессии :facepalm:
            Цитата Cfon @
            как бэ на плюсах программил до этого

            По моему опыту средним плюсовикам лучше не лезть в языки высокого уровня. Особенно с большим опытам. Они будут применять свой опыт и соревноваться в микросекундах, вместо написания поддерживаемого и качественного кода. Средний плюсовик так же далёк от красивых абстракций, как битриксоид от понимания смысла залоченных 64х килобайт областей оперативки под линуком.

            Добавлено
            Цитата Cfon @
            когда надо просмотрю синтаксис классов в JS и вперед с песней не?

            Нет. Далеко нет. Понимание семантики и предметной области из которой вытекают штуки, вроде DDD - это отдельная история, на которую ты можешь потратить пару лет. К примеру, EAV и ECS тоже используют ОО-модель, но они противоположны ОО подходу, как раз из за нарушений семантики.
              Цитата Serafim @
              Цитата Cfon @
              просто я изучаю JS без классов, почему? потому что они меня бесят! и пока это не надо что тут не ясно?

              Дело не в классах, а в подходах начала 2000х

              ну понятно, у меня другой подход к изучению предмета, я начинаю с основ языка в даном случае JS, а его база это не классы, а объекты, прототипы, функции.

              Цитата Serafim @
              Цитата Cfon @
              к тому же ты же не думаешь, что потом я не смогу перейти к программированию в классовом стиле?

              В классовый сможешь, в нормальный ООП - нет. Человек, который не знает таких основ, как DI (ты сам выше признался) - ещё очень много учиться. И не только про понимание плюшек всяких, но и про предметную область.

              на самом деле я знаю что такое DI, сталкивался с ним когда программил на Java + Spring. да-да не удивляйтесь раньше до С++ я был жавистом :D

              Добавлено
              Цитата Астарот @
              Вон из профессии :facepalm:

              да гнать паганой метлой меня оттуда, но кто ж поднимет руку на гуру? :D
              на самом деле я фрилансер :jokingly:

              Добавлено
              Цитата Serafim @
              По моему опыту средним плюсовикам лучше не лезть в языки высокого уровня. Особенно с большим опытам. Они будут применять свой опыт и соревноваться в микросекундах, вместо написания поддерживаемого и качественного кода. Средний плюсовик так же далёк от красивых абстракций, как битриксоид от понимания смысла залоченных 64х килобайт областей оперативки под линуком.

              тут не согласен, я как средний плюсовик :), как раз очень хорошо понял JS, и собираюсь дальше его изучать и писать на нем :blush:

              Цитата Serafim @
              Цитата Cfon @
              когда надо просмотрю синтаксис классов в JS и вперед с песней не?

              Нет. Далеко нет. Понимание семантики и предметной области из которой вытекают штуки, вроде DDD - это отдельная история, на которую ты можешь потратить пару лет. К примеру, EAV и ECS тоже используют ОО-модель, но они противоположны ОО подходу, как раз из за нарушений семантики.

              ну не все сразу как гриться ;)
              Сообщение отредактировано: Cfon -
                Цитата Cfon @
                тут не согласен, я как средний плюсовик , как раз очень хорошо понял JS, и собираюсь дальше его изучать и писать на нем

                Ну тогда один простой вопрос: Angular, React или Vue? :rolleyes:
                  Цитата Serafim @
                  Цитата Cfon @
                  тут не согласен, я как средний плюсовик , как раз очень хорошо понял JS, и собираюсь дальше его изучать и писать на нем

                  Ну тогда один простой вопрос: Angular, React или Vue? :rolleyes:

                  Дай угадаю - ты по вью тащишься? :lol:
                    Цитата Астарот @
                    Дай угадаю - ты по вью тащишься?

                    По всему потихоньку =) То что у меня есть более-менее продакшн-реди проектик на вуэ ещё ничего не значит :tong:

                    И вообще knockout рулез
                      Но правда в том, что ты органически тащишься от всяких новомодных фенек, к коим ву и относится :D
                        я бы тогда по реакту упарывался ;) не?

                        Добавлено
                        да и называть knockout новомодной штукой... ну...
                          Цитата Serafim @
                          Ну тогда один простой вопрос: Angular, React или Vue? :rolleyes:

                          хз я не думал, есть книжки по все фреймворкам, кроме Vue, ща немного читаю книжку по Backbone.js, также графика интересует читаю книжку Раффаэло Чекко.
                          какое это имеет отношение к изучению JS? ты напоминаешь мне чувака, который пытается усидеть сразу на двух стульях (без обид :D)
                          я же изучаю все последовательно неторопясь использую то что мне требуется в данный момент :)
                          да возможно что-то устарело, что-то возможно не используется, но понимешь в чем дело, если использовать твой подход, то можно построить карточный домик, который упадет при первом же касании :rolleyes:
                          поэтому чтобы все стояло и не падал надо начинать с базы, потом можно дальше переходить к фреймворкам, библам, не надо искать самое новое! это самое новое может не подойти к твоей задаче. Вот такой мой подход! ;)

                          Добавлено
                          Цитата Астарот @
                          Цитата Serafim @

                          Ну тогда один простой вопрос: Angular, React или Vue? :rolleyes:

                          Дай угадаю - ты по вью тащишься? :lol:

                          что тут гадать то?! это тебе что загадка! :D
                          мдя используй то что требуется в данный момент, главное решить задачку или что ты там решаешь кроссворд? :D
                          Сообщение отредактировано: Cfon -
                            Цитата Serafim @
                            я бы тогда по реакту упарывался ;) не?

                            Реакт старше вуя :D
                              Backbone.js рулит! :D
                              зачем мне ReactJS? :unsure:

                              Добавлено
                              Цитата Cfon @
                              Цитата K313 @
                              ну это помоему не серьёзно... мы же тестируем копирование тела фабричного метода, то есть было бы разумней применять в тестах большое тело метода? чтоб явно уже было видно разницу
                              Прикреплённый файл: js_Cfon_test.rar

                              да там же у тебя копипаст или ты проверял его и оптимизатор пропускает как есть? :unsure:
                              если так то позже тестану его :)

                              тупо скопипастил метод toString как у тебя, но размер расхода памяти не изменился в первом случае (case1.html) ~5 Mb, во втором (case2.html) с привязкой - 4,4 Mb.
                              т.е. я так понимаю оптимизатор просто удалил то что я скопипастил.
                              Сообщение отредактировано: Cfon -
                                Цитата Астарот @
                                Реакт старше вуя

                                но как же виртуальный дом и всякие другие хипстерские шняги? :( Во вью они нативные компоненты тоже нативные

                                Добавлено
                                Цитата Cfon @
                                зачем мне ReactJS?

                                писать нативные приложеньки под телефоны

                                Добавлено
                                Цитата Cfon @
                                хз я не думал, есть книжки по все фреймворкам

                                в указанном списке только один фрейм - это Angular, остальное либы.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0699 ]   [ 15 queries used ]   [ Generated: 2.05.24, 06:12 GMT ]