Канонический текст UUID
У идентификатора сначала есть правила записи, а затем смысл. IdSaffron даёт задаче разбора UUID папку проекта и проверяемое обсуждение с моделью, не выдавая правильный синтаксис за доказательство личности.
import re
UUID_TEXT = re.compile(r"[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}")
def uuid_bytes(text):
if not isinstance(text, str) or not UUID_TEXT.fullmatch(text):
raise ValueError("canonical lowercase UUID required")
return bytes.fromhex(text.replace("-", ""))Проверьте перед применением
Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.
Подключение
Базовый URL, учётные данные и доступный сервер.
Проект
Проверьте нули и шестнадцатеричные буквы, отклоняя верхний регистр, скобки, смещённые дефисы и внешние пробелы.
import re
UUID_TEXT = re.compile(r"[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}")
def uuid_bytes(text):
if not isinstance(text, str) or not UUID_TEXT.fullmatch(text):
raise ValueError("canonical lowercase UUID required")
return bytes.fromhex(text.replace("-", ""))Согласуйте представление идентификаторов на границе приложения
IdSaffron предоставляет среду программирования с ИИ для Windows для изучения небольших граничных функций, связывающих крупные части приложения. Если обработку идентификаторов нужно изменить, опишите допустимые представления и ожидания последующего кода. Попросите модель вместе изучить валидатор, преобразование и соответствующее место вызова, чтобы внешне безобидная нормализация незаметно не расширила контракт ввода.
Задача на основе uuid_text.py может проверять приём канонического текста UUID в нижнем регистре перед преобразованием в байты. Предоставьте примеры с разным регистром, разделителями и окружающими пробелами и укажите отклоняемые. Обсудите, нужна ли нормализация до валидации или вызывающий код обязан передавать каноническую форму. Эти решения делают правку достаточно конкретной для проверки по коду.
После проверки выполните тесты проекта и для полученных байтов, и для отклоняемых представлений. Изучите сообщения приложения о неверных идентификаторах, включая пути, ранее предполагавшие безошибочное преобразование. IdSaffron подключается к поддерживаемым OpenAI-совместимым конечным точкам или Anthropic с необходимыми учётными данными. Доступность неограниченных моделей зависит от выбранной конечной точки; ограничения, инструменты и объём контекста остаются свойствами модели и сервера. Примеры приёмки дают обсуждению кода устойчивый ориентир между редакциями.
Границы идентификаторов, требующие явного ответа
Должна ли функция принимать идентификаторы в верхнем регистре?
Решайте по контракту приложения, а не добавляйте гибкость автоматически. Если вызывающему коду нужен канонический нижний регистр, приём других форм может скрыть несогласованность выше по цепочке. Если задумана нормализация, укажите её место и проверьте полученное представление.
Доказывает ли допустимый идентификатор существование записи?
Нет. Проверка формата устанавливает лишь соответствие представления ожидаемой структуре. Существование и права доступа проверяются отдельно, поэтому изучите потребителя, прежде чем считать успешное преобразование разрешением доступа к записи.
Зачем проверять байты вместе с принятым текстом?
Сам приём не доказывает, что преобразование даёт ожидаемое потребителем значение. Добавьте известные пары текста и байтов и проверьте последующую обработку, особенно если правка меняет границы сериализации или хранения, используемые в других частях проекта.
Что если вызывающий код уже удаляет пробелы по краям?
Изучите это поведение до его дублирования. Согласуйте, получает ли функция нормализованный ввод или выполняет нормализацию сама. Явная ответственность упрощает понимание правил отказа и предотвращает разную обработку в разных путях вызова.
IdSaffron · Обновлено 2026-10-25