AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Moderne Softwareentwicklung

Ein Thema von freimatz · begonnen am 26. Sep 2019 · letzter Beitrag vom 30. Sep 2019
Antwort Antwort
Seite 3 von 3     123   
freimatz

Registriert seit: 20. Mai 2010
1.445 Beiträge
 
Delphi 11 Alexandria
 
#21

AW: Moderne Softwareentwicklung

  Alt 30. Sep 2019, 08:32
Das ganze moderne Zeug ist aber irgendwie auch alt. Wann wurden die agilen Prinzipien ausgerufen? Wo beginnt OOP? Das gilt auch für andere Mechaniken, die dann plötzlich hip oder als groovie ausgerufen werden. Das nächste Ding ist halt deep-Learning, was schon jetzt an seine Grenzen gerät.

Was ich meinte ist zum einen: Es ist nicht alles Gold was glänzt und es wird nicht so heiß gegessen wie es gekocht wird.

Und diese ganzen neuen Methoden sind ja schön. Aber in wiefern verbessern oder beschleunigen sie was?
Wann wurden die agilen Prinzipien ausgerufen? Das Agile Manisfest war von Februar 2001.
Wo beginnt OOP? Ist das eine rhetorische Frage?
Natürlich ist nicht alles Gold was glänzt - viele schauen nicht mal nach ob das was glänzt Gold sein könnte. Es wird nicht so heiß gegessen, ja, aber viele essen nicht mal kalt.
Und manche fallen auf der andere Seite des Pferdes wieder runter (bin ich auch schon öfters). Andere steigen erst gar nicht auf.

TDD wurde schon genannt. Ich hatte am Anfang grosse Mühe damit. Inzwischen verwende ich es immer wo ich kann. Wenn es geht habe ich erlebt bin ich schneller fertig und damit schneller beim Kunden. Wenn es nicht geht liegt es meist daran,
1. dass nicht klar ist, was das Ding überhaupt können muss, oder
2. dass der Code an dem ich was ändere gar nicht testbar ist
Beides ist jedoch kein Mangel an TDD selber.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.605 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#22

AW: Moderne Softwareentwicklung

  Alt 30. Sep 2019, 09:20
Was natürlich nicht passieren darf ist "ich ändere das mal so und so, um dem Bug zu fixen, und dann schau ich welche Tests kaputt sind um die dann auch anzupassen" - das ist sinnfrei und kein TDD.
Auch das kann legitim sein, wenn sich z.B. herausstellt, dass die Tests nicht korrekt die Anforderung wiedergaben oder selbst fehlerhaft waren. Tests sind schließlich auch nur Code und der kann Bugs enthalten.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#23

AW: Moderne Softwareentwicklung

  Alt 30. Sep 2019, 09:59
Auch das kann legitim sein, wenn sich z.B. herausstellt, dass die Tests nicht korrekt die Anforderung wiedergaben oder selbst fehlerhaft waren. Tests sind schließlich auch nur Code und der kann Bugs enthalten.
In dem Fall würde man aber erst die Tests korrigieren und danach, wenn die dann fehlschlagen, den eigentlichen Code.

Leider fallen viele Anwender von TDD in die Rot-Grün-Falle: Der Code wird solange angepasst, bis alle Tests grün sind. Dann geht es schon weiter zum nächsten Bug/Feature/Test. Der TDD-Zyklus ist damit aber noch gar nicht abgeschlossen, denn er besteht aus drei Schritten: write the test - write code to make the test green - refactor the code to make it clean. Der letzte Schritt wird leider viel zu oft übersprungen, da er leider sehr zeit-intensiv ist und einen guten Überblick über das Gesamtprojekt erfordert. Übrigens: Das Postulat schreibe nie mehr Code als nötig ist, um den Test grün zu machen ist hierzu kein Widerspruch. Wir schreiben ja nicht mehr Code, sondern ändern lediglich den vorhandenen. Dabei nutzen wir den grünen Test als Hinweis, daß wir beim Refactoring nichts kaputt gemacht haben.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.605 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#24

AW: Moderne Softwareentwicklung

  Alt 30. Sep 2019, 10:28
Auch das kann legitim sein, wenn sich z.B. herausstellt, dass die Tests nicht korrekt die Anforderung wiedergaben oder selbst fehlerhaft waren. Tests sind schließlich auch nur Code und der kann Bugs enthalten.
In dem Fall würde man aber erst die Tests korrigieren und danach, wenn die dann fehlschlagen, den eigentlichen Code.
Was voraussetzt, dass man weiß, dass die Tests fehlerhaft sind. Wenn man das aber erst sieht, weil sie nach einer Änderung am Code fehlschlagen, dann kann man sie auch erst dann anpassen.
Thomas Mueller
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.445 Beiträge
 
Delphi 11 Alexandria
 
#25

AW: Moderne Softwareentwicklung

  Alt 30. Sep 2019, 10:46
Äh, Nein.
Wenn man einen Code zu ändern hat, dann sucht man bei TDD erst den dazugehörigen Test und ändert dann erst den. Und danach dann den produktiven Code.

Geändert von freimatz (30. Sep 2019 um 11:02 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#26

AW: Moderne Softwareentwicklung

  Alt 30. Sep 2019, 11:24
Äh, Nein.
Wenn man einen Code zu ändern hat, dann sucht man bei TDD erst den dazugehörigen Test und ändert dann erst den. Und danach dann den produktiven Code.
Nein, eben nicht! Es ist auch bei TDD nicht nur üblich, sondern auch erwünscht, daß der Code geändert wird. Der Test ist ja gerade dazu da, daß man diese Änderung durchführen kann, ohne die Funktionalität des Codes zu verändern. Nirgendwo steht, daß man den Code nicht mehr ändern darf, sobald der Test auf grün steht. Das wäre genau das Gegenteil von dem, was man mit TDD erreichen will.

In dem Zusammenhang kann es auch vorkommen, daß ein Test verworfen, ersetzt oder verändert wird - z.B. weil er fehlerhaft ist.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.445 Beiträge
 
Delphi 11 Alexandria
 
#27

AW: Moderne Softwareentwicklung

  Alt 30. Sep 2019, 11:39
Hm, vermutlich habe ich Euch falsch verstanden. Ich dachte bei den Änderungen vom Code ginge es Änderungen weil das Programm nicht das tut was der Anwender erwartet.
Dass man den produktiven Code refaktorisiert darf und soll ohne die Tests anzupassen ist für mich klar.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.605 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#28

AW: Moderne Softwareentwicklung

  Alt 30. Sep 2019, 12:08
Hm, vermutlich habe ich Euch falsch verstanden. Ich dachte bei den Änderungen vom Code ginge es Änderungen weil das Programm nicht das tut was der Anwender erwartet.
Dass man den produktiven Code refaktorisiert darf und soll ohne die Tests anzupassen ist für mich klar.
Es ging darum, dass nach den Anpassungen für eine neue Anforderung (für die zuerst Tests geschrieben wurden) ein anderer Test fehlschlägt und sich dann herausstellt, dass dieser Test fehlerhaft war.

In diesem Fall ist es natürlich korrekt, den Test anzupassen statt den Code so anzupassen, dass zusätzlich zu der neuen Anforderung auch der fehlerhafte Test wieder funktioniert.

twm
Thomas Mueller
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 08:18 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