Aplikacja na android - prośba o ocenę i ew. sugestie

0

Chciałbym na wstępie zaznaczyć, że jest to moja pierwsza aplikacja na androida (oprócz nieszczęsnej aplikacji napisanej na uczelnii z jednym gościem), aktualnie jestem programistą j2ee ale uczę się nowych technologii.

Link do mojej aplikacji: https://play.google.com/store/apps/details?id=pl.tpolgrabia.urbanexplorer

W planach mam integrację z google places a dalej zobaczę - w panoramio przydałoby się jakiś sort po popularności zdjęć.
Prośba jak wyżej w temacie o uwagi i sugestie - nowe funkcje (a także i bugi, bo i mam tego świadomość :) że nie jestem nieomylny).

1

@tpolgrabia

Udostępnij kod źródłowy aplikacji bo tak średnio z oceną jeśli chodzi o to co się dzieje. Poza tym gdy zainstalowałem na swoim telefonie aplikacja na starcie się crashuje. Także jest mocno średnio.

1

@tpolgrabia

Okej odpaliłem aplikację. Antywzorcem jest zmuszanie użytkownika do włączenia providera poprzez crashowanie aplikacji. Masz źle napisaną logikę startowania.

Dobra jedziemy po kolei:

  • Lista ścina, założe się, że ładujesz za duże obrazki. Poza tym zdjęcia nie są w żaden sposób cropowane.
  • Brzydki wygląd. Nie wykorzystujesz możliwości Material Design
  • Wyświetlanie użytkownikowi informacji o położeniu poprzez lat oraz lng? Mogłeś to chociaż skonwertować na adres poprzez Geocoder.
  • Lista nie jest page'owana
  • Złe marginesy. Poczytaj sobie guidelinesy od Googla jak powinna wyglądać lista.
  • Odświeżanie listy poprzez ukryty przycisk w menu? Jest coś takiego w Androidzie jak SwipeRefreshLayout.
  • Po sposobie działania obstawiam wykorzysytwanie ListView a nie RecyclerView.

Ogólnie słabe 2/10 jeśli chodzi o wygląd aplikacji i jej sposób działania. Pokaż kod i będzie pełny review.

1

@tpolgrabia

Okej jedziemy dalej.

Co do kodu zacznijmy od zasobów:

  • Złe formatowanie plików xml.
  • Złe nazewnictwo plików layout używanych przez adaptery. Powinno być 'item_costtam' a nie 'costam_item'
  • Brak wyeksportowania stałych do plików dimens.xml oraz strings.xml
  • Złe nazewnictwo id elementów w pliku layout. Id o wartości 'password' nie jest przejrzyste. Powinieneś usytematyzować nazewnictwo poprzez używanie notacji węgierskiej.
  • Za duża złożność plików layout.

Kod Javy:

  • Jak piszesz klasy Utilsowe które należą do package Utils to ich nazwa powinna być "NazwaKlasy.class" a nie "NazwaKlasyUtils.class"
  • Nazwy packaegy nie powinny być w liczbie mnogiej.
  • Nie wykorzystujesz paradygmatow programowania obiektowego.
  • Brak zasad SOLID. Twoje MainActivity ma za dużą odpowiedzialność i robi za dużo rzeczy.
  • Brak jakiejkolwiek architektury. Poczytaj o MVP.

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