ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   Да простит меня великий Visor....Не удержалсо (https://forum.antichat.xyz/showthread.php?t=764303)

GenCloud 23.09.2015 16:28

Код:


Код:

/**
*
* @author Visor123
* L2Emu Enterprise Server
*/
public class L2ManagementEventGroupEngine extends L2EventGroupEngine
{
    public L2ManagementEventGroupEngine(String name, String command)
    {
        super(name, command);
    }
 
    @Override
    public boolean useAdminCommand(L2PcInstance player, String command)
    {
        if (Config.ENT_TESTEVENTS)
            _log.info("L2ManagementEventGroupEngine "+getName()+" useAdminCommand player="+player.getName()+" command="+command);
   
        if (command.equalsIgnoreCase(getCommand()))
        {
            showMainPage(player);
        }
        else if (command.startsWith(getCommand()+"_show")
                || command.startsWith(getCommand()+"_status")
                || command.startsWith(getCommand()+"_edit")
                || command.startsWith(getCommand()+"_save")
                || command.startsWith(getCommand()+"_load")
                || command.startsWith(getCommand()+"_schedule")
                || command.startsWith(getCommand()+"_totaliser")
           
                || command.startsWith(getCommand()+"_join")
                || command.startsWith(getCommand()+"_start")
                || command.startsWith(getCommand()+"_teleport")
                || command.startsWith(getCommand()+"_abort")
                || command.startsWith(getCommand()+"_finish")
           
                || command.startsWith(getCommand()+"_auto")
                || command.startsWith(getCommand()+"_sit")
                || command.startsWith(getCommand()+"_stand")
                || command.startsWith(getCommand()+"_kick")
                )
        {
            String eventName = command.substring(getCommand().length()+6);
            if (command.startsWith(getCommand()+"_schedule")
                    || command.startsWith(getCommand()+"_teleport"))
                eventName = command.substring(getCommand().length()+10);
            else if (command.startsWith(getCommand()+"_finish") || command.startsWith(getCommand()+"_status"))
                    eventName = command.substring(getCommand().length()+8);
            else if (command.startsWith(getCommand()+"_start")
                    || command.startsWith(getCommand()+"_abort")
                    || command.startsWith(getCommand()+"_stand"))
                eventName = command.substring(getCommand().length()+7);
            else if (command.startsWith(getCommand()+"_sit"))
                eventName = command.substring(getCommand().length()+5);
            else if (command.startsWith(getCommand()+"_totaliser"))
                eventName = command.substring(getCommand().length()+11);
               
            try
            {
                String[] params = eventName.split(" ");
                if (Config.ENT_TESTEVENTS)
                    _log.info("L2ManagementEventEngine "+getName()+" show/edit... eventName="+params[0]+" params.length="+params.length);
                if (_eventInstances.containsKey(params[0]))
                    _eventInstances.get(params[0]).useAdminCommand(player, command, params);
                else
                {
                    player.sendMessage("Event instance with name="+params[0]+" not found");
                    showMainPage(player);
                }
               
                return true;
            }
            catch (Exception e) {
                _log.warn(e.getMessage());
            }
        }
        else if (command.startsWith(getCommand()+"_del"))
        {
            try
            {
                String eventName = command.substring(getCommand().length()+5);
                String[] params = eventName.split(" ");
                if (Config.ENT_TESTEVENTS)
                    _log.info(getName()+" eventName="+params[0]+" params.length="+params.length);
                if (_eventInstances.containsKey(params[0]) && params.length > 1 && params[1].equalsIgnoreCase("y"))
                {
                    L2EventGroupEngineInstance event = _eventInstances.remove(params[0]);
                    event.deleteData();
                    saveData();
                    player.sendMessage(getName()+" data saved to DB");
                }
                else if (params.length  0 && !eventName.contains(" ") && eventName.length()  16)
                    player.sendMessage("Name event need have 1-16 characters");
           
                showMainPage(player);
            }
            catch (Exception e) {
                _log.warn(e.getMessage());
            }
        }
        return super.useAdminCommand(player, command);
    }
 
    protected void showMainPage(L2PcInstance player)
    {
        NpcHtmlMessage adminReply = new NpcHtmlMessage(5);

        TextBuilder replyMSG = new TextBuilder(""+getName()+"");

        replyMSG.append("[ "+getName()+" ]"
                +""
                +"");
        replyMSG.append("
Engine instances");
        replyMSG.append("");
        for (L2EventGroupEngineInstance event : _eventInstances.values())
        {
            replyMSG.append(""+event.getName()+""
                +""
                +""
                +""
                );
        }
        replyMSG.append("");
        replyMSG.append("");
        replyMSG.append("");
        replyMSG.append("");
        replyMSG.append("");

        adminReply.setHtml(replyMSG.toString());
        player.sendPacket(adminReply);
        // Send a Server->Client ActionFailed to the L2PcInstance in order to avoid that the client wait another packet
        player.sendPacket(ActionFailed.STATIC_PACKET);
    }
}

С точки зрения ява-машины - ничего страшного, но нужно было оставить вторую проверку - выполнение кода не пошло бы хоть так, хоть эдак, никаких потерь по времени

Но с точки зрения написания - ***ец

Чет герычем попахивает, мдам.......

command.substring(getCommand().length()+5); еще меня особенно умиляет)

Берем строку, режем ее, вычленяем остаток - вуаля, команда!

WoWan-SM 23.09.2015 16:40

Я тут, конечно, недавно, но почему на форуме нет раздела куда будут выкладывать говнокоды?

P.S. Скорее всего писал он на Java 6, где не было поддержки switch(String), которая появилась только в Java 7. Но даже так мне не понятно зачем везде вызываются getCommand и почему нельзя было красиво оформить код с использованием enum

GenCloud 23.09.2015 16:41

Цитата:

Сообщение от WoWan-SM

Я тут, конечно, недавно, но почему на форуме нет раздела куда будут выкладывать говнокоды?

P.S. Скорее всего писал он на Java 6, где не было поддержки switch(String), которая появилась только в Java 7. Но даже так мне не понятно зачем везде вызываются getCommand и почему нельзя было красиво оформить код с использованием enum

А по вашему это в каком разделе?

L2CCCP 23.09.2015 16:43

Цитата:

Сообщение от WoWan-SM

Я тут, конечно, недавно, но почему на форуме нет раздела куда будут выкладывать говнокоды?


Influence 23.09.2015 16:50


Mifesto 23.09.2015 18:04

Цитата:

Сообщение от WoWan-SM

P.S. Но даже так мне не понятно зачем везде вызываются getCommand и почему нельзя было красиво оформить код с использованием enum

Потому что это команды для ивентов(если я не ошибаюсь), а у каждого ивента может быть своя команда.

П.С. Единственное что напрягает, это куча обрезания строк... Нельзя в начале обработки разделить строку по первому пробелу, и вышло бы 1 часть - команда, 2 часть - аргументы?

WoWan-SM 23.09.2015 19:55

Цитата:

Сообщение от Mifesto

Потому что это команды для ивентов(если я не ошибаюсь), а у каждого ивента может быть своя команда.

П.С. Единственное что напрягает, это куча обрезания строк... Нельзя в начале обработки разделить строку по первому пробелу, и вышло бы 1 часть - команда, 2 часть - аргументы?

И что? Почему сразу переменную не объявить?

Со вторым пунктом согласен. С использованием StringTokenizer было бы лучше переписать.

Visor123 23.09.2015 21:08

Цитата:

Сообщение от GenCloud

Код:


Код:

/**
*
* @author Visor123
* L2Emu Enterprise Server
*/
public class L2ManagementEventGroupEngine extends L2EventGroupEngine
{
    public L2ManagementEventGroupEngine(String name, String command)
    {
        super(name, command);
    }

    @Override
    public boolean useAdminCommand(L2PcInstance player, String command)
    {
        if (Config.ENT_TESTEVENTS)
            _log.info("L2ManagementEventGroupEngine "+getName()+" useAdminCommand player="+player.getName()+" command="+command);
 
        if (command.equalsIgnoreCase(getCommand()))
        {
            showMainPage(player);
        }
        else if (command.startsWith(getCommand()+"_show")
                || command.startsWith(getCommand()+"_status")
                || command.startsWith(getCommand()+"_edit")
                || command.startsWith(getCommand()+"_save")
                || command.startsWith(getCommand()+"_load")
                || command.startsWith(getCommand()+"_schedule")
                || command.startsWith(getCommand()+"_totaliser")
         
                || command.startsWith(getCommand()+"_join")
                || command.startsWith(getCommand()+"_start")
                || command.startsWith(getCommand()+"_teleport")
                || command.startsWith(getCommand()+"_abort")
                || command.startsWith(getCommand()+"_finish")
         
                || command.startsWith(getCommand()+"_auto")
                || command.startsWith(getCommand()+"_sit")
                || command.startsWith(getCommand()+"_stand")
                || command.startsWith(getCommand()+"_kick")
                )
        {
            String eventName = command.substring(getCommand().length()+6);
            if (command.startsWith(getCommand()+"_schedule")
                    || command.startsWith(getCommand()+"_teleport"))
                eventName = command.substring(getCommand().length()+10);
            else if (command.startsWith(getCommand()+"_finish") || command.startsWith(getCommand()+"_status"))
                    eventName = command.substring(getCommand().length()+8);
            else if (command.startsWith(getCommand()+"_start")
                    || command.startsWith(getCommand()+"_abort")
                    || command.startsWith(getCommand()+"_stand"))
                eventName = command.substring(getCommand().length()+7);
            else if (command.startsWith(getCommand()+"_sit"))
                eventName = command.substring(getCommand().length()+5);
            else if (command.startsWith(getCommand()+"_totaliser"))
                eventName = command.substring(getCommand().length()+11);
             
            try
            {
                String[] params = eventName.split(" ");
                if (Config.ENT_TESTEVENTS)
                    _log.info("L2ManagementEventEngine "+getName()+" show/edit... eventName="+params[0]+" params.length="+params.length);
                if (_eventInstances.containsKey(params[0]))
                    _eventInstances.get(params[0]).useAdminCommand(player, command, params);
                else
                {
                    player.sendMessage("Event instance with name="+params[0]+" not found");
                    showMainPage(player);
                }
             
                return true;
            }
            catch (Exception e) {
                _log.warn(e.getMessage());
            }
        }
        else if (command.startsWith(getCommand()+"_del"))
        {
            try
            {
                String eventName = command.substring(getCommand().length()+5);
                String[] params = eventName.split(" ");
                if (Config.ENT_TESTEVENTS)
                    _log.info(getName()+" eventName="+params[0]+" params.length="+params.length);
                if (_eventInstances.containsKey(params[0]) && params.length > 1 && params[1].equalsIgnoreCase("y"))
                {
                    L2EventGroupEngineInstance event = _eventInstances.remove(params[0]);
                    event.deleteData();
                    saveData();
                    player.sendMessage(getName()+" data saved to DB");
                }
                else if (params.length  0 && !eventName.contains(" ") && eventName.length()  16)
                    player.sendMessage("Name event need have 1-16 characters");
         
                showMainPage(player);
            }
            catch (Exception e) {
                _log.warn(e.getMessage());
            }
        }
        return super.useAdminCommand(player, command);
    }

    protected void showMainPage(L2PcInstance player)
    {
        NpcHtmlMessage adminReply = new NpcHtmlMessage(5);

        TextBuilder replyMSG = new TextBuilder(""+getName()+"");

        replyMSG.append("[ "+getName()+" ]"
                +""
                +"");
        replyMSG.append("
Engine instances");
        replyMSG.append("");
        for (L2EventGroupEngineInstance event : _eventInstances.values())
        {
            replyMSG.append(""+event.getName()+""
                +""
                +""
                +""
                );
        }
        replyMSG.append("");
        replyMSG.append("");
        replyMSG.append("");
        replyMSG.append("");
        replyMSG.append("");

        adminReply.setHtml(replyMSG.toString());
        player.sendPacket(adminReply);
        // Send a Server->Client ActionFailed to the L2PcInstance in order to avoid that the client wait another packet
        player.sendPacket(ActionFailed.STATIC_PACKET);
    }
}

С точки зрения ява-машины - ничего страшного, но нужно было оставить вторую проверку - выполнение кода не пошло бы хоть так, хоть эдак, никаких потерь по времени
Но с точки зрения написания - ***ец
Чет герычем попахивает, мдам.......

command.substring(getCommand().length()+5); еще меня особенно умиляет)
Берем строку, режем ее, вычленяем остаток - вуаля, команда!

Начнем с того, что ты кроме маршалинга тут, я так понимаю, ничего не понял?

Второй интересный вопрос, а ты вообще что-то написал, или ты воздух сам знаешь из чьей попы в попытке создать пук?

Когда ты ответишь на эти простые вопросы, то станет понятно и к чему этот цирк. И тогда мы поищем что там за говно ты написал, а то что оно у тебя говно - так не сомневайся, показывай свой код - мы поржем.

Цитата:

Сообщение от GenCloud

Код:


Код:

/**
*
* @author Visor123
* L2Emu Enterprise Server
*/
public class L2ManagementEventGroupEngine extends L2EventGroupEngine
{
    public L2ManagementEventGroupEngine(String name, String command)
    {
        super(name, command);
    }

    @Override
    public boolean useAdminCommand(L2PcInstance player, String command)
    {
        if (Config.ENT_TESTEVENTS)
            _log.info("L2ManagementEventGroupEngine "+getName()+" useAdminCommand player="+player.getName()+" command="+command);
 
        if (command.equalsIgnoreCase(getCommand()))
        {
            showMainPage(player);
        }
        else if (command.startsWith(getCommand()+"_show")
                || command.startsWith(getCommand()+"_status")
                || command.startsWith(getCommand()+"_edit")
                || command.startsWith(getCommand()+"_save")
                || command.startsWith(getCommand()+"_load")
                || command.startsWith(getCommand()+"_schedule")
                || command.startsWith(getCommand()+"_totaliser")
       
                || command.startsWith(getCommand()+"_join")
                || command.startsWith(getCommand()+"_start")
                || command.startsWith(getCommand()+"_teleport")
                || command.startsWith(getCommand()+"_abort")
                || command.startsWith(getCommand()+"_finish")
       
                || command.startsWith(getCommand()+"_auto")
                || command.startsWith(getCommand()+"_sit")
                || command.startsWith(getCommand()+"_stand")
                || command.startsWith(getCommand()+"_kick")
                )
        {
            String eventName = command.substring(getCommand().length()+6);
            if (command.startsWith(getCommand()+"_schedule")
                    || command.startsWith(getCommand()+"_teleport"))
                eventName = command.substring(getCommand().length()+10);
            else if (command.startsWith(getCommand()+"_finish") || command.startsWith(getCommand()+"_status"))
                    eventName = command.substring(getCommand().length()+8);
            else if (command.startsWith(getCommand()+"_start")
                    || command.startsWith(getCommand()+"_abort")
                    || command.startsWith(getCommand()+"_stand"))
                eventName = command.substring(getCommand().length()+7);
            else if (command.startsWith(getCommand()+"_sit"))
                eventName = command.substring(getCommand().length()+5);
            else if (command.startsWith(getCommand()+"_totaliser"))
                eventName = command.substring(getCommand().length()+11);
           
            try
            {
                String[] params = eventName.split(" ");
                if (Config.ENT_TESTEVENTS)
                    _log.info("L2ManagementEventEngine "+getName()+" show/edit... eventName="+params[0]+" params.length="+params.length);
                if (_eventInstances.containsKey(params[0]))
                    _eventInstances.get(params[0]).useAdminCommand(player, command, params);
                else
                {
                    player.sendMessage("Event instance with name="+params[0]+" not found");
                    showMainPage(player);
                }
           
                return true;
            }
            catch (Exception e) {
                _log.warn(e.getMessage());
            }
        }
        else if (command.startsWith(getCommand()+"_del"))
        {
            try
            {
                String eventName = command.substring(getCommand().length()+5);
                String[] params = eventName.split(" ");
                if (Config.ENT_TESTEVENTS)
                    _log.info(getName()+" eventName="+params[0]+" params.length="+params.length);
                if (_eventInstances.containsKey(params[0]) && params.length > 1 && params[1].equalsIgnoreCase("y"))
                {
                    L2EventGroupEngineInstance event = _eventInstances.remove(params[0]);
                    event.deleteData();
                    saveData();
                    player.sendMessage(getName()+" data saved to DB");
                }
                else if (params.length  0 && !eventName.contains(" ") && eventName.length()  16)
                    player.sendMessage("Name event need have 1-16 characters");
       
                showMainPage(player);
            }
            catch (Exception e) {
                _log.warn(e.getMessage());
            }
        }
        return super.useAdminCommand(player, command);
    }

    protected void showMainPage(L2PcInstance player)
    {
        NpcHtmlMessage adminReply = new NpcHtmlMessage(5);

        TextBuilder replyMSG = new TextBuilder(""+getName()+"");

        replyMSG.append("[ "+getName()+" ]"
                +""
                +"");
        replyMSG.append("
Engine instances");
        replyMSG.append("");
        for (L2EventGroupEngineInstance event : _eventInstances.values())
        {
            replyMSG.append(""+event.getName()+""
                +""
                +""
                +""
                );
        }
        replyMSG.append("");
        replyMSG.append("");
        replyMSG.append("");
        replyMSG.append("");
        replyMSG.append("");

        adminReply.setHtml(replyMSG.toString());
        player.sendPacket(adminReply);
        // Send a Server->Client ActionFailed to the L2PcInstance in order to avoid that the client wait another packet
        player.sendPacket(ActionFailed.STATIC_PACKET);
    }
}

С точки зрения ява-машины - ничего страшного, но нужно было оставить вторую проверку - выполнение кода не пошло бы хоть так, хоть эдак, никаких потерь по времени
Но с точки зрения написания - ***ец
Чет герычем попахивает, мдам.......

command.substring(getCommand().length()+5); еще меня особенно умиляет)
Берем строку, режем ее, вычленяем остаток - вуаля, команда!

Я смотрю, ты ссыкнул показать свой говнокод. Вывод очевиден - человек ты воздух из попы единорога.

Вопросы? Видимо нет. Нет кода - нет вопросов.

Человек, ты обосрался, сочувствую.

Цитата:

Сообщение от Mifesto

Потому что это команды для ивентов(если я не ошибаюсь), а у каждого ивента может быть своя команда.

П.С. Единственное что напрягает, это куча обрезания строк... Нельзя в начале обработки разделить строку по первому пробелу, и вышло бы 1 часть - команда, 2 часть - аргументы?

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

Я не посчитал нужным тратить время на реструктуризации кода и вывод маршалинга некритичных к времени секций. Ничего в этом нет страшного, зато я потратил время на то, что исправил Javolution - а никто этого сделать не смог почему-то, это же так просто.

У всех "просто" разное, кто-то ровняет маршалинг, а кто-то вообще ничего, зато трындит.

Причем ТС настолько тупой, что даже не понял для чего этот класс нужен. И используется ли он вообще в игре.

GenCloud 23.09.2015 21:25

Цитата:

Сообщение от Visor123

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

1) Я не сторонник расшариваний своих наработок.

2) Может это ты все через жопу вывернул ммм? Чекаем команды: проверка "или" на все команды команд -> следующая такая же проверка команду, лол, пздц, я ору.

Сплит по пробелу, [0] - наша команда... самое клевое дальше ты делает этот сплит по пробелу что бы получить параметры String[] params = eventName.split(" ");

А свое пуканобомбение могешь засунуть себе в очко.

Visor123 23.09.2015 21:28

Цитата:

Сообщение от GenCloud

1) Я не сторонник расшариваний своих наработок.
2) Может это ты все через жопу вывернул ммм? Чекаем команды: проверка "или" на все команды команд -> следующая такая же проверка команду, лол, пздц, я ору.
Сплит по пробелу, [0] - наша команда... самое клевое дальше ты делает этот сплит по пробелу что бы получить параметры String[] params = eventName.split(" ");
А свое пуканобомбение могешь засунуть себе в очко.

То есть ты ссыкнул свой говнокод показать. Что и требовалось показать.

О чем ты тогда вякаешь, если ты само ни о чем? То что ты тупой в программинге, это понятно по твоим сообщениям.

Я сочувствую тебе, что ты такой тупой. Можешь этим кичиться.

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

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


Время: 17:30