Проєкт
Перевірте порожній ввід і рівні висоти, відхиляючи від’ємні та логічні значення без зміни даних.
Знайдіть найбільший прямокутник під стовпцями одиничної ширини з не більш ніж 256 цілими висотами від нуля до 1000000.
def histogram_area(heights):
heights = tuple(heights)
if len(heights) > 256 or any(type(h) is not int or not 0 <= h <= 1000000 for h in heights):
raise ValueError("height.range")
stack, best = [], 0
for i in range(len(heights) + 1):
current = heights[i] if i < len(heights) else 0
while stack and heights[stack[-1]] > current:
height = heights[stack.pop()]
start = stack[-1] + 1 if stack else 0
best = max(best, height * (i - start))
stack.append(i)
return bestПеревірте порожній ввід і рівні висоти, відхиляючи від’ємні та логічні значення без зміни даних.
Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.
Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.
def histogram_area(heights):
heights = tuple(heights)
if len(heights) > 256 or any(type(h) is not int or not 0 <= h <= 1000000 for h in heights):
raise ValueError("height.range")
stack, best = [], 0
for i in range(len(heights) + 1):
current = heights[i] if i < len(heights) else 0
while stack and heights[stack[-1]] > current:
height = heights[stack.pop()]
start = stack[-1] + 1 if stack else 0
best = max(best, height * (i - start))
stack.append(i)
return bestBarCumulus — робоче середовище програмування з ШІ у Windows для перевірки змін реалізації без втрати поведінки, яку вони мають зберігати. Відкрийте папку проєкту й поясніть, навіщо потрібен рефакторинг: зрозуміліший стан, менша допоміжна функція чи простіше тестування. Попросіть модель перевірити наявний контракт перед пропозицією заміни.
Можна підключити модель ШІ без цензури, якщо її пропонує ваша підтримувана сумісна з OpenAI або Anthropic кінцева точка. Додайте облікові дані за потреби. Обмеження постачальника, можливості інструментів і межі контексту залишаються чинними, тому використовуйте обговорення для розробки перевірюваних міркувань, а не вважайте інший вигляд реалізації поліпшенням сам по собі.
Обчислення максимального прямокутника за висотами стовпців — один із можливих прикладів. Попросіть перевірити, як код обробляє плато, порожній вхід і решту відкладеної роботи наприкінці. Додайте невеликі тестові приклади з перевіреними вручну результатами, а потім запитайте модель, які частини запропонованого рефакторингу зберігають ці випадки, а які змінюють їх.
Перевірте отриману різницю версій і запустіть перевірки проєкту саме на версії, яку плануєте залишити. Для складних змін порівняйте результати з незалежною простою реалізацією на малих входах. Таке порівняння є свідченням у межах перевіреного діапазону; воно не перетворює середовище програмування на автоматичну систему доведення.
Назвіть проблему супроводу, яку можна оцінити, наприклад незрозумілі переходи станів або дубльовану обробку. Попросіть найменшу пропозицію, що її усуває. Заміна має виправдовувати себе читабельністю та перевіреною поведінкою, а не лише новизною.
Однакові значення можуть виявити припущення про те, коли відкладений стан зберігається чи видаляється. Додайте коротке плато з відомим очікуваним результатом. Попросіть модель пояснити цей приклад щодо запропонованої реалізації перед перевіркою більших прикладів.
Воно підтверджує еквівалентність для перевірених входів і може виявити розбіжності. Тримайте діапазон входів та еталонну реалізацію явними й досліджуйте відмінності. Не називайте скінченне тестування доказом для всіх можливих входів, які приймає виробнича функція.
Прочитайте його межі входів і план виконання перед запуском. Підтвердьте також місця виконання інструментів: локальне виконання моделі потребує окремого сервера й не робить усі підключені інструменти виконання локальними. Навмисно обмежуйте тестові навантаження невеликими розмірами.
BarCumulus · Оновлено 2026-10-25