Wpisujesz kilka liczb, klikasz przycisk i w ułamku sekundy wiesz, ile zaoszczędzisz na nadpłacie kredytu, o ile miesięcy skróci się spłata Twojego zobowiązania, albo kiedy Twój przelew dotrze do adresata. Kalkulator wydaje się prosty, ale to złudzenie. Użytkownik widzi jedynie wierzchołek góry lodowej. Za każdym takim narzędziem kryje się wieloetapowa praca: od projektu formularza, który widzisz, przez analizę finansowych wzorów, aż po kod, który wszystko spaja. O tym, jak to wygląda od środka, opowiedział mi Hubert Machała – Fullstack Developer Markonline i autor kalkulatorów Smart Money.
Pierwszy krok to dobry projekt
Praca nad kalkulatorem zaczyna się od pytania: do czego ma służyć to narzędzie i jakich informacji ma dostarczać użytkownikom? Potem należy ustalić jakich danych kalkulator potrzebuje od użytkownika, aby udzielić mu zadowalającej odpowiedzi. Dla przykładu, jeśli chcemy się dowiedzieć jakiej wysokości będzie rata naszego kredytu, musimy najpierw zorientować się, jaka jest jego kwota, oprocentowanie czy ilość rat. Dopiero gdy ta lista jest kompletna, projektowany jest wygląd narzędzia: pola do wpisywania wartości, listy rozwijane, suwaki.
Równie ważne jest zadbanie o to, by kalkulator był odporny na pomyłki. Nikt nie powinien przypadkowo wpisać liter tam, gdzie powinny być cyfry. Dlatego już na etapie projektu planowane są drobne zabezpieczenia i podpowiedzi, które prowadzą użytkownika przez formularz bez zbędnych trudności.
„Na początku określamy architekturę informacji, czyli jakie dane wejściowe są naprawdę niezbędne do przeprowadzenia obliczeń. Mogą to być na przykład kwota kredytu, roczne oprocentowanie czy okres spłaty. Na tej podstawie tworzymy wizualny szkielet narzędzia. Dbamy też o UX, na przykład blokujemy możliwość wpisywania liter w pola przeznaczone wyłącznie dla wartości liczbowych albo dodajemy podpowiedzi przy bardziej złożonych parametrach. Dobry interfejs to taki, przy którym użytkownik w ogóle nie musi mysleć o tym co i gdzie ma wpisać, bo rozumie to intuicyjnie.” – Hubert Machała, Fullstack Developer Smart Money
Matematyka i algorytmy, które muszą działać bezbłędnie
Gdy wiadomo już, jak będzie wyglądał kalkulator, zaczyna się najtrudniejszy etap, czyli analiza wzorów matematycznych, na których oparty będzie cały mechanizm. To praca polegająca na dokładnym rozpisaniu algorytmów i upewnieniu się, czy dobrze rozumie się zależności finansowe, które kalkulator ma odzwierciedlać.
Trzeba bardzo dokładnie przeanalizować wszystkie możliwości i uwzględnić różne przypadki. Dla kalkulatora kredytowego istotne są na przykład nadpłata czy procent składany. Dla kalkulatora zysku z lokat kluczowa jest częstotliwość kapitalizacji odsetek, a przy walidatorze danych niezbędna jest wiedza o tym, co oznaczają poszczególne znaki w numerze PESEL. To przykłady, które pozornie mogą wydawać się proste, ale ich matematyczne opisanie wymaga precyzji i czasu. Wyniki muszą być poprawne w każdym możliwym scenariuszu. Jeden błąd w tym miejscu sprawi, że kalkulator będzie zwracał niepoprawne wyniki, nawet jeśli będą wyglądały przekonująco.
„Zanim napiszę pierwszą linijkę kodu, muszę dogłębnie przeanalizować logikę działania i niezbędne wzory matematyczne. Rozpisuję algorytmy i upewniam się, że dobrze rozumiem zależności ekonomiczne. Przykładem mogą być raty równe i malejące. Te dwa typy rat to zupełnie różne wzory i inna logika obliczania każdej kolejnej płatności. W świecie finansów nie ma miejsca na błędy. Solidne przygotowanie matematycznego silnika jest kluczowe dla wiarygodności całego narzędzia.” – Hubert Machała
Kod, który łączy wszystko w całość
Gdy wzory są zweryfikowane, przychodzi czas na programowanie. Kod musi być napisany tak, aby formularz, który widzi użytkownik, komunikował się z wcześniej przygotowanym matematycznym fundamentem. Wpisanie liczby do formularza lub jej zmiana na inną powoduje niemal natychmiastowe wstawienie jej do algorytmu i przeprowadzenie stosownych obliczeń w tle.
Odpowiedź musi być oczywiście zaprezentowana w wygodnej dla użytkownika formie. Zadaniem developera jest zadbanie o to, żeby wyniki były czytelne. Mogą być zwracane na przykład w formie tabeli, czy przejrzystego zestawienia. Kalkulator ma nie tylko liczyć, ale też pokazać odpowiedź w sposób zrozumiały dla każdego.
„Kod źródłowy, oparty najczęściej na języku JavaScript, integruje przygotowany graficzny formularz z opracowanymi wzorami matematycznymi. Narzędzie nasłuchuje zmian w polach tekstowych, pobiera wpisane liczby i błyskawicznie przetwarza je w tle. Odpowiednie skrypty odpowiadają za to, by wyniki nie były tylko suchymi danymi, ale zamieniły się w przejrzyste tabele z harmonogramami spłat czy czytelne zestawienia – często reagując na wprowadzane zmiany w czasie rzeczywistym.” – Hubert Machała, Fullstack Developer Smart Money
Trzy etapy: projekt, matematyka i kod – to wiele godzin pracy dzięki której użytkownik otrzymuje szybką, czytelną i, co najważniejsze, poprawną odpowiedź, która może mieć realny wpływ na jego finanse. I właśnie taki jest cel każdego kalkulatora dostępnego na Smart Money.
