Wie die anderen sagen, ist es sicher immer noch eine reine Funktion.
Lassen Sie uns jedoch über die Designprobleme sprechen. Sie haben Recht, etwas zu tun, um den Code TROCKEN zu halten, indem Sie den Wert nur einmal eingeben. Darüber hinaus sollte meines Erachtens auch das angemessene Maß an Kopplung berücksichtigt werden.
Die Verwendung einer Funktion bietet Ihnen mehr Flexibilität beim Ändern der Implementierung, dh, der Funktionsansatz bietet eine lockerere Kopplung als eine globale Variable.
Die Frage ist, ob man es braucht oder nicht?
Wenn sich Verbraucher und Anbieter im selben Modul befinden und der Anbieter für das Modul privat ist, ist es schwer zu argumentieren, dass diese Ebene der losen Kopplung erforderlich ist, da der Anbieter ein Upgrade von einer privaten Variablen auf eine benötigt Bei einer privaten Methode kann gleichzeitig ein einfaches Refactoring innerhalb des Moduls auf die Verbraucher angewendet werden. Die Verwendung einer Methode / Funktion, bevor Sie sie wirklich benötigen, kann unter YAGNI fallen.
Selbst wenn sich Verbraucher und Anbieter in unterschiedlichen Modulen befinden, die Module jedoch zusammen versioniert sind (z. B. verwenden Sie einen Minifyer, sodass sich die Module von Verbrauchern und Anbieter in derselben Datei befinden), kann YAGNI ebenfalls angewendet werden.
Befindet sich der Produzent beispielsweise in einem Bibliotheks- oder API-Paket oder -Modul, das separat von den Verbrauchern versioniert ist, kann die Verwendung der Funktion angemessen sein. In diesem Fall sollten wir uns die Langlebigkeit der API und Prinzipien wie OCP ansehen.
(Wenn Ihr Code eine signifikante Größe hat, würde ich die Verwendung von Modulen mit Feldern und Methoden anstelle globaler Variablen und Funktionen empfehlen.)