Controleer vóór het toepassen
Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.
Breid een minutenveld van maximaal 128 tekens uit tot gesorteerde unieke waarden van nul tot 59.
import re
def minute_values(field):
if type(field) is not str or not 1 <= len(field) <= 128:
raise ValueError("minute.input")
result = set()
for item in field.split(","):
match = re.fullmatch(r"(\*|[0-9]+(?:-[0-9]+)?)(?:/([0-9]+))?", item)
if match is None:
raise ValueError("minute.syntax")
base, step_text = match.groups()
step = int(step_text) if step_text else 1
if not 1 <= step <= 59 or (step_text and base != "*" and "-" not in base):
raise ValueError("minute.step")
bounds = [int(x) for x in base.split("-")] if base != "*" else [0, 59]
low, high = (bounds[0], bounds[-1])
if not 0 <= low <= high <= 59:
raise ValueError("minute.bounds")
result.update(range(low, high+1, step))
return sorted(result)
Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.
Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.
Test lijsten, inclusieve bereiken en stappen op bereiken of sterren, en weiger omgekeerde grenzen, nulstappen en onbekende syntaxis zonder taken te plannen.
import re
def minute_values(field):
if type(field) is not str or not 1 <= len(field) <= 128:
raise ValueError("minute.input")
result = set()
for item in field.split(","):
match = re.fullmatch(r"(\*|[0-9]+(?:-[0-9]+)?)(?:/([0-9]+))?", item)
if match is None:
raise ValueError("minute.syntax")
base, step_text = match.groups()
step = int(step_text) if step_text else 1
if not 1 <= step <= 59 or (step_text and base != "*" and "-" not in base):
raise ValueError("minute.step")
bounds = [int(x) for x in base.split("-")] if base != "*" else [0, 59]
low, high = (bounds[0], bounds[-1])
if not 0 <= low <= high <= 59:
raise ValueError("minute.bounds")
result.update(range(low, high+1, step))
return sorted(result)
MinuteBramble biedt een AI-programmeeromgeving voor Windows voor configuratiewerk. Neem de parser, de code die zijn uitvoer leest en enkele echte configuratievoorbeelden mee in het gesprek. Vraag het model te bekijken wat de toepassing vandaag accepteert voordat je nieuwe syntaxis vraagt, zodat de wijziging een vastgesteld compatibiliteitsdoel heeft.
Een taak rond minute_field.py kan tests toevoegen voor minuutbereiken met stappen en geweigerde invoer. Leg de geaccepteerde veldsyntaxis en verwachte waardenlijst vast en bekijk hoe de aanroeper die lijst gebruikt. Dit is een parservoorbeeld uit een project; een veld evalueren is slechts één onderdeel van bepalen hoe een toepassing haar werk plant.
Voer na beoordeling van het voorstel geaccepteerde en geweigerde voorbeelden uit in je eigen omgeving. Controleer overlappende vermeldingen, bereikgrenzen en ongeldige stappen met onafhankelijk opgeschreven verwachte uitvoer. Als een wijziging meer configuratie accepteert, bekijk dan welke documentatie en foutmeldingen daarop moeten aansluiten. Een parser die meer tekst accepteert, is niet automatisch eenvoudiger te bedienen.
Je kunt een geablitereerd AI-model kiezen als dat via een ondersteund OpenAI-compatibel of Anthropic-endpoint wordt aangeboden. Geef zo nodig inloggegevens op en controleer de daadwerkelijke beperkingen van de dienst. Toolondersteuning en contextcapaciteit hangen af van model en server; houd de geaccepteerde grammatica en verwachtingen van de gebruikende code expliciet, ongeacht de verbinding.
Nee. Het levert één component volgens de geaccepteerde syntaxis van de parser. Andere planningsregels horen bij de toepassing die hem gebruikt. Neem de gebruikende code mee in de beoordeling en beschouw geslaagde veldexpansie niet als bewijs dat een volledige planningsprocedure correct is.
Leg vast of dubbele waarden moeten worden verwijderd en welke volgorde de aanroeper verwacht. Geef een klein overlappend voorbeeld met de exact verwachte uitvoer. Bekijk vervolgcode die herhaalde vermeldingen anders als herhaald werk kan interpreteren of op een vaste oplopende volgorde vertrouwt.
Definieer de grammatica bewust. Een soepele opschoning kan een typefout in onbedoelde configuratie veranderen. Beoordeel geaccepteerde en geweigerde vormen samen en controleer of foutmeldingen de ondersteunde syntaxis uitleggen zonder stilzwijgend betekenis toe te kennen aan invoer die de toepassing nooit heeft beloofd te accepteren.
Voeg de nieuwe vorm, de verwachte expansie en de wisselwerking met bestaande bereiken en stappen toe. Benoem de code die de waarden gebruikt en documentatie die moet worden bijgewerkt. Houd compatibiliteitsvoorbeelden beschikbaar, zodat de voorgestelde functie bestaand configuratiegedrag niet onbedoeld verandert.
MinuteBramble · Bijgewerkt 2026-10-25