zapisz wszystkie zmiany atrybutów klasy
Do celów debugowania muszę śledzić aClass
zmiany atrybutów.
Na przykład rozważ następującą klasę:
class Test {
int myInt;
String myString;
...
public void setMyInt(int a) ...
public void setMyString(String s) ...
public printDebugLog();
}
void main() {
Test t = new Test();
t.setMyInt(5);
t.setMyString("Hello");
t.printDebugLog();
}
Chcę wydrukować coś w stylu:
myInt => 5
myString => Hello
Łatwym rozwiązaniem jest natychmiastowe tworzenie dzienników. tj. dodającLog
funkcja jak następuje:
void Log(String s) {
System.out.println(s);
}
a następnie kodzestaw funkcje jak poniżej:
void setMyString(String s) {
myString = s;
Log("myString => " + s);
}
to wymaga wszystkichzestaw funkcje, które mają być pisane różnie i zastanawiam się, czy są jakieślepszy rozwiązanie dla takiej sprawy. Na przykład może być łatwiej (jeśli to możliwe) utworzyćSetValue
funkcja, która przyjmuje dwie zmienne i ustawia pierwszy atrybut na wartość drugiego obiektu. lub coś w tym stylu.
Dowolny pomysł?