Что не так с изменениями законов?
Когда закон планируют изменить, каждый может ознакомиться с перечнем изменений. Это хорошо, но как именно это реализовано технически?
Откроем текст какого-нибудь законопроекта. Ход их принятия прозрачен, но вот сами изменения изложены следующим образом:
Прежде всего, как получить доступ к этому тексту - нужно скачивать документ. Это уже не очень.
Идём дальше: имеется текстовая ссылка на закон, причём очень громоздкая (это ещё маленькая). Да, эта ссылка очень точная, но она не позволяет перейти к документу без поиска в интернете.
Дальше, мы видим, что указывается, где и что предлагается изменить: что-то убрать, что-то добавить, что-то изменить. В целом, суть понятна, но, на самом деле, есть куда более хороший способ отображать изменения.
Закон - это программный код
Текст, который задаёт правила поведения некоторой системы, фактически, является программным кодом.
Программист описывает, как должен действовать компьютер для решения поставленной задачи. И эта задача может не иметь конца - самый простой пример - операционная система: она позволяет разным программам сосуществовать в рамках одного устройства - делить его ресурсы, обмениваться данными - в общем, жить.
Точно также, избранник, предлагая или утверждая изменения в законы, формирует новую версию программного кода.
А как работать с историей изменений и просматривать предложения новой версии - программисты давно придумали, и это решение простое до невозможности, но удобное!
Репозиторий
Хранилище файлов, которые нужны для работы с программным продуктом, называется репозиторием.
Соответственно, изменения в файлах репозитория отображаются построчно.
Это означает, что каждая новая версия является перечнем изменённых, добавленных и удалённых строк.
А именно это и содержит приведённый выше документ - внести такие-то изменения в такие-то пункты
Если объединить всю текстовую информацию, снабдив её разметкой, получится общедоступное хранилище размеченных документов, например, в формате MarkDown, так как он позволяет отслеживать изменения построчно.
В качестве примера, создадим репозиторий в системе GitFlic:
В репозиторий я поместил файл, с текстом закона и внёс изменения, аналогичные тому законопроекту:
Как видно, изменения отображены лаконично и наглядно, и никаких лишних слов. А если адаптировать такой подход непосредственно под законы, будет ещё нагляднее!
Как вам такой подход к отображению изменений в законах?
Ставьте лайки, подписывайтесь, у меня много интересного о рунете, программах и электронике