Projeto
Teste entrada vazia e alturas iguais, rejeitando negativos ou booleanos sem alterar a entrada.
Encontre o maior retângulo sob barras de largura unitária com até 256 alturas inteiras entre zero e 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 bestTeste entrada vazia e alturas iguais, rejeitando negativos ou booleanos sem alterar a entrada.
Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.
Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.
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 bestO BarCumulus é um ambiente de programação com IA para Windows para revisar uma mudança de implementação sem perder o comportamento que ela deveria preservar. Abra a pasta do projeto e explique por que deseja refatorar: estado mais claro, uma função auxiliar menor ou um caminho mais fácil para os testes. Peça ao modelo que examine o contrato existente antes de propor uma substituição.
Você pode conectar um modelo de IA sem censura se ele for oferecido pelo seu endpoint compatível com OpenAI ou endpoint Anthropic suportado. Adicione credenciais quando necessário. As restrições do provedor, as capacidades das ferramentas e os limites de contexto continuam em vigor; use a conversa para desenvolver um raciocínio que possa ser revisado, em vez de tratar uma implementação de aparência diferente como uma melhoria por si só.
Um cálculo de retângulo máximo sobre alturas de barras é um exemplo que você pode trazer. Solicite uma revisão de como o código trata patamares, entradas vazias e o trabalho pendente final. Inclua casos pequenos com resultados conferidos manualmente; depois, pergunte ao modelo quais partes da refatoração proposta preservam esses casos e quais os alteram.
Examine o diff resultante e execute as verificações do projeto na mesma versão que pretende manter. Para mudanças complicadas, compare com uma implementação simples e independente usando entradas pequenas. Essa comparação fornece evidências dentro do intervalo testado; não transforma o ambiente de programação em um sistema automático de provas.
Identifique um problema de manutenção que possa avaliar, como transições de estado pouco claras ou tratamento duplicado. Peça a menor proposta capaz de resolvê-lo. Uma substituição deve justificar seu lugar pela legibilidade e pelo comportamento verificado, não apenas pela novidade.
Valores iguais podem revelar premissas sobre quando o estado pendente é mantido ou removido. Inclua um patamar curto com resultado esperado conhecido. Peça ao modelo que explique esse caso em relação à implementação proposta antes de revisar exemplos maiores.
Eles sustentam a equivalência para as entradas testadas e podem revelar divergências. Mantenha visíveis o intervalo de entrada e a implementação de referência e investigue diferenças. Não descreva testes finitos como prova para toda entrada possível aceita pela função de produção.
Leia os limites de entrada e o plano de execução antes de executá-lo. Confirme também os destinos das ferramentas: a inferência local de modelos exige um servidor separado e não torna local toda ferramenta de execução conectada. Mantenha deliberadamente pequenas as cargas dos testes.
BarCumulus · Atualizado 2026-10-25