AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Wann hat sich die Funktion SecondsBetween geändert
Thema durchsuchen
Ansicht
Themen-Optionen

Wann hat sich die Funktion SecondsBetween geändert

Ein Thema von v2afrank · begonnen am 21. Aug 2014 · letzter Beitrag vom 21. Aug 2014
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#11

AW: Wann hat sich die Funktion SecondsBetween geändert

  Alt 21. Aug 2014, 13:34
Nochmal nachgedacht:
Aufgrund der bekannten Rundungen, an jede Zeit 'ne 1/4 Millisekunde dranhängen und an die Endezeit nochmal 'ne 1/4 Sekunde ... dann sollten die Rundungsfehler weg sein.
Oder selber rechnen Round(Abs(Zeit1 - Zeit2) * SecsPerDay) .
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#12

AW: Wann hat sich die Funktion SecondsBetween geändert

  Alt 21. Aug 2014, 13:40
Gibt es da nicht so eine tolle Erfindung wie Unittests?

Damit prüft man die eigenen Gebilde (und auch implizit das, was man mitverwendet).
Im Zweifelsfall läuft es auf einen Compilerschalter hinaus, der bestimmt Unterschiede bei den Compilern eben berücksichtigt. Aber dieser Fehler rutscht dann nicht mehr durch.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#13

AW: Wann hat sich die Funktion SecondsBetween geändert

  Alt 21. Aug 2014, 13:52
Zur Referenz noch die Diskussion, wo das Problem vor einigen Jahren auch schon auffiel: http://www.delphipraxis.net/151504-s...ehlerhaft.html

Zumindest mit Delphi 2010 stieß ich hier ebenfalls auch Ungereimtheiten und habe mir eine eigene, modifizierte Variante schreiben müssen, die korrekt rechnet.
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#14

AW: Wann hat sich die Funktion SecondsBetween geändert

  Alt 21. Aug 2014, 14:09
Gibt es da nicht so eine tolle Erfindung wie Unittests?
Wenn man nicht weiß, das es fehlerhaft ist und man die Routine nicht kennt, bringt das blöderweise nicht viel. Außer, man rechnet das für alle Zeiten aus, was dann wieder etwas länger dauert.

Ergo: Bei derart kritischen Routinen sollte man sich en Detail die Implementierung anschauen (was normalerweise bei Unittests eben nicht passiert, da man nach Spec testet) und die Einzelschritte testen (i.e. alle Codepfade). Oder besser: Eine Berechnung/Implementierung nach formal korrekter Spezifikation vornehmen. Und dann kann man wieder nach dieser Spec Tests schreiben und sich beruhigt zurücklehnen.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

AW: Wann hat sich die Funktion SecondsBetween geändert

  Alt 21. Aug 2014, 15:52
Gibt es da nicht so eine tolle Erfindung wie Unittests?
Wenn man nicht weiß, das es fehlerhaft ist und man die Routine nicht kennt, bringt das blöderweise nicht viel. Außer, man rechnet das für alle Zeiten aus, was dann wieder etwas länger dauert.
Aber ich weiß doch, was meine Funktionen herausbringen sollen und das überprüft man
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#16

AW: Wann hat sich die Funktion SecondsBetween geändert

  Alt 21. Aug 2014, 16:20
siehe der andere Thread -> http://www.delphipraxis.net/151504-s...ehlerhaft.html

Es kommt jetzt darauf an, mit welchem der beiden Werte du zufällig deinen Unittest aufbaust.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#17

AW: Wann hat sich die Funktion SecondsBetween geändert

  Alt 21. Aug 2014, 16:30
siehe der andere Thread -> http://www.delphipraxis.net/151504-s...ehlerhaft.html

Es kommt jetzt darauf an, mit welchem der beiden Werte du zufällig deinen Unittest aufbaust.
Nochmal zum Mitschreiben:

Ich für meinen Teil baue keine Unittests für die Standard-Delphi-Funktionen. Aber ich erstelle Funktionen, Klassen mit Methoden und diese benutzen auch die Delphi-Standard-Funktionen.

Für diese meinen Funktionen, Klassen und Methoden erstelle ich Unittests. Wenn dort dann nicht die erwarteten Werte herauskommen, dann schlägt der Unittest für meine Methoden/Funktionen an.

Warum das dann fehlerhaft ist, dass muss ich dann selber herausfinden. Das passe ich dann so an, dass es passt. Wenn eine neuere Delphi-Version dann andere Werte liefert, dann schlägt der Unittest wieder für meine Methoden/Funktionen an, weil die ja mit falschen Werten arbeiten.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#18

AW: Wann hat sich die Funktion SecondsBetween geändert

  Alt 21. Aug 2014, 16:33
Ja, und nun kommt es darauf an, mit welchem Wert deine Funktion z.B. dieses SecondsBetween aufrufen würde.

Jenachdem kann der Test deiner Funktion erfolgreich sein, falls du zufällig einen der funktionierenden Fälle erwischts.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#19

AW: Wann hat sich die Funktion SecondsBetween geändert

  Alt 21. Aug 2014, 16:39
Ja, und nun kommt es darauf an, mit welchem Wert deine Funktion z.B. dieses SecondsBetween aufrufen würde.

Jenachdem kann der Test deiner Funktion erfolgreich sein, falls du zufällig einen der funktionierenden Fälle erwischts.
Ja und das Gras ist grün ... wir wissen doch alle, dass bei einem Unittest mehrere Situationen geprüft werden müssen. Und wenn ein Bug zurückgemeldet wird, dann wird das als weitere Situation in den Unittest aufgenommen und dann der Bug beseitigt.

Ich sehe so einen Unittest immer als ein lebendiges Gebilde an.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#20

AW: Wann hat sich die Funktion SecondsBetween geändert

  Alt 21. Aug 2014, 16:43
Und wenn du jetzt in allen geprüften Situationen zufällig auf funktionierende Fälle triffst?


Frag mal den Murphy
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz