Cześć,
od początku października uczę się samodzielnie Javy. Napisałem konsolowy program symulujący konto bankowe. Mógłby ktoś rzucić okiem i dać opinię jak wygląda mój kod?
Poniżej link:
Cześć,
od początku października uczę się samodzielnie Javy. Napisałem konsolowy program symulujący konto bankowe. Mógłby ktoś rzucić okiem i dać opinię jak wygląda mój kod?
Poniżej link:
To co na szybko zobaczyłem na telefonie:
Ogólnie dużo przed tobą.
Parę uwag na szybko.
nazwy zmiennych po polsku.
BankAccount
case 2:
i case 3:
Historia.java
rodzaj
powinien być enumem, lub jakimś innym typem, na pewno nie stringiem void zapiszZdarzenieWplaty(double kwota) {
this.rodzaj = "Wpłata środków ";
zmienStan(kwota);
}
void zapiszZdarzenieWyplaty(double kwota) {
this.rodzaj = "Wypłata środków ";
zmienStan(kwota);
}
void zapiszZdarzenieOtwarciaLokaty (double kwota) {
this.rodzaj = "Otwarcie lokaty ";
zmienStan(kwota);
}
void zapiszZdarzenieZamknieciaLokaty(double kwota) {
this.rodzaj = "Zamknięcie lokaty";
zmienStan(kwota);
}
Całą powyższa logika jest słaba, Np. mogę dodać zdarzenie wypłaty z ujemną lub dodatnią kwotą.
Pomieszanie tego co jest statyczne i nie. np.
private static int licznikZdarzen = 0;
private double saldoLokat;
licznikZdarzen dotyczy klasy, ale saldoLokat tylko instancji
Lokata.java
Single responsibility principle. U ciebie lokata odpowiada za między innymi wyświetlanie informacji użytkownikowi, Wyobraź sobie jak do tego podłączyć gui. A także za odpis zapis.
I tak dalej.
Bardzo dziękuję za Wasze komentarze. Zabieram się do ich zgłębienia i zastosowania.
Wielkie dzięki!
@szarotka, @slayer9, @Crude Monte Carlo
Trochę czasu mi to zajęło, ale posiedziałem "kilka" wieczorów nad moim kodem i teraz wygląda tak:
https://github.com/bary182/BankAccount_2
Jeśli ktoś miałby chwilę by podzielić się komentarzem i wskazać co zmienić / poprawić będę bardzo wdzięczny.
Pamiętajcie, że jestem dopiero na początku mojej przygody z programowaniem ;)
PS. Nie działa jeszcze zapis do pliku historii operacji - sprawia mi to trochę trudność ale pracuję nad tym (przez to pierwsza operacja w historii ma nieco inną wartość niż mieć powinna).