Ocena kodu - pierwsza aplikacja

0

Witam wszystkich,
od niedawna uczę się programowania na Androida. Chciałbym wiedzieć czy w dobrym kierunku idę, dlatego proszę o ocenę mojego kodu. Jest to moja pierwsza 'poważniejsza' aplikacja - rozbudowana wersja klasycznego todo . Z góry dziękuję za wszystkie konstruktywne uwagi
http://github.com/spideronelle/task-list

1

Przy następnym projekcie zadbaj o to aby od początku korzystać z gita. Stworzysz fajną historię tworzenia projektu, dodatkowo podszlifujesz swoje umiejętności gita, tworzenia commitów, branchy itd
Warto dodać krótkie readme o czym ten projekt właściwie jest i jak go ewentualnie odpalić u siebie

0

Dzięki za odpowiedź ;) readme już uzupełnione.

0

Główne minusy po szybkim przejrzeniu:

  • Brak jakichkolwiek testów (zarówno UI - czyli pod androidTest - jak i jednostkowych, czyli pod test).
  • Pomieszanie logiki biznesowej z warstwą interfejsową. Np. NewTaskActivity zajmuje się zarówno wyświetlaniem interfejsu i pobieraniem danych od użytkownika, jak i np. obsługuje mechanizm zapisu danych do bazy. Powinieneś pomyśleć o architekturze, która czytelniej rozdziela warstwy aplikacji i dba o utrzymanie zasady pojedynczej odpowiedzialności w odniesieniu do klas. Wypadałoby rozluźnić zależności między poszczególnymi partiami aplikacji, stosując abstrakcje. Obecny kod byłby trudny w utrzymaniu, niełatwo byłoby też napisać do niego testy jednostkowe. (Oto jedna z przyczyn, dla których warto je pisać - samo w sobie wymusza to czystą strukturę projektu).
  • Loader to przestarzały mechanizm. Możesz o tym przeczytać w oficjalnej dokumentacji: https://developer.android.com/guide/components/loaders
  • Wątpię też, czy uzasadnione jest użycie klasy ContentProvider. W zasadzie potrzebna jest ona tylko wtedy, gdy potrzebna jest wymiana danych pomiędzy różnymi aplikacjami. Czy tak jest w tym przypadku?
  • Powstrzymałbym się od wersjonowania folderu .idea, który zawiera cache twojego IDE itp.
  • Stosowana konwencja nazewnicza - "MyDBHelper", "MyContentProvider" - jest nieco rozczulająca ;) Nie jestem pewien, dlaczego autor nie wytrwał w niej konsekwentnie. Przy tak intensywnym poczuciu tytułu własnościowego do swego kodu spodziewałbym się bowiem analogicznie: "MyMainActivity", "MyTaskListFragment" itd.

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