Угадай алгоритм
Jan. 13th, 2012 02:19 pmПродолжая тему памяти и документации.
У нас на работе используются идентификаторы из 6 цифр и одной буквы. Цифры выдаются системой по порядку, а буква избыточная, для контроля ошибок. Она генерится специальным алгоритмом так, чтобы у «соседних» номеров буквы были разными — соседними мы называем номера, отличающиеся от исходного одной (любой) цифрой, либо (не 100% достоверная информация) перестановкой двух любых (возможно, соседних) цифр. То есть такая вот минимальная защита от классических описок/опечаток.
Ну а дальше классика — дошли до 999999, подняли алгоритм генерации букв, в нём комментариев ноль, документации ноль, написавший его человек ушёл на пенсию настолько давно что никто не помнит даже его имени. Ходят какие-то слухи, что он не сам придумал алгоритм, а содрал его у более продвинутых товарищей (цитируются американские военные), и это внушает надежду, что кто-то опознает алгоритм.
Вот его причёсанная java-версия (изначально, конечно же, написан на Cobol’е), вам что-нибудь говорят эти цифры? ( Read more... )
У нас на работе используются идентификаторы из 6 цифр и одной буквы. Цифры выдаются системой по порядку, а буква избыточная, для контроля ошибок. Она генерится специальным алгоритмом так, чтобы у «соседних» номеров буквы были разными — соседними мы называем номера, отличающиеся от исходного одной (любой) цифрой, либо (не 100% достоверная информация) перестановкой двух любых (возможно, соседних) цифр. То есть такая вот минимальная защита от классических описок/опечаток.
Ну а дальше классика — дошли до 999999, подняли алгоритм генерации букв, в нём комментариев ноль, документации ноль, написавший его человек ушёл на пенсию настолько давно что никто не помнит даже его имени. Ходят какие-то слухи, что он не сам придумал алгоритм, а содрал его у более продвинутых товарищей (цитируются американские военные), и это внушает надежду, что кто-то опознает алгоритм.
Вот его причёсанная java-версия (изначально, конечно же, написан на Cobol’е), вам что-нибудь говорят эти цифры? ( Read more... )