Перевод Налогового кодекса на JavaScript

Я программирую в качестве хобби. Исполнение кода даёт намного большее ощущение контроля, чем я испытываю в любом, даже самом банальном юридическом кейсе. Поэтому программирование меня успокаивает. Конечно, есть и практическая польза от автоматизации задач: меньше технических ошибок, больше времени для творческой работы.

Недавно я решил, что было бы неплохо кроме Python немного освоить и JavaScript. ИИ уже по одному запросу может создать индивидуальное расширение для браузера или полезный инструмент для договорной работы. Но использовать такие программы как чёрный ящик мне неинтересно, хочется понимать и проверять их внутреннюю логику, а при необходимости что-то исправлять самому.

Изучать любой язык программирования лучше на практике. Выбор пал на калькулятор госпошлины в арбитражных судах. Впервые взглянув на нормы пп. 1 п. 1 ст. 333.21 Налогового кодекса РФ с позиции строгой математической логики, я обнаружил парадокс: при буквальном прочтении в один абзац попадают суммы иска до 100 000 рублей, в другой абзац от 100 001 рубля до миллиона. А вот суммы иска от 100 000,01 руб. до 100 000,99 руб. не попадают никуда.

Когда формализуешь юридическую норму в чёткий алгоритм, такой небольшой "люфт" в словесной конструкции становится заметен. Наверное, подобный взгляд может быть полезен не только для составления компьютерных программ для юристов, но и в обычной юридической работе, например, при проверке договоров, где важны чёткость и однозначность формулировок.

Вскоре этот навык действительно помог в работе: мне попался лицензионный договор, где для разных интервалов доходов от использования изобретения устанавливались разные ставки роялти. И в этом договоре была похожая логическая ошибка: между интервалами оставался "зазор" в один рубль, который мне удалось устранить, немного подправив формулировку. Возможно, если бы не JavaScript, я бы не заметил этот нюанс.

Кстати, калькулятор госпошлины у меня заработал. Если интересно - пишите в комментариях или личных сообщениях, пришлю. Он работает локально, никуда ничего не отправляет, достаточно открыть калькулятор в любом браузере - установка и доступ в интернет не требуются.

А есть у вас хобби, которые позволяют по-другому посмотреть на свою профессию?

Перевод Налогового кодекса на JavaScript | Сетка — социальная сеть от hh.ru