Суббота, 20 Апреля 2024, 14:05

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Форум игроделов » Записи участника » NancyWithoutSid [23]
Результаты поиска
NancyWithoutSidДата: Понедельник, 14 Января 2013, 20:08 | Сообщение # 21 | Тема: Node.JS, Java Script и все что с этим связано.
был не раз
Сейчас нет на сайте
Цитата (xMoonGuarDx)
В памяти и скорости всё равно он не теряет, да и сложность от этого не повышается, т.к. данный метод наверняка делает тоже самое. Просто потратил на 5 секунд больше

Извини, я сегодня педантична. Тяжелый день, все дела. Но в данном случае length - это публичное поле Array, и его вычисление не стоит ни копейки, вместо этого мы итерируем по коллекции, чей размер может быть хоть миллиард элементов(ну в теории). Я просто говорю что это муветон, а когда он выстрелит в ногу создателю, разумеется, неизвестно smile


Если вы считаете, что женщина не умеет программировать, то вам стоит попробовать JProfiler или valgrind...
NancyWithoutSidДата: Понедельник, 14 Января 2013, 19:51 | Сообщение # 22 | Тема: Node.JS, Java Script и все что с этим связано.
был не раз
Сейчас нет на сайте
Цитата (NancyWithoutSid)
Если не ошибаюсь, это for each, т.е. сокращенная запись фора. В си её нет, насколько я помню.

Дело не в forEach, а в том, что господин решил найти число элементов в коллекции тупо проитерировав по ней, а не вызвав size()(извините, Java), наверное так length.
Если в JS этого нет, то я выйду торговать своим телом к атлантиде!


Если вы считаете, что женщина не умеет программировать, то вам стоит попробовать JProfiler или valgrind...
NancyWithoutSidДата: Понедельник, 14 Января 2013, 19:24 | Сообщение # 23 | Тема: Node.JS, Java Script и все что с этим связано.
был не раз
Сейчас нет на сайте
Всем добрый день, ребята. Вот набрела на ваш форум, друг посоветовал. Это мое первое сообщение, не судите строго, я еще вольюсь в ваш коллектив!
Вы тут подняли очень интересную тему, а именно использование JS( NodeJS) для серверной части онлайн игр. Я немножко занималась программированием на JS под клиент. Надо сказать, что чувства были довольно странные. Не совсем ужасно конечно, но странновато. Я понимаю конечно, что прототипное программирование несколько иное(вернее совсем) нежели ООП. Но больше меня интересует как на JS код этот самый пишут.
AGENTX001 как хорошо что ты выложил свой код! Я как раз тебе задам несколько интересующих вопросов, касаемо JS(наконец-то хоть кто-то ответит)
Во-первых меня интересует проблема инкапсуляции. Как-то даже не по-сишному получается.Там хоть через хэдеры глобалили(при чем очень аккуратно), а тут все в кучу. Спасает то что клиентский код на JS однопоточен, и проблем с синхронизацией нет.
Можно я чуть чуть покоментирую твой код? *SHY*
Код

var RegRenderFunction = function(func) {  
    var RenderFunction = function() {  
     func();  
     fpsCount++;  
     setTimeout(function() {  
      RenderFunction();  
     }, 4);  
    }  
    RenderFunction();  
    LOG('Render function registrated!');  
}  

Зачем столько фунциональщины?(замыканий) sad За такое наказывают angry
Ничего ж непонятно становится
Код

for (var i in loadList) all_sprites++;  

oO
Код

var DrawTexture = function(tex_name, x, y, offsetX, offsetY, angle, alpha, partX, partY, partW, partH) {  
    if (arguments.length > 3) {  

Ай ай ай! Как же мейнтейнить ваш код? Когда у вас ф-ия имеет либо 3, либо какое-то другое число аргументов, при чем при другом числе аргументов она будет падать и пытаться что-то делать cry Логичнее наверное было бы сделать все же 2
Ой, извиняюсь,нашла еще вот это
Код

  if (arguments.length > 6) ctx.globalAlpha = alpha;  
     if (arguments.length > 7) {

Не кажется что немного громоздко? Вы не пробовали почитать литературу? Как это идеологически верно делается в OpenGL например? Гораздо логичнее использовать статичную машину для цветов/текстур и тп. Размер кода уменьшится в разы. OpenGL - суперкнига, хорошая вещь(рекомендую)
Код

var DrawSprite = function(spr, x, y, angle, alpha) {  

Извини, но почему не function drawSprite(spr,x,y,angle,alpha) ? И так везде!
Зачем смешивать данные и код?
Лан,я устала. Хотя нет...
Везде используются строковые литералы вместо констант. Очень печально дебажить неделю код из-за ошибки в одной букве...
Ну а теперь перейдем к серверному коду
в принципе идеи все те же, только вот велосипедство еще добавилось sad Есть же много разных на любой вкус и цвет логеров
Ну и вот этот кусочек, пожалуй

Код

var userList = [];  
////
var GetPublickUserList = function(ignore) {  
   var data = []  
/////
io.sockets.on('connection', function (socket) {  
   socket.on('disconnect', function() {  
    LOG('Player lost, name: '+socket.playerObject.name+', id: '+socket.playerObject.id);  
    delete userList[socket.playerObject.id];  
   });  


Оно userLits глобальная переменная, доступная из сотни потоков. Где синхронизация?Я думала, вы серьезный мужчина (с)
Подведем итоги. Не важно подо что программировать(хоть под тостер), и на чем(хоть на фортране), главное делать это профессионально...


Если вы считаете, что женщина не умеет программировать, то вам стоит попробовать JProfiler или valgrind...
Форум игроделов » Записи участника » NancyWithoutSid [23]
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг