Servus,
Faar hat geschrieben: ↑Fr 24. Nov 2023, 14:42
Man geht davon aus, true ist Zustimmung und false ist Verneinung.
Äh, nein - bzw. nur in Bezug auf den zurückgelieferten Wert von
isTrackingAllowed().
Man geht erst mal von nichts aus was die Auswerte-Logik, also das Innere der Funktion, betrifft, zumindest ich nicht. Man schaut was der Code in der Funktion macht, welche Wertigkeit abgefragte Variable haben und ob das Ergebnis der Funktionslogik dem erwarteten Ergebnis der Funktion entspricht.
Von Außen betrachtet ist erst einmal egal, was diese interne Auswertung macht, Mich interessiert nur
isTrackingAllowed == true|false
Genau das ist ja der Sinn dahinter, dass ich solche Auswertelogik in eine Funktion/Methode kapsele, ansonsten könnte ich ja auch gleich die Auswertelogik, hier die Abfrage von
$_SERVER['HTTP_DNT'], im Code nutzen, und könnte mir die Funktion/Methode einfach sparen.
So aber kann ich Änderungen an der Auswertelogik und oder an der abgefragten Variablen machen, ohne das dies das Ergebnis und den Funktionsaufruf für den Anwender, bzw. für dessen Code, ändert, noch dazu nur an einer Stelle.
Daher stimme ich Deinen Ausführungen nicht zu, im Gegenteil, ich finde sie so nicht korrekt. In der Außenansicht ist das Innere der Funktion/Methode ein schwarzes Loch, und ich sehe nur die Frage, und die mögliche(n) Antwort(en). Auch darauf basiert dann beispielsweise Test-Driven Development (TDD). Die interne Umsetzung ist dem Entwickler überlassen, und die ist mir als Anwender der Funktion im ersten Moment schnurz egal.
Gruß aus Franken
Ortwin