OberonCore https://forum.oberoncore.ru/ |
|
На дворе XXI век, а допускаются такие ошибки. https://forum.oberoncore.ru/viewtopic.php?f=86&t=4160 |
Страница 1 из 1 |
Автор: | Иван Кузьмицкий [ Воскресенье, 18 Ноябрь, 2012 16:39 ] |
Заголовок сообщения: | На дворе XXI век, а допускаются такие ошибки. |
Цитата: В стандартном менеджере контактов Android 4.2 отсутствует месяц декабрь. За ноябрём 2012 года сразу идёт январь 2013. В предыдущих версиях календарь работает нормально. Баг зарегистрирован в багтрекере Android под номером 39692. В обсуждении бага высказано предположение, что нелепая ошибка вызвана классической путаницей с индексами — декабрь будет 12-м месяцем, если считать с 1, и 11-м, если нумерация начинается с 0. https://code.google.com/p/android/issue ... l?id=39692 Если в XXI веке одна из самых больших корпораций позволяет себе такие баги, то что это значит? |
Автор: | Владислав Жаринов [ Вторник, 20 Ноябрь, 2012 08:23 ] |
Заголовок сообщения: | Re: На дворе XXI век, а допускаются такие ошибки. |
Может, дело, в частности, в этом?.. |
Автор: | kemiisto [ Вторник, 20 Ноябрь, 2012 10:38 ] |
Заголовок сообщения: | Re: На дворе XXI век, а допускаются такие ошибки. |
Это значит, что язык должен позволять задавать произвольные границы изменения индексов массивов. Например, от 1 до 12. А не строго от 0, за что ратовал столь горячо любимый сообществом Дейкстра. |
Автор: | Пётр Кушнир [ Вторник, 20 Ноябрь, 2012 11:12 ] |
Заголовок сообщения: | Re: На дворе XXI век, а допускаются такие ошибки. |
вы видели код и нашли ошибку? |
Автор: | Иван Кузьмицкий [ Вторник, 20 Ноябрь, 2012 11:17 ] |
Заголовок сообщения: | Re: На дворе XXI век, а допускаются такие ошибки. |
Пётр Кушнир писал(а): вы видели код и нашли ошибку? Android Police says this on the matter: "After digging through the AOSP source, I think the bug can be likely found in one of these commits, probably in the datepicker/DatePicker.java file - if you spot it, definitely drop a note in the comments. I think it has to do with adjusting for indexes that start with 0 - "off by 1" bugs are quite common." |
Автор: | albobin [ Вторник, 20 Ноябрь, 2012 12:03 ] |
Заголовок сообщения: | Re: На дворе XXI век, а допускаются такие ошибки. |
kemiisto писал(а): Это значит, что язык должен позволять задавать произвольные границы изменения индексов массивов. Например, от 1 до 12. А не строго от 0, за что ратовал столь горячо любимый сообществом Дейкстра. Не вижу связи между уменьшением ошибок и возможность произвольно задавать границы индексов. Всегда может быть противоречие между "естественностью" назначения конкретных границ и необходимостью в то же время получать например значение первого элемента. |
Автор: | Пётр Кушнир [ Вторник, 20 Ноябрь, 2012 12:39 ] |
Заголовок сообщения: | Re: На дворе XXI век, а допускаются такие ошибки. |
Иван Кузьмицкий писал(а): Android Police says this on the matter: да там непонятно, если они ошиблись с границами массива, и спинбокс [1..12], а массив имён месяцев [0..11], то почему спинбокс выбора месяца всё равно начинается с января. То есть, неверное предположение про кровавого Дейкстру.Получается, что ошибка не в массивах, а в процедуре подгонки диапазона спинбокса под диапазон массива, https://android.googlesource.com/platfo ... c7%5E!/#F0 то есть, это тупняк, в клиентском коде пишут - нам бы, от 1 до 12, а код внутри контрола сам меняет этот диапазон на 0..11, при этом в клиентском коде всё ещё существует поправка на то, что диапазон от 1..12, а он на самом деле уже 0..11, и в итоге получают диапазон -1..10, но минус один успешно заменяют на ноль, ну а чо. И ващё неясно, где там ассерты |
Автор: | Пётр Кушнир [ Вторник, 20 Ноябрь, 2012 12:45 ] |
Заголовок сообщения: | Re: На дворе XXI век, а допускаются такие ошибки. |
жесть какая, а если бы я задал диапазон от 35 до 70, они бы тоже тыкались в 36-й элемент массива имён. |
Автор: | Александр Ильин [ Вторник, 20 Ноябрь, 2012 14:05 ] |
Заголовок сообщения: | Re: На дворе XXI век, а допускаются такие ошибки. |
Пётр Кушнир писал(а): жесть какая, а если бы я задал диапазон от 35 до 70, они бы тоже тыкались в 36-й элемент массива имён. Вообще, судя по комментарию, это кривой фикс. Не проверяются значения < 0.
|
Автор: | Valery Solovey [ Вторник, 20 Ноябрь, 2012 19:24 ] |
Заголовок сообщения: | Re: На дворе XXI век, а допускаются такие ошибки. |
kemiisto писал(а): А не строго от 0, за что ратовал столь горячо любимый сообществом Дейкстра. Это Ваша отсебятина. Или есть ссылка на конкретную статью?
|
Автор: | kemiisto [ Среда, 21 Ноябрь, 2012 12:42 ] |
Заголовок сообщения: | Re: На дворе XXI век, а допускаются такие ошибки. |
Пётр Кушнир писал(а): жесть какая, а если бы я задал диапазон от 35 до 70, они бы тоже тыкались в 36-й элемент массива имён. Если бы Вы задали такой диапазон индексов для массива с названиями месяцев в качестве элементов, Ваше умственное здоровье можно было бы поставить под сомнение. Valery Solovey писал(а): Это Ваша отсебятина. Или есть ссылка на конкретную статью? Обсуждалось здесь. В моём сообщении в той теме есть ссылка на первоисточник. |
Автор: | Пётр Кушнир [ Среда, 21 Ноябрь, 2012 12:55 ] |
Заголовок сообщения: | Re: На дворе XXI век, а допускаются такие ошибки. |
kemiisto писал(а): Если бы Вы задали такой диапазон индексов для массива с названиями месяцев в качестве элементов, Ваше умственное здоровье можно было бы поставить под сомнение. Виджет NumberPicker, в котором обнаружили баг вообще про месяцы ничего не знает, учитесь читать.
|
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |