![](https://habrastorage.org/getpro/habr/upload_files/0cb/56b/153/0cb56b1538daa0ad3db47d11f1c8ed31.png)
Так вышло, что спустя более чем 20 лет работы связанной с IT мне захотелось заглянуть в другие области знаний и таковой стала юриспруденция. Поступление на заочку, учёба, множество открытий, о которых и не задумывался раньше, привели меня к очередному этапу — учебной практике. Практика длилась месяц полноценной работы (рабочий день чуть короче обычного) и, помимо прочего, столкнула меня с большим количеством папок с документами. Поковырявшись недельку с этим добром мне пришла простая идея по структуризации этого дела в виде внедрения черкаш‑кода, о чём и поведаю в данной статье.
Кто. Что. Почему
Со времён появления повести «Шинель» Н.В. Гоголя произошло мало внешних изменений в области юриспруденции или, по крайней мере, связанной с государственной службой, как мне показалось.
Чиновники делятся на классы, что заметно в их отношении друг к другу, мечтают о повышениях и прибавках, ну и конечно же об отпуске заграницей, а между тем выполняют огромное множество рутинных операций с невообразимым количеством документов‑бумаг.
Некоторые документы складывают в папки, каждая из которых называется дело. Дела нумеруются, составляются на полки, переносятся из кабинета в кабинет, регистрируются, сдаются на хранение или в архив, передаются в другие учреждения и т. п. и т. д. Весь этот процесс мне напоминал работу накопителя данных изнутри. Словно меня поместили внутрь магнитного компьютерного диска и замедлили время.
Задача. Операции. Нагрузка.
Первое, на что я обратил внимание как технарь, что у каждого документа есть номер и это номер дела. Дела появлялись в большом количестве. Легко за день у одного сотрудника могло появиться несколько десятков дел с одним и более документом. Прилив документов ищущих своё дело мог тоже состоять из десятков документов, а если где‑то кто‑то недосмотрел или неуспел, то количество документов начинает расти лавинообразно. Документ ищет дело. Но что из себя представляет дело? Как его найти?
![](https://habrastorage.org/getpro/habr/upload_files/787/abb/411/787abb411f175d49e106a1ec0174488b.png)
У каждого дела есть папка с номером. Номер для каждого нового дела больше предыдущего. О номере думать не нужно, он появляется вместе с самым первым документом и воспринимается как данность. Номера увеличиваются в течении года и содержат год т. е. в новом году будут новые номера. Для удобства номер наносится на папке в двух местах. Один раз по середине и второй у края. Место сгиба у папок острое т. е. на торце номер писать толку мало, его видно не будет.
Таким образом, стандартный поиск нужного дела состоит из последовательного перебора папок, вытягивания их с полок и разглядывания корешка или середины. Когда имеется понятная структура сортировки дел, то найти нужное не составляет труда. Но любая структура при большом количестве новых данных постоянно ломается. Люди не роботы, кто‑то не поставил папку в нужное место, другой забыл разложить и когда дела накопились воткнул на полку без сортировки или пришёл посторонний человек и совершенно не разбираясь в структуре просто понавтыкал дел как ему показалось удобным. Хотелось иметь возможность не трогая дела понимать номер этого дела, хотя бы примерно и не перебирая дела понимать отсортированы ли они.
Решение. Внедрение. Выводы.
После перебора множества дел, второе, на что я обратил внимание, было то, что номера по году не превышают три сотни тысяч и высота папки равна примерно 30 сантиметров или 300 миллиметров.
![](https://habrastorage.org/getpro/habr/upload_files/509/21e/166/50921e166bad7094a23fbc05d796eae4.png)
Решение нашлось достаточно простое. Можно кодировать номер дела в виде чёрточки на торце дела таким образом, чтобы было видно примерный номер не трогая дело. Если у дела номер 12 345, значит чёрточка ставится на 12 миллиметрах, а у дела номер 54 321 чёрточка ставится на 54 миллиметрах. Идея простая и понятная. Для новых дел мы ставим полоску заводя его, но что делать со старыми? Некуда деваться, ради проверки идеи и гармонии в мире пришлось, вооружившись линейкой и маркером, расставить чёрточки и на старые дела.
Было естественным наблюдать скептицизм аборигенов к задумке и одно из первых
названий которые они дали данному подходу в процессе внедрения было «черкаши», что я и преобразовал в название данной технологии как «черкаш‑код».
Что получилось на выходе:
Отсортированные по номеру и времени дела;
![](https://habrastorage.org/getpro/habr/upload_files/c42/2a0/34b/c422a034bbf3421809818675fba83f5f.png)
Сортировка видна без перебора дел;
![](https://habrastorage.org/getpro/habr/upload_files/b9b/742/7ea/b9b7427ea62154a27053778686693b6b.png)
Нарушенная структура сразу заметна;
![](https://habrastorage.org/getpro/habr/upload_files/715/66c/fa1/71566cfa13b6f14ab0c0640b1b7b3319.png)
Втыкая новое дело на полку достаточно сравнить штрихи между собой просто проведя торцом новой папки по тем, которые уже стоят.
![](https://habrastorage.org/getpro/habr/upload_files/cbd/827/ba7/cbd827ba75733f3c54191e2ed34a75c9.png)
Внедрением идеи остался доволен, как и некоторые из служащих которые проводят львиную долю рабочего времени ковыряясь в документах. Сколько система продержится сказать сложно, всё зависит от людей.
На всём пути меня не покидало ощущение, что я переизобретаю то, что уже должно было бы быть изобретено давным давно. Однако, описания подобных простых систем не нашёл.
Буду рад любым дополнениям и замечанием.
Спасибо за внимание!