Środowisko przygotowane, podstawy obsługi Subversion przyswojone - czas więc wziąć się za bazę danych, czyli fazę pierwszą. Postanowiłem podzielić ją na kilka etapów.
Etap 1: Organizacja struktury drzewa
Na tym etapie stworzony zostanie zalążek klasy ldbEntry
, zawierający wyłącznie składowe odpowiedzialne za umiejscowienie wpisu wewnątrz struktury drzewa. Także wtedy powstanie klasa ldbBase
, która pozwoli na przechowywanie wszystkich postów oraz umożliwi szybki dostęp do pojedynczych linii oraz ich odgałęzień
Etap 2: Stworzenie pojedynczego wpisu
Podczas tego etapu w centrum uwagi znajdować się będzie klasa ldbEntry
. To właśnie wtedy zostanie wzbogacona o składowe pozwalające jej spełniać swoją funkcję - przechowywanie pojedynczego wpisu. Dodane zostaną składowe odpowiedzialne za przechowywanie daty, tytułu, treści, tagów itp. Jednak nie będzie to wyłącznym celem tej fazy - drugim z nich będzie umożliwienie organizacji tagów przez klasę ldbBase
Etap 3: Przechowywanie bazy danych na dysku
Jaki sens miałoby tworzenie pamiętnika przy użyciu programu, który nie umożliwia zapisania tej twóczości, a później jej odtworzenia? Zapewne żaden, dlatego trzeci etap fazy pierwszej skupi się na klasie ldbBase
, a konkretnie na metodach odpowiedzialnych za zapis i odczyt bazy danych danych z dysku. Wtedy też powstanie prosty algorytm szyfrujący, który utrudni odczyt pamiętnika przez osoby postronne
Etap 4: Testy
Napisany system będzie trzeba przetestować pod kątem poprawności i szybkości działania. Na tym skupi się czwarty etap. Oczywiście, kod będzie testowany po każdej większej zmianie, jednak na tej fazie optymalizacja i poprawianie błędów będzie priorytetem.
Pracę nad tym elementem projektu zaczną się na poważnie dopiero jutro. Dla osób śledzących bezpośrednio zmiany w kodzie przydatnym może być fakt, że podział pracy na fazy i etapy ma swoje odzwierciedlenie w numeracji wersji, na przykład wersja oznaczona jako 0.3.5 ma zaimplementowane wszystkie funkcjonalności, jakie zostały zaplanowane na piąty etap fazy trzeciej, a oznaczenie typu 0.2.0 dotyczy wersji opublikowanej po ukończeniu fazy pierwszej, ale jeszcze przed rozpoczęciem pierwszego etapu fazy drugiej.
Brak komentarzy:
Prześlij komentarz