Was hilft dagegen?
Ich möchte gerne wissen, wie ein Funktionsaufruf mit 50 Parametern gut sein soll?
Ist er nicht. Das rechtfertigt aber immer noch keine globalen Variablen - insbesondere nicht als implizite Parameter-Puffer.
Ein Ansatz wäre die (oder einige der) Parameter in einer Record-Struktur oder einem Parameter-Objekt zusammenzufassen. Sollte sich an der Parameterliste später mal was ändern, bleiben zumindest die Signaturen der Methoden unverändert.
Andererseits schreit eine Methode mit 50 Parametern eigentlich auch nach einer Separierung der Funktionalität in eine eigene Klasse.