Einzelnen Beitrag anzeigen

Getox

Registriert seit: 28. Dez 2012
155 Beiträge
 
Delphi XE3 Professional
 
#1

Ich habe schlimme Dinge [im Quellcode] gesehen :D

  Alt 29. Jul 2022, 13:13
Ich wollte einfach mal zur Unterhaltung eine Gruselgeschichte aus meinem Arbeitsleben erzählen.

Ich habe eine Änderung in einem Programmbereich vorgenommen, den ich eigentlich nie angefasst habe. Als ich beim Testen der Änderung das Programm schloss, bekam ich die Meldung über mehrere Speicherleaks.

Jetzt zum gruseligen Teil, was ein Vorgänger gemacht hat

Er hat ein Kontextmenü im Code aufgebaut, wo er jedem Menüeintrag 3 Integerwerte mitgeben wollte. Natürlich sind diese 3 Werte Magic Numbers - also Nummern, die auf magische Weise irgendwas machen und wo man ohne größere Recherche nicht herausfinden kann, was das für Nummern sind und was sie tun sollen. Das liegt auch daran, dass die einzelnen Nummern beim späteren auseinandernehmen des Strings in Variablen gepackt werden, die je mit einem Buchstaben benannt sind. Diese 3 Nummern hat er dann kommasepariert in einen String gepackt. Dann hat er Pointer auf diese Strings in die Tags der Menüeinträge gepackt. Damit die Strings aber nach dem Verlassen der Gültigkeitsbereiche nicht freigegeben werden, hat er den Speicher manuell reserviert. Diesen Speicher hat er aber nie wieder freigegeben...

Wie kann man nur so viele schreckliche Dinge gleichzeitig in eine einzige Mechanik einbauen?
Ist ein Nilpferd ein Pferd, das nicht vorhanden ist?

Geändert von Daniel (29. Jul 2022 um 13:41 Uhr) Grund: Titel angepasst
  Mit Zitat antworten Zitat