jak zacząć?
Jeśli byłeś programistą w zwinnym zespole, Twoim jedynym celem jest osiągnięcie celów sprintu. Jeśli tak, w 80% przypadków dobrze zrobisz, zaczynając rozwijać interfejs użytkownika. Ponieważ daje to całemu zespołowi pewną walidację i poczucie postępu.
jednak twój solowy projekt poboczny nie musi polegać na Agile. Nie możesz odpowiadać przed nikim oprócz siebie. Powinieneś najpierw zrobić najtrudniejszą część. Mówię o prawdziwym objęciu bestii.
aby stworzyć świetny produkt, zawsze potrzebujesz 1024 rzeczy oprócz rozwiązania podstawowego problemu. Musisz być bardzo świadomy zarządzania zależnościami.
musisz zarządzać użytkownikami, ponieważ to jest punkt wejścia dla danych. Dane użytkownika są i będą Twoim najcenniejszym towarem do dnia, w którym zdecydujesz się sprzedać swoje przedsięwzięcie Facebookowi lub Google.
z tym przychodzi networking. Pamiętasz obsługę ładunków? Będziesz musiał przechowywać dane offline i dostarczać je za pośrednictwem aplikacji mobilnej/integracji Dropbox, na wypadek, gdyby twój najcenniejszy konsument został przeniesiony na Grenlandię lub Kongo.
a z tym, jak można zapomnieć o kosztach związanych z transferem danych? Musisz zdefiniować protokół, który ekonomicznie przenosi ładunek między stronami: HTTP, Websockets, TCP (Protobuffers), czy coś innego?
bezpieczeństwo danych jest zależnością końcową w łańcuchu po zdefiniowaniu wszystkich innych zależności (chyba że twoją podstawową ofertą jest rozwiązanie problemu z bezpieczeństwem).
jak szyfrować dane end-to-end? SHA? MD5? Jak zaimplementować klucz publiczny-prywatny?
Jeśli znasz te istotne terminy, łatwo jest wyszukać je na Githubie lub poprosić o opinie na forach. Dobrym punktem wyjścia jest wyszukiwanie któregokolwiek z tych terminów na Wikipedii i praca w górę stamtąd.
Dowiedz się o nich, poznaj ich alternatywy, a w krótkim czasie będziesz ekspertem w każdej technologii, którą wybierzesz dla swojego projektu.
następny: zaimplementuj je wszystkie. Bez pisania jednej linijki logiki biznesowej, to znaczy.
upewnij się, że dobrze to przeczytałeś.
W skrócie: zachowaj to jak najbardziej oddzielone od logiki biznesowej. Pisz z interfejsami, pisz z abstrakcyjnymi klasami/strukturami. Wykonaj betonowe króćce testowe, aby je przetestować.
tak, aby przetestować to wszystko za pomocą interfejsu Prymasa, musisz napisać kilka przypadków testowych. Popularna porada w oprogramowaniu polega na rozpoczęciu od przypadków testowych, przed napisaniem linii kodu.
TDD daje wgląd w bazę kodu, którego nie może uzyskać ekspert. Zdasz sobie sprawę z jego ogromnej wartości po wdrożeniu następnego kroku.
zawsze pamiętaj: możesz się tu pomylić na tysiące sposobów. Ale ten krok to coś więcej niż tylko lekcja.
praca tutaj nigdy nie jest stracona. Jest wielokrotnego użytku, ponieważ jest agnostykiem logiki biznesowej. Kiedy zniszczysz ten projekt, pamiętaj, że zawsze możesz użyć tej bestii, aby przyspieszyć wszystkie swoje przyszłe projekty. Twój czas na rozwój spadnie wykładniczo.