Комментарии 69
Бельше верится, что для года, отведено два знака, и максимальный возраст это 99
Проблема 2000, второй заход.
возраст вообще мимо кассы. у ментов такие же базы (по крайней мере часто были раньше). просто выделено 2 байта под год вместо 4-х. типа 80 это 1980.
самое смехотворное, что байтов потрачено 2 - аж целых 65тыс значений можно засунуть
Именно так! Процесс бронирования описан соответствующими регламентами IATA, которые были написаны ещё с учётом ограничений на объемы передаваемой информации. CRS (computer reservation systems) в авиации ведут свою историю с 1953-го года, а тогда каждый бит был на счету!
Сложно назвать это багом, скорей недоработка. Менее одного процента доживают до такого возраста, обычно люди намного раньше умирают.
Что вы такое говорите!
Это явный баг постановщика задачи.
Как будь-то люди не живут больше ста лет.
Живут то живут, только их настолько мало, что за них просто забывают. Вспоминают только вот в таких новостях или на всяких памятных датах. Ни я, ни мои знакомые не смогли вспомнить людей доживших до 100+лет. Небось и разработчики когда писали форму не смогли вспомнить. Вот и получается, что просто не учли некоторый момент. Да признаю это ошибка архитектуры. Это когда читаешь новость сразу такой герой сеньор, а как задачу ставить все немножко студенты.
Ни я, ни мои знакомые не смогли вспомнить людей доживших до 100+лет
Ну, вообще-то разработкики+постановщики должны оперировать не собственным опытом, а более релевантными иточниками знаний.
И выяснится что такие случаи на уровне погрешности которыми можно пренебречь
Пренебречь ради чего? Чтобы сэкономить один байт?
Там же наверняка (ну, я даю >95%) кобол и представление fixed decimal. Переписать будет стоить несколько миллионов только на админ. сопровождение работ.
Не ради чего, а вообще математически, Просто предыдущий оратор предлагал чтоб "разработкики+постановщики должны оперировать не собственным опытом, а более релевантными иточниками знаний."
А экономить это не для байтов а чтоб не забивать голову и экономить на тестах, постановке задач и выполнении
А экономить это не для байтов а чтоб не забивать голову и экономить на тестах, постановке задач и выполнении
Я полагаю каждый такой эксцесс (головомойка когда выясняется что приехал пожилой человек, а не младенец) стоит компании кратно выше, чем "экономия на тестах", "экономия на байтах" и пр..
Хотите экономить? Ну вбейте вместо того что они там вбили условный int32, и будут ваши люди хоть 10 тысяч лет жить. Зачем эти нелепые ограничения на ровном месте.
Ну и в целом, если писать код не ногами, то никаких особенных тестов на >100
и не нужно.
", "экономия на байтах" и пр..
опять же говор что нет никакого желания реально экономить на байтах
я незна типа данных у которого порог в 100 :)
Я полагаю каждый такой эксцесс (головомойка когда выясняется что приехал
пожилой человек, а не младенец) стоит компании кратно выше, чем
"экономия на тестах", "экономия на байтах" и пр..
Думаю, нет, если учесть цену всех административных действий - оформить проблему, продавить хотя бы оценку фикса через начальство, сделать эту оценку, расписать ТЗ, расписать тесты, сделать реализацию, проверить, разлить на все рабочие системы... реально на миллионы выйдет, если не на десятки миллионов. Обычно в таких "бегемотах" подобные изменения возможны только при выкатывании принципиально новой системы.
Ну и в целом, если писать код не ногами, то никаких особенных тестов на
>100
и не нужно.
Нужно - на каждый элемент обстановки. Число пишется в распечатке? Изменение формата. Кто-то должен описать требования, что сохраняется, что меняется, как тестировать. Где-то от этого поплыло форматирование, форма не влезла на страницу, скандал, переделка. Число вводится вручную? 3 цифры вместо 2, продумать новый лимит (не 999 же позволять?), сколько - 120? 150? 199? 200? Вопрос сложный, хоть на высшее руководство поднимай, принять самостоятельное решение на нижнем уровне побоятся. 2 байта в структуре вместо одного? Где-то фиксированные смещения заложены, всё поплыло, 99% мест починили, одно сломалось. Какой-то формат данных не позволяет 2 байта, позволяет только или 1, или 8 (вспоминается ZeroMQ) - выход за границы размера какой-то датаграммы, буфера переполнены, в тесте не найдено, потому что в тесте никто не подумал совместить одновременно такой возраст, звание "доктор" вместо "мистер" и одновременно 10 скидок на разные аспекты полёта. Я могу этот поток сознания про разные хохмы продолжать ещё долго только на своём опыте...
Я надеюсь, всё вышенаписанное это шутка. Если нет - бегите оттуда.
Я надеюсь, всё вышенаписанное это шутка.
Нет, конечно.
Если нет - бегите оттуда.
Сейчас я не в "бегемоте". Но - вы понимаете, что у них есть свои задачи и кто-то должен их исполнять? Если все хоть сколько-то вменяемые сбегут, то те, что останутся - что они построят?
Нет, увы, это не шутка — это, к сожалению, реальность нашей жизни. И бежать некуда: так везде. Человечество, к сожалению, очень-очень хреново решает проблемы, которые не уже впёрлись ему в физиономию настолько, что игнорировать их уже при всём желании никак не получается, а ещё всего-навсего могут возникнуть (см., например, глобальное(*) потепление) — это я по опыту говорю.
*
В очередной раз напомню, что слово "глобальное" не означает "температура повышается глобально (=везде)", оно означает "повышается глобальное среднее температуры" — слишком многие не понимают разницы.
Тест на наличие ограничения нужен, а на отсутствие - нет. Но тут даже не в тестах дело, тут архитектурная ошибка.
Математических пренебрежений быть не должно. В мире люди доживают до 100, и об этом известно. В мире рождаются люди с неопределенным полом, даже без смещения в какую-то сторону, и об этом известно.
Если бронирование привязано к паспорту - вообще не должно быть вопросов, данные должны быть указаны точно как в паспорте. Это система бронирования нарушает это правило.
Разрабы там были отличные. С них вообще-то практически все компьютеры и начались, потому что авиация была первой отраслью внедрившей и продажи через компьютер и даже электронную коммерцию. American Airlines + IBM это все начали, когда в Москве ещё Сталина хоронили.. И каналы связи там были совсем не "оптика". Так что каждый бит был на счету.
Недавно я видел статистику, что в Нижегородской области 300 человек возрастом за сотню. Это грубо 1/10000. Примерно такого же порядка число людей с нарушениями восприятия цвета, но про них помнят почти всегда. Другое дело — что люди за сотню не просто редко встречаются, но вообще редко летают.
Про людей стнарушенным цветовосприятием в большинстве случаев вспоминают только с целью предотвращения причинение ими вреда себе и окружающим в связи с этим расстройством. Водительская медкомиссия.
Ещё о них вспоминают в настолках. Редко бывает, что какой-то компонент маркируется цветом и не дублируется уникальным для этого цвета знаком. Правда, бывает и так, не все скрупулёзны в этом плане.
Сколько из этих долгожителей хоть раз летали на самолёте после достижения столетия?
>Недавно я видел статистику, что в Нижегородской области 300 человек возрастом за сотню
но летает из них НОЛЬ. по моим наблюдениям даже в 80 уже перестают летать, и вообще стараются далеко от дома не отползать. так что эта бабка достаточно нетипичная/подозрительная (может возраст ненастоящий)
Летают из них, конечно, единицы, но все же летают. Знаю бабку, которой уже сильно за 80, и она все еще катается по стране поездами и летает, причем самостоятельно, без сопровождения.
А те, кому за сотню, иногда летают на какие-нибудь медицинские манипуляции (на операцию в Москве из Сибири, например) или к новому месту жительства (дети к себе забрали).
И эти люди вполне себе имеют права на пользование авиационным транспортом. Если это даже не автоматизировано в целях экономии, должен быть протокол быстрого разруливания исключительных ситуаций в ручном режиме, особенно если эти ситуации, как в случае с этой конкретной бабкой, происходят достаточно регулярно.
Ни я ни мои знакомые не видели воочию половинчатые таймзоны, но это не значит что их нужно игнорировать при работе с датами.
+1.
Попробуйте в приложении авиакомпании Ы7 купить билет для человека 1923 года рождения. Точно такой же баг.
/me вспоминает один проект над которым была работа и такие вот особенности:
если супругу больше N лет(возраст больше пенсионного но меньше 100) - в сделке по ипотеке учавствовать нельзя
при заполнении анкеты на выдачу третьему лицу продукта (так можно) - максимально допустимый возраст - выше 100 лет (при этом в коде лежит комментарий про текущий рекорд возраста и что заданный максимальный лимит - превышает с "небольшим" запасом) - было требование про валидацию данных.
Малость оптимизировали базу данных, используя "tinyint BirthYear, BirthMonth, BirthDay" вместо "datetime DateBirth"
Даже там где точно известно количество символов, вводят новую систему нумерации и всё ломается.
Российские конторы еще любят дискриминировать людей без отчества. При чем когда на это указываешь в ответ начинают агрессивно хамить
У меня нет отчества. Вообще. И, нет, я не ненавистный всем русским иностранец. Я родился в 1980 году в Горьком, что в РСФСР. Вокруг меня образовалась независимая Российская Федерация и когда пришло время я получил ее паспорт
С государством все ок. Везде понимают, что отчества может не быть и все системы это норм принимают
У коммерсов бывает что норм принимает и даже есть место для отметки «нет отчества», но очень часто, что поле заполнить требует. Еще какая-то часть принимает пробел
И самая мерзкая часть это те кто лучше меня знают что у меня с отчеством. Например Metro C&C не дает заполнить анкету на получение своей карты, а когда я написал в поддержку мне в ответ стали агрессивно хамить, сначала что такого не бывает, что бы отчества не было и я вру, потом что им плевать на мои проблемы и это я сам виноват, что не могу стать их клиентом
Плюс последнее время Маилруэкспресс стал заворачивать посылки которые должны были идти в пункт выдачи на почту присылая мне письмо «Мы решили, что у вас неправильно указаны паспортные данные». При чем у меня эти данные там есть для таможни и подтверждены ей, при этом раньше все прекрасно ходило, при этом я пытался писать поддержке, что у меня все верно. Пофиг «мы посчитали, что у вас неправильно указаны паспортные данные, ваша посылка перенаправлена на почту по месту жительства»
Вы узнавали всю процедуру смены имени/отчества? Это не так просто и дешево, как кажеться.
Смена даже отчества автоматически требует замены свидетельства о рождении (своего и всех детей), браке, водительских прав, дипломов, документов на квартиры, сообщения банкам и переписывания контрактов с ними (возможно с перевыпуском карт), документов на работу и пенсию, новое получения всех виз и новый загран паспорт и т.п. Короче нужно менять абсолютно все документы где есть ваше имя, потому что Вася Иванов и Вася Иванов Александрович - два очень разных человека.
Платить нужно, кстати, тоже за замену каждого документа, в дополнение к пошлине. Легко может выйти десяток-другой тысяч рублей.
Причем если проблемы возникают раз в пару лет - большой вопрос стоит ли менять.
Да дело не в стоимости(хотя на самом деле все не так дорого, я в том году помогал подруге менять фамилию-имя было что-то в районе 2000 ржублей пошлины за смену и бланк паспорта вместе, а дальше только вопрос времени на замену банковских карт(бесплатно), полиса ОМС(бесплатно) и прочего)
Дело в том, что у меня отчества нет и это принципиально. Российские законы такой вариант принимают и везде в гос.бумагах прямо пишется «Отчество(при наличии)». То есть я не какое-то исключение с Нибиру, а я разновидность нормы которую предусматривает законодательство.
Проблемы только с ленивыми программистами которые положили МПХ на этот момент и хамящей поддержке отдельных контор
Самое забавное было с ТТК. У них прогеры криворукие и нельзя добавить клиента без отчества, но поддержка адекватная и когда на нынешней квартире подключал инет мне девушка из поддержки «Ой, а у нас не получается в форме без отчества. Давайте я вам напишу в отчестве «нет», вам так будет комфортно?» и теперь я у них в базе как «Нилл нет Рингил», выглядит словно кто-то спорит называть по имени или фамилии :-D
А так да, проблема была с Метро, я ее решил просто. Я не буду пользоваться этим магазином. Проблема вдруг стала проявляться с Алиэкспрессом, тут сложней, зачастую там до сих пор некоторые вещи сильно дешевле, ну видимо буду на имя бывшей заказывать, у меня есть от нее доверенность на получение посылок и писем.
А как тут человеку могло прийти в голову, что я должен из-за программистов без мозгов и хамов в поддержке искажет то как меня зовут я вообще не представляю. Вот просто в принципе как такое придумать можно?
хотя на самом деле все не так дорого, я в том году помогал подруге менять фамилию-имя было что-то в районе 2000 ржублей пошлины за смену и бланк паспорта вместе, а дальше только вопрос времени на замену банковских карт(бесплатно), полиса ОМС(бесплатно) и прочего
Это будет зависит от того сколько у вас вообще документов. Смотрите внимательно:
пошлина и паспорт - 2 тыс. рублей,
свидетельство о рождении - 650 рублей, свидетельсто о браке или разводе - 650 рублей,
свидетельство о рождении детей - 650 рублей * кол-во детей,
Водительские права - 2000 рублей, ПТС - 350, СТС - 650. Итого - 3 тыс. рублей,
Загранпаспорт (в теории можно попытаеться пользоваться старым, но черевато проблемами) - 5000 рублей,
Шенгенская виза в новый загран (старая в паспорте с другим именем не подходит) или виза в США и т.п. страны - 5000 рублей,
ИНН - 300 рублей
Итого: при большом кол-ве детях, браке и всех документах почти до 20 тыс. рублей.
Свидетельство о рождении свое менять не обязательно, можно оставить старое, оно работает в связке со свидетельством о перемене имени
Да, свирожи детей, если есть. Но в моем случае не актуально(и тоже только если дети несовершеннолетние, а у моих ровесников уж внуки пошли)
Ну загран да, но скажем подруга которой помогал просто ранее загран не получала и ждала когда сменит фамилию и имя, что бы потом получить
ИНН бесплатно, просто приходишь в налоговую и меняешь. Ну то есть пишешь заявление, через неделю приходишь и получаешь бумажку на новое имя. Так же бесплатно СНИЛС и полис ОМС
Но как я сказал дело не в цене даже. Дело в том, что с чего бы я буду под каких-то дураков которые не знают, что отчество это необязательный архаизм подстраиваться? Простите, но это они должны действовать в рамках законов, а не я себе что-то менять
А с чего бы я должен был указывать отчество?
У меня его нет
Точка
И законы это предусматривают. И гос.органы это принимают нормально
Почему я должен менять свое имя под хотелки лентяев-дураков в коммерческих структурах?
Как вам вообще в голову пришло, что клиент должен подстраиваться под конторы которым он платит?
«имена не могут быть одинаковыми».
И в наших авиакомпаниях тоже "гениальные" постановщики...
Это могли сделать как защиту от ошибочного бронирования при групповой покупке билетов - видимо, предположив, что случайный ввод на второго пакса того же ФИО, что и на первого, более вероятен, чем появление двух полных тёзок в одном рейсе.
От чего защищает авиакомпанию такая защита?
Но при бронировании еще и данные документа, удостоверяющего личность, указываются. Если они разные, и оба действительные (соответствуют ФИО) - то надо пропускать.
случайный ввод на второго пакса
и сумму *2 люди тоже не заметят?
Уже же был факап в истории авиации. Разработчики системы регистрации, родом из Латинской Америки, думали что их традиция распространяется на весь мир. У них "Ms." всегда означает взрослую женщину, а "Miss" ребёнка. Ну и они автоматом отметили всех, регистрированных как Miss как детей, для нужд программы оценки веса пассажиров. В результате были проблемы с перевесом на взлёте.
И вот опять система учёта стандартных, по чьему-то мнению, людей.
А зачем вообще в билете дата рождения? (Просто интересно)
Пол и дата рождения в билете для статистической оценки веса пассажира. Только в наше время начали разговоры о том, чтобы фактически взвешивать пассажиров, потому что статистика совсем по швам трещать начала. А раньше в основном хватало средних данных.
Просто не проще ли в таком случае спрашивать вес? У моего знакомого в 30 лет был вес 130 кг. Я думаю это мало соответствует какой либо статистики.
Получите систематическое занижение показателей, причём размер занижения со временем будет расти, пока не дойдёт до идиотизма. В этом плане случайный разброс от среднего "безопаснее" чем систематическое занижение.
Просто не проще ли в таком случае спрашивать вес?
Тогда вам придётся хранить и обрабатывать биометрические данные :)
Человек может не знать (давно мерил). Человек может посчитать "знать" что весит 60 кг (и возраст в два раза меньше паспорта).
Человек может считать чего ему собираются устроить дискриминацию по весу а он что виноват что весит много? Это все Обама с Путиным (во Франции - Макрон) виноваты же. Особенно если появится хоть какая то кривая статистика что денег с таких больше хотят даже если не так, а уж если менеджеры не решат что это хорошая идея...
В наше-то время жалеть два знака...
Вот недавно программисты с удивлением обнаруживали 29 февраля, а тут внезапно проблема y2k всплыла...
Что-то мне подсказывает, что это не баг, а фича. Возможно это защита от невнимательных пассажиров, которые не смотрят на столетие при указании даты рождения. В итоге получается наоборот, в аэропорту ждут бабушку, а там ребенок. И это должен быть более частый случай чем столетняя бабушка.
Из-за бага в системе бронирования в авиакомпании American Airlines принимают 101-летнюю женщину за годовалого ребёнка