Проєкт
Випробуйте порожній ввід, нерівні рядки та розірвані імена, повертаючи виключні межі лише для повністю заповнених прямокутників.
Перевірте прямокутні області сітки з іменами ASCII та одиночними крапками для порожніх комірок.
import re
def grid_areas(rows):
if type(rows) is not list or any(type(r) is not str for r in rows):
raise ValueError("grid.rows")
if not rows:
return {}
cells = [r.split() for r in rows]
width = len(cells[0])
if not width or any(len(r) != width for r in cells):
raise ValueError("grid.width")
groups = {}
for y, row in enumerate(cells):
for x, name in enumerate(row):
if name == ".":
continue
if not re.fullmatch(r"[A-Za-z_][A-Za-z0-9_-]*", name):
raise ValueError("grid.name")
groups.setdefault(name, []).append((y, x))
result = {}
for name, points in groups.items():
top, bottom = min(y for y,x in points), max(y for y,x in points)+1
left, right = min(x for y,x in points), max(x for y,x in points)+1
if len(points) != (bottom-top)*(right-left):
raise ValueError("grid.rectangle")
result[name] = (top, bottom, left, right)
return resultВипробуйте порожній ввід, нерівні рядки та розірвані імена, повертаючи виключні межі лише для повністю заповнених прямокутників.
Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.
Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.
import re
def grid_areas(rows):
if type(rows) is not list or any(type(r) is not str for r in rows):
raise ValueError("grid.rows")
if not rows:
return {}
cells = [r.split() for r in rows]
width = len(cells[0])
if not width or any(len(r) != width for r in cells):
raise ValueError("grid.width")
groups = {}
for y, row in enumerate(cells):
for x, name in enumerate(row):
if name == ".":
continue
if not re.fullmatch(r"[A-Za-z_][A-Za-z0-9_-]*", name):
raise ValueError("grid.name")
groups.setdefault(name, []).append((y, x))
result = {}
for name, points in groups.items():
top, bottom = min(y for y,x in points), max(y for y,x in points)+1
left, right = min(x for y,x in points), max(x for y,x in points)+1
if len(points) != (bottom-top)*(right-left):
raise ValueError("grid.rectangle")
result[name] = (top, bottom, left, right)
return resultArevia — це робоче середовище для програмування з ШІ у Windows, у якому можна розробляти код, що пов’язує вхідні дані макета з видимою поведінкою. Відкрийте відповідні файли проєкту й опишіть, що має бути дозволено задавати людині, яка редагує макет. Попросіть модель перевірити валідатор і код, що його викликає, перш ніж змінювати будь-яку сторону цієї взаємодії.
Ви обираєте модель-помічника через підтримувану кінцеву точку, сумісну з OpenAI, або кінцеву точку Anthropic і за потреби надаєте облікові дані. Модель ШІ без цензури можна обрати, якщо її пропонує ваша кінцева точка. Її обмеження, підтримка інструментів та місткість контексту залежать від цієї конфігурації, а не є гарантіями для завдання з макетом.
Перевірка прямокутності областей CSS Grid — один із прикладів запиту. Додайте до розмови правильну сітку, незв’язну іменовану область і рядок нерівномірної ширини. Запитайте, як поточна реалізація приймає або відхиляє кожен випадок, а потім перевірте запропоновану зміну, яка зберігає правильні макети та пояснює користувачеві помилковий.
Перевіряйте результат валідатора разом із відповіддю інтерфейсу. Навіть правильне відхилення потребує корисного повідомлення, а прийнятий макет має потрапляти до передбаченого шляху відображення. Запустіть тести проєкту, перегляньте змінений код і випробуйте характерні макети у власному інтерфейсі, перш ніж вирішувати, що функція працює за специфікацією.
Спочатку перевірте, чи проходить подана структура передбачену валідацію. Якщо так, простежте шлях прийнятого результату до відображення. Попросіть модель перевірити обидва шляхи на тих самих тестових даних, замість змінювати CSS до визначення етапу збою.
Лише якщо це явна вимога продукту. Виправлення може змінити задуманий макет. Визначте, чи інтерфейс має відхиляти, пояснювати або перетворювати вхідні дані, і перевірте отриманий код відповідно до обраної поведінки.
Додайте правильний прямокутник, іменовану область із прогалиною та рядки різної ширини. Для кожного вкажіть очікуваний результат. Додайте найменший набір тестових даних, що відтворює вашу проблему, щоб перевірка залишалася прив’язаною до описаної поведінки.
Назвіть файли та критерії приймання перед запитом роботи. Перевіряйте запропоновані дії інструментів: локальне виконання моделі потребує окремого сервера й не робить усі інструменти локальними. Перевірте отриманий інтерфейс у середовищі, яким справді користуєтеся.
Arevia · Оновлено 2026-10-25