- Баллы
- 76
- Имя в Minecraft
- mirrerror
В твоем случае уместно это делать, я не спорю, но в данном случае мы один раз обратились к массиву args, поэтому нет никакого смысла создавать для него отдельное поле. Если ему нужно будет, то он сам это поле и создаст, ты сам говоришь, что не знаешь, будет ли он дальше использовать его или нет.Видимо ты не совсем понимаешь, что такое читабельность кода. В данном случае мы помогли с 1 методом, я не могу знать, будет ли он использовать далее args, если будет, то вписывая его везде, получая его - уже будет нечитабельно.
Ну, возможно, ты и прав.Перфекционизм перфекционизмом, но давай предположим ситуацию, с плагином на баны. В чат спамят рекламой, а у модератора был включен капслок. Человек максимально быстро реагирует на нарушения, вводя, допустим "/BAN *nick*" И что же ему выдаст твой перфекционизм? Ошибку, верно. Речь идет не о перфекционизме в данный момент, а о работоспособности и универсальности плагина.
Даже если взять твой "более адекватный код", то давай так:Упрощу задачу более адекватным и понятным кодом.
Код:@EventHandler public void onCommand (PlayerCommandPreprocessEvent e) { Player p = e.getPlayer(); String[] args = e.getMessage().split(" "); if(args.lenght !=0) { if(args[0].equalsIgnoreCase("комманда") { e.setCancelled(true); } } }
1. В методе getMessage() возвращается команда со слешем, поэтому args.length не может быть пустым, следовательно, мы имеем лишнюю проверку.
2. Хоть создание поля args и будет понятнее новичку, но оно в данном конкретном случае бессмысленно, так как мы обращаемся к нему только один раз.
Последнее редактирование: