Raport #1 z prac nad DDF

Mija już powoli trzeci tydzień trwania konkursu oraz mojej pracy nad projektem. Nadszedł czas aby się wyspowiadać co też do tej pory udało mi się stworzyć w projekcie DDF.

Model

Udało mi się do tej pory napisać aż 4 klasy modelu. Są to proste klasy typu Value Object - kilka pól, prosta walidacja, gettery, settery. Postanowiłem także na wprowadzenie do projektu dokumentacji w postaci diagramów UML. Jak to czasami bywa zaczynam od tyłu - w pierwszej kolejności powstał diagram klas, ubogi ale zawsze coś. Zamodelowane zostały klasy opakowujące formaty leków obsługiwanych w DDF. Modelowanie będę przeprowadzał w bardzo fajnym programiku Dia. Plik z modelem znajdziecie w repozytorium, poniżej prezentuję wspomniany diagram klas:

Diagram klas w projekcie DDF

Kontroler

Jeśli chodzi o kontrolery to skorzystałem z wbudowanego w AngularJS modułu routingu - ngRoute. Powstały trzy proste kontrolery, obsługujące listę leków, szczegóły leku oraz formatkę obliczania dawek leku (która jeszcze niczego sensownego nie wylicza). Poznałem także framework Angular na tyle, że zrobiłem ładowanie plików serwisem $http.

Widok

Powstały trzy partiale do wspomnianych wyżej kontrolerów. Wykorzystuję w nich takie komponenty frameworka Ionic jak ion-list i ion-option-button - naprawdę świetnie działają!

Testy

Ostro testuję moją apkę. Do tej pory powstały 44 testy w frameworku Jasmine. Na razie są to proste asercje i testowanie rzucanych wyjątków. Pokrycie kodu to niemal 90%:

  • Statements : 89.38% ( 202/226 )
  • Branches : 79.61% ( 82/103 )
  • Functions : 80.95% ( 51/63 )
  • Lines : 89.38% ( 202/226 )

Plany

To tyle na razie. W kolejnym tygodniu zamierzam wyspecyfikować przy pomocy diagramów UML działanie aplikacji oraz dokończyć model.