Oczywiście łatwo jest zachować jedną dużą listę zmiennych publicznych w klasie. Ale nawet intuicyjnie można stwierdzić, że nie jest to właściwa droga.
Zdefiniuj każdą zmienną tuż przed jej użyciem. Jeśli zmienna obsługuje funkcję określonej metody, używaj jej tylko w zakresie tej metody.
Pomyśl także o bezpieczeństwie, publiczna zmienna klasy jest podatna na niepożądane zmiany z „zewnętrznego” kodu. Twoim głównym celem powinno być zachowanie prywatności wszystkich zmiennych, a każda zmienna, która nie jest, powinna mieć ku temu bardzo dobry powód.
Jeśli chodzi o przekazywanie parametrów przez całą górę stosu, może to bardzo szybko stać się brzydkie. Praktyczną zasadą jest zachowanie czystości i elegancji sygnatur metod. Jeśli widzisz wiele metod korzystających z tych samych danych, zdecyduj, czy wystarczająco ważne jest, aby być członkiem klasy, a jeśli nie, zrefaktoryzuj kod, aby miał więcej sensu.
Sprowadza się do zdrowego rozsądku. Zastanów się dokładnie, gdzie i dlaczego deklarujesz każdą nową zmienną, jaka powinna być jej funkcja, a następnie podejmij decyzję, w jakim zakresie ma ona żyć.