UltraEdit, custom error codes in codelines.

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Zilverdael80
  • Registratie: December 2006
  • Laatst online: 07:31
Titel klinkt heel vaag, maar is eigenlijk niet eens zo dom.
Ik heb een script die apparaten test. Inmiddels 500+ verschillende modellen, elk met hun eigen unieke en gecombineerde stukjes tests.
In elke test zitten hard fails, soft fails, retry's etc.
Ik zou graag willen dat elke fail zijn unieke code krijgt zodat het makkelijker terug te vinden is in de code.
b.v. ipv FailUnit("Update failed") zou dat een unieke code moeten bevatten. (bijvoorbeeld FailUnit("Update failed code:45") Er zijn op dit moment 3000+ fails geschreven, met de hand doen en vervolgens bijhouden 'op welk nummer' ik zit is niet te doen.

In eerste instantie dacht ik aan het regelnummer toevoegen, maar die wisselen met regelmaat alleen al door de changelog aan het begin van het bestand, toevoegen van en verwijderen van procedures etc.
RegEx lijkt geen counter functie te hebben, dus daar lukt het ook niet echt mee.

Ik werk met UltraEdit en door de code highlighting zou ik hier niet van af willen wijken. (nogal oude code)

Ik zoek dus een efficiente manier om 'custom' error codes te maken zodat ik bij elke fail precies weet op welk stukje van de code de test vast liep.

Voor mij zijn die codes van belang, voor de gebruikers zijn de berichten (zoals update failed) van belang.

Beste antwoord (via Zilverdael80 op 27-03-2023 14:33)


  • eheijnen
  • Registratie: Juli 2008
  • Niet online
Ben bang dat je toch iets van een overzicht, per apparaat, aan het maken zal komen.
Daarbij een "naming convention" hanteert. Per apparaat en fout code (01_45, 02_35 of zoiets).

Anderzijds zou je nú aan de hand van de regelnummer de code kunnen toekennen. En daarna ze zelf bijhouden naar gelang de code wordt aangepast.

In ieder geval is dit iets wat eerder niet meegenomen is in de ontwikkeling en doordat het project groter en daardoor minder overzichtelijk word je nu tegenaan loopt.

Ik denk dat je door deze zure appel heen moet maar daarna er ook de vruchten van plukt.

Wie du mir, so ich dir.

Alle reacties


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • eheijnen
  • Registratie: Juli 2008
  • Niet online
Ben bang dat je toch iets van een overzicht, per apparaat, aan het maken zal komen.
Daarbij een "naming convention" hanteert. Per apparaat en fout code (01_45, 02_35 of zoiets).

Anderzijds zou je nú aan de hand van de regelnummer de code kunnen toekennen. En daarna ze zelf bijhouden naar gelang de code wordt aangepast.

In ieder geval is dit iets wat eerder niet meegenomen is in de ontwikkeling en doordat het project groter en daardoor minder overzichtelijk word je nu tegenaan loopt.

Ik denk dat je door deze zure appel heen moet maar daarna er ook de vruchten van plukt.

Wie du mir, so ich dir.


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 21:41

MueR

Admin Tweakers Discord

is niet lief

eheijnen schreef op maandag 27 maart 2023 @ 09:37:
Ik denk dat je door deze zure appel heen moet maar daarna er ook de vruchten van plukt.
^^ dit. Je enige andere optie is naar met het parsen van stack traces enzo, maar persoonlijk zou ik gewoon de pijn nemen om overal unieke codes te maken zoals hierboven beschreven.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • mrmrmr
  • Registratie: April 2007
  • Niet online
@Zilverdael80 Is het een echte taal? Je kan misschien een LINE macro gebruiken.

voorbeeld: printf("line: %d\n", __LINE__);

Dat geeft geen vaste getal, maar je kan wel in de code terugzoeken wat de trigger was. Met UltraEdit kun je makkelijk zoeken en vervangen (UE macro's) toepassen om deze codes tussen te voegen.

Ik denk dat UltraEdit ook javascript ondersteund, daarmee kun je een teller laten lopen.

Misschien nog het best passend is UltraEdit oplopende getallen te laten genereren (vanaf/tot) in kolommen, die kun je vervolgens met een macro eruit knippen en plakken. Je kan de macro laten herhalen. Zoek en vervang heeft regexp ondersteuning.

Nog een andere aanpak is een array maken en die volstoppen met nummers (zoals LINE). Bij iedere test. Dat kun je het beste doen in functies of een lus, zodat je niet 3000 keer dezelfde stukken code hebt.

Acties:
  • +1 Henk 'm!

  • Zilverdael80
  • Registratie: December 2006
  • Laatst online: 07:31
Het is een echte taal, maar sinds 1999 niet meer ontwikkeld voor zover ik weet. (Aspect)

Heb de pijn geaccepteerd, alle error codes FC:000000 genoemd.
Een zij scriptje gebouwd die FC:000000 omzet in het regelnummer

Klaar.
Weer 6 uur werk naar de malle moeren, maar QOL verbetering is groot!

Allen dank voor het meedenken