Wpis z mikrobloga

Drodzy Mircy z #java.
Właśnie skończyłem swój pierwszy projekt w Javie (wcześniej tylko VBA i Python - i to też bez większego zagłębiania się w OOP, głównie jakieś sieci neuronowe i inne takie sprawy). Chciałoby się komuś rzucić okiem na mój kod i podpowiedzieć co tam jeszcze mogę poprawić?

link do githuba

Sam projekt to (raczej mało oryginalnie) kolejny klon windowsowego sapera. Prawy klik stawia flagę, lewy klik odkrywa pole, kolejny lewy klik odkrywa sąsiednie pola jeżeli ilość flag się zgadza. Standard.
źródło: comment_TKa3fOvpkG7rcxHzFICXCSChzYRWR04e.jpg
  • 5
@croppz: a z innych rzeczy:
- klasa powinna mieć package, default package nie jest od dawna zalecane.
- enum to lepiej stosować do rzeczywiście stałych rzeczy (jak dni tygodnia), a IMHO poziom trudności z podanymi wielkościami pola taki nie jest, wygodniejszy będzie obiekt i kilka stałych domyślnych instancji - czyli dalej nie ma potem problemu by tak jak w saperze dodać i odpalić własny poziom trudności.
- jeśli zastosujesz się do
@GotoFinal: Po pierwsze, dzięki za uwagi. Mavena ogarnąłem (chyba), wydaje mi się że da się już łatwo pobrać i uruchomić. Co do reszty:
1. default package oznacza bezpośrednio w folderze src, tak? Tak jak na picrel już będzie ok?
2. nad samodzielnym tworzeniem poziomów trudności też myślałem, zostawiłem to sobie na później. Nawet nie pamiętałem że oryginalny saper miał taką opcję.
3. fajny pomysł z tą listą, nie wpadłem na to
źródło: comment_xKfr8M2ad0ttANzTCIhrPidIrAlBXobJ.jpg
@croppz: default package czy brak package, Main powinien być w środku tego app, tam gdzie wszystkie inne klasy. (no właśnie, app to też słabe package, daje się tam np domenę i projekt np com.gotofinal.mygame {i wtedy w mavenie groupid się daje com.gotofinal i artifactid na my-game}, albo np me.gotofinal.mygame, albo też widywałem/używałem na podstawie e-mailu)

Kodu tamtego systemu niezbyt mogę dać, szczególnie że całość jest dość spora i dostoswana do innego