- 1
- 2
- 3
String os = System.getProperty("os.name");
if (os.startsWith("Windows 9") || os.equals("Windows Me")) {
throw new RuntimeException(
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+89
String os = System.getProperty("os.name");
if (os.startsWith("Windows 9") || os.equals("Windows Me")) {
throw new RuntimeException(
https://searchcode.com/?q=if%28version%2Cstartswith%28%22window s+9%22%29
Очевидно Windows 10 спасёт ситуацию.
ps не хотелось бы никого
обидеть, просто слово бросилось в глаза.
http://stackoverflow.com/questions/6109679/how-to-check-windows-edition-in-java
http://stackoverflow.com/questions/2272972/how-to-test-for-windows-7-platform
http://stackoverflow.com/questions/228477/how-do-i-programmatically-determine-operating-system-in-java
судя по количеству вопросов - и качеству ответов - в заабстрагированой переаабстрагированой жабе правильного ответа на этот вопрос нету.
В enviromente еще всякое интересное попадается.
System.getProperty("os.version")
Кстати в первой же ссылке написано.
http://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions
но похоже что Win9x от NT4 отличить это не позволит.
Я ж говорю в enviroment неплохо бы поглядеть. Там OS - Windows_NT
В Qt в своё время упоролись, и проверяли версию постгреса свичом. Причем в дефолтной ветке было написано "ваш слоник слишком стар". Забавно было видеть эту надпись при подключении к свежей девятой версии.
Явная проверка версий - это вообще костыли и last resort. Кмк, запрос возможностей - гораздо более правильное и стабильное решение.
Только вот мало где учат апишки нормально проектировать, а совместимость версий людей как правило начинает волновать тогда, когда из выходов остаются только костыли.
Показателен vim с его has('feature'), емакс с boundp и прочие жуквери.
Вот когда приходится баги обходить или несовместимости апи, тогда уж и версии потестить можно...
И с другим софтом приходилось такое наблюдать.
Код декомпилированииый, так что смотрим только на double и на баг из-за соединения double.Parse с CurrencyDecimalSeparator.
1.2 > 1.15
В общем достойно отдельного ГК... Неужели автору было так трудно покомпонентно сравнить? :)
А вот факт использования денежного разделителя вместо обычного - это баг. И у меня оно замечательно при каждом запуске выдавало сообщение об ошибке парсинга, из-за чего я и стал его декомпилировать :)
Кстати.. надо будет новую версию глянуть - остался в ней этот косяк или нет... вероятно, десятые подверсии не проблема.
ШИНДОШС 98 > ШИНДОШС 2000 > ШИНДОШС 10
windows xp > windows 95
windows 8 > windows 7
Всё нормально.
>Всё нормально.
Угу. Наглядный показатель деградации ОС от мелкософт.
Главное - прогрессию выбрать верную. Чтоб не слишком медленно (6.2.5.32 vs 6.2.5.33) росла и не слишком быстро (Chrome 34 - морально устаревшее говно!).
И такой вариант учли...
Какой багор
Воистину багор ))
Слава Багору!
Кто не тушит, тот пожар.
Что интересно, на hostingkartinok.com уже кончились ID для картинок:
Если seed общий на все ядра - то практически любой с периодом 2^64. Коллизий за весь период вообще не будет.
А если вместо ГПСЧ взять ГСЧ, то вероятность одной коллизии за 2^32 вставок будет всего 1/2.
Тонкий намёк :)