Review nieskończonego projektu - wskaznie błędów i wskazówek na dalszą pracę

0

Witajcie!

Oto mój projekt: RpiRemoteExecutor
Projekt ma na celu stworzenie małego narzędzia, które ułatwiłoby mi komunikację z moim Raspberry Pi.
Otóż narzędzie ma na celu:

  • łączyć się po SSH
  • wykonywać podane komendy
  • odczytywać output tych komend
  • przesyłać pliki po SCP

Prace nie są skończone, więc projekt w żadnym stopniu się nie uruchomi!

Mam problemy i chciałbym, żebyście rzucili okiem czy idę w dobrą stronę.
Przepraszam za brak testów (chyba nigdy się nich nie nauczę).
Zjedźcie mnie równo.

0

Bump

1

Formatowanie kodu, nie ma testów, większość metod to metody publiczne, nie patrzyłem zbyt dokładnie, ale można by się zastanowić czy wszystko chcesz udostępniać. Niby tam masz log4j, a wyjątki logujesz przez exception.printStackTrace(). //Pattern for valid IPv4 host taki komentarz jest zbędny, zmienna jest dobrze nazwana przecież. RemoteUser ru jak kto lubi, ale można nazwać sensowniej te zmienną. Port ssh masz zahardkodowany - no ja u siebie np. mam inny niż domyślny, wiec już apkka by nie działała.

0

Formatowanie kodu

Co jest konkretniej nie tak, mógłbyś rozwinąć?

Niby tam masz log4j, a wyjątki logujesz przez exception.printStackTrace().

Log4J używam po raz pierwszy, mogą się trafić gafy, poprawię ;)

/Pattern for valid IPv4 host taki komentarz jest zbędny, zmienna jest dobrze nazwana przecież.

Upewniam się, że jest jasne, w końcu to regex, ale dzięki.

RemoteUser ru jak kto lubi, ale można nazwać sensowniej te zmienną.

To testowanie czy działa na szybko, usunę.

Port ssh masz zahardkodowany - no ja u siebie np. mam inny niż domyślny, wiec już apkka by nie działała.

Bardzo słuszna uwaga, muszę się tym zająć. Dzięki ;)

1

Co do formatowania - wcięcia, puste linie, stałe przed polami w klasie.
Co do loggera - to tam gdzie masz podwójne logowanie czyli na standardowe wyjście błędów i logger to zostaw sam logger i dodaj sobie appender w konfiguracji loggera żeby ci też na standardowe wyjście pluł

SCPFileSender.sendFile - tam możesz chyba użyć multi catcha i kilka linijek mniej

0

Co do formatowania to IntelliJ robi takie standardowo. Szczerze mówiąc nie wiem czy to zmieniać. Posortuję tylko stałe i pola w klasie.

0

@hcubyc: Jakieś wskazówki na dalszą pracę? Czym się kierować? Zrobić przerwę kodowaniu i spróbować napisać testy?

1

Tak, jak najbardziej pisanie testów będzie dobrym wyborem. Możesz nawet się szarpnąć, przeczytać TDD albo jakieś publikacje na ten temat i spróbować pisać nowe ficzery w taki sposób. Dodawaj sobie więcej ficzerów, w między czasie możesz dorzucić jakiś framework choćby dla samego obycia się z nim. UI też byłoby lepsze dla użytkownika niż CLI :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1