Ну даже с учетом таких вариантов можно было написать намного короче и логичней, например так:
public static boolean parseBoolean(String s)
{
if (s.equalsIgnoreCase("true") || s.equalsIgnoreCase("yes") || s.equalsIgnoreCase("on") || s.equalsIgnoreCase("y") || s.equals("1"))
return true;
else if (s.equalsIgnoreCase("false") || s.equalsIgnoreCase("no") || s.equalsIgnoreCase("off") || s.equalsIgnoreCase("n") || s.equals("0"))
return false;
throw new IllegalArgumentException("For input string: \"" + s + "\"");
}
Даже если такое будет работать чуть медленнее чем тот код - в том месте где это использовалось это вобще не критично.
Тот код, что я приводил примером ранее, если что взят из одной из веток java-эмулятора Lineage II. Ну и да там с качеством кода зачастую все достаточно печально, т.к. в процессе развития исходники зачастую проходят через множество людей, с разной степенью кривизны рук и каждый пишет так как видит "лучше".
Так вот в том то и дело что тот же стандартный метод Boolean.valueOf(String s) как раз так и проверяет, просто как
return s.equalsIgnoreCase("true");
т.е. просто и лаконично и этого бы хватило за глаза. К чему было городить то извращение, что я выше привел - я так и не понял. Метод если что использовался чисто для распарса булевых параметров из конфигурационных файлов и при этом там в качестве значений используются только true/false, но никак не 1/0, on/off и т.п.
Притом сканирует очень тупым образом - добавляя после первого сканирования в список "проверять эти папки потом периодически" все папки в названиях которых находит ключевые слова типа "game", "steam", "origin" и т.п.
Вот тоже интересно, что же за такая 1070 то? Ибо помнится я тоже где-то в 2017/2018 покупал свою 1070Ti (Asus Cerberus) и то она мне обошлась тогда в 40к.
Так вроде все (или почти все) соц сети и т.п. делают - ибо проще и быстрее промаркировать контент удаленным, чем физически его сразу же удалять с сервера.
Ну справедливости ради, насчет Аллодов - у них два типа серверов, один именно что f2p (p2w), а второй - подписочный, с абоненткой и без доната влияющего на статы и т.п.
И сейчас кстати как раз новые подписочные и открывают для новых игроков.
Тогда, вместо изобретения велосипеда, вполне можно было просто воспользоваться к примеру xnview, позволяющим делать кучу разных действий над целыми папками с изображениями, притом разом можно делать целую цепочку действий над каждым файлом - то же самое изменение размера, инвертирование цветов, наложение фильтров и т.д. и т.п.
Кстати в 1.2.х вроде как оная фича тоже работает, но только если юзать для логов JMSAppender.
З.Ы. Сам тоже все еще на первой ветке сижу. В целом то не проблема перейти на вторую или на logback, т.к. для работы с логами используется прослойка в виде slf4j и переход на другую библиотеку логгирования особо ничего переделывать не потребует, но просто пока все работает по принципу "работает? значит не трогай" :) тем более ничего в логгер такого не идет, куда бы могло попасть что-то передаваемое пользователями.
Ну даже с учетом таких вариантов можно было написать намного короче и логичней, например так:
Даже если такое будет работать чуть медленнее чем тот код - в том месте где это использовалось это вобще не критично.
Тот код, что я приводил примером ранее, если что взят из одной из веток java-эмулятора Lineage II. Ну и да там с качеством кода зачастую все достаточно печально, т.к. в процессе развития исходники зачастую проходят через множество людей, с разной степенью кривизны рук и каждый пишет так как видит "лучше".
Так вот в том то и дело что тот же стандартный метод Boolean.valueOf(String s) как раз так и проверяет, просто как
т.е. просто и лаконично и этого бы хватило за глаза.
К чему было городить то извращение, что я выше привел - я так и не понял.
Метод если что использовался чисто для распарса булевых параметров из конфигурационных файлов и при этом там в качестве значений используются только true/false, но никак не 1/0, on/off и т.п.
Пфф... а как вам такое? Я в свое время когда на это наткнулся в исходниках, в процессе правок кода - долго думал...
Притом сканирует очень тупым образом - добавляя после первого сканирования в список "проверять эти папки потом периодически" все папки в названиях которых находит ключевые слова типа "game", "steam", "origin" и т.п.
Тоже дом.ру - нормально открываются оба адреса.
Может от города еще зависит конечно.
А если названивают не из России, то как их накажешь то?
Вот тоже интересно, что же за такая 1070 то? Ибо помнится я тоже где-то в 2017/2018 покупал свою 1070Ti (Asus Cerberus) и то она мне обошлась тогда в 40к.
Насколько я в курсе, эта школа, вроде как несмотря на свое громкое название, никак с самим телецентром Останкино не связана.
Я так еще SWAG'и помню.
До сих пор где-то на винте лежат архивы с ними, с разной документацией, примерами и т.п. для Pascal, на котором я тогда писал...
Так вроде все (или почти все) соц сети и т.п. делают - ибо проще и быстрее промаркировать контент удаленным, чем физически его сразу же удалять с сервера.
Ну справедливости ради, насчет Аллодов - у них два типа серверов, один именно что f2p (p2w), а второй - подписочный, с абоненткой и без доната влияющего на статы и т.п.
И сейчас кстати как раз новые подписочные и открывают для новых игроков.
Планшет от Huawei, еще на 7 андроиде - тоже такое есть, скорее всего просто функционал на уровне оболочки EMUI.
Из этих 500кк наверное большинство тех, кто чисто халявные игры собирает, но ничего в самом EGS не покупает :)
У самого такой аккаунт там, на котором уже куча халявных игр, собираемых по принципу "шоб було" и которые я даже не ставил ни разу...
Как КДПВ поставлена Мику и при этом в статье ни слова про вокалоидов...
А, ну я сам просто до сих пор пользуюсь classic-версией, которая имеется только для windows.
Судя по скринам, делалось для винды?
Тогда, вместо изобретения велосипеда, вполне можно было просто воспользоваться к примеру xnview, позволяющим делать кучу разных действий над целыми папками с изображениями, притом разом можно делать целую цепочку действий над каждым файлом - то же самое изменение размера, инвертирование цветов, наложение фильтров и т.д. и т.п.
Я ведь правильно понимаю, что оригинальную головоломку все же не решили? А решили ее модификацию, добавив условия, которые позволили ее решить.
Но речь то о США шла. Или Филадельфия внезапно уже в Европу переехала? :)
И крышки от бутылок
Кстати в 1.2.х вроде как оная фича тоже работает, но только если юзать для логов JMSAppender.
З.Ы. Сам тоже все еще на первой ветке сижу. В целом то не проблема перейти на вторую или на logback, т.к. для работы с логами используется прослойка в виде slf4j и переход на другую библиотеку логгирования особо ничего переделывать не потребует, но просто пока все работает по принципу "работает? значит не трогай" :) тем более ничего в логгер такого не идет, куда бы могло попасть что-то передаваемое пользователями.