Po pierwsze, zależy to od tego, jaką aplikację wykonujesz.
powinieneś zrobić tekstowy lub schematyczny opis tego, jak użytkownik będzie pracował z aplikacją. Napraw każdy możliwy scenariusz. Podaj przykłady, które zostaną później wykorzystane do testów.
Zdecyduj, co należy do funkcjonalności, a co - do zmiennej konfiguracji. Wyodrębnij funkcje i jednostki danych ze scenariuszy.
Ze scenariuszy podejmij decyzję, jaka będzie Twoja aplikacja. Czy to usługa, aktywność, widżet, a nawet dostawca treści czy złożony system, w tym niektóre inne elementy. Sprawdź swoją decyzję na podstawie scenariuszy.
W przypadku złożonego systemu rozdziel funkcje i jednostki danych między komponenty aplikacji. Sporządź listę składników i to, co to są (działania lub coś innego).
Zrób listę komponentów interfejsu użytkownika z opisem, co robią (jeszcze NIE JAK) Będą to widżety i działania, fragmenty lub układy później.
Twórz układy robocze dla komponentów interfejsu użytkownika. Wykonuj proste przejścia od jednego do drugiego. Spójrz na interfejs użytkownika. Wróć do scenariuszy i zagraj je wszystkie w swój szkic interfejsu użytkownika. Wszystkie komponenty interfejsu użytkownika i klasy umieszczone w jednej hierarchii pakietów lub pakietów.
Zrób listę jednostek danych. Zdecyduj, co będzie w czym. Zaplanuj je jako kolekcje lub tabele w DB lub różnych DB. Utwórz je jako klasy, umieść je w innej hierarchii pakietów lub innym pakiecie. Tutaj również umieść pomocników DB - klasy, które rozmawiają z DB przez SQL.
Utwórz klasy testowe (JUNITs lub lepiej TestNG) do wypełniania interfejsu użytkownika i jednostek danych danymi testowymi i uruchamiania ich.
Adaptery nie muszą być publiczne, ponieważ są używane tylko w nadrzędnym GroupView. Dlatego zwykle nie ma plików dla adapterów.
Czy nie wkładaj wszystkich globalnych do specjalnych klas statycznych - jest złą praktyką. Miksujesz więc kod i konfigurację. Skorzystaj z tego bardzo interesującego rozwiązania . Na razie jest to najlepsze, co wiem na Androida.
Dane konfiguracyjne należy umieścić w zasobach. Jeśli niektóre z nich są złożone, użyj źródeł XML i parsera (ów). Zmień czytelników danych zasobów w zmienne globalne. Nie wszystkie będą statyczne! Mogą na przykład należeć do głównej instancji Activity.
Nie używaj nieskonfigurowalnych stałych w kodzie! Może być tylko twoje imię :-). Każda stała czasami staje się niestała.
Z drugiej strony, jeśli niektórzy z was kod nie jest normalnym językiem Java, ale skrypty - mieszanką danych i języka, wtedy można i trzeba mieszać dane i kod.
Zawsze rób to: napisz coś - podłącz coś do luzem - dodaj test (y) dla tej nowej rzeczy - przetestuj ten nowy - przetestuj luz - powtórz. Tylko małe kroki!
Edytować. Możesz także użyć programowania opartego na testach - pisz testy przed odpowiednim kodem. W ten sposób, uruchamiając testy zanim kod będzie gotowy, przeprowadzasz podwójne testy - w ten sposób sprawdzasz, czy testy naprawdę reagują na niepoprawny kod.