W zeszłym tygodniu zacząłem serię wpisów „Rzemiosło tworzenia oprogramowania”. Bazują one na moim anglojęzycznym dokumencie „Craftsmanship of Software Development”, który napisałem kilka lat temu. Tydzień temu we wstępie wyjaśniłem główne założenia i motywację dla napisania tego dokumentu, a pierwszy „element”, na które dokument jest podzielony, dotyczył procesu code review (Element #1 – Przekaż swój kod do „code review”).
W tym wpisie kontynuuję prezentację przetłumaczonych „elementów”.
Element #2 – Cel: jakość¶
Kiedy zaczynasz pracę nad zadaniem, co wyobrażasz sobie jako efekt końcowy? Czy jest to po prostu trio: commit, wdrożenie, oraz zalogowanie czasu w systemie do śledzenia zadań?
Pozwól, że zaproponuję inne podejście – takie, w którym od samego początku koncentrujesz się na wartości dostarczanego oprogramowania, a każdemu działaniu towarzyszy jedna kluczowa idea.
Jakość.
Chociaż nie brzmi to skomplikowanie, to wyrobienie sobie nawyku podchodzenia do codziennej pracy w ten sposób zajmuje sporo czasu. Cel to jakość.
Gdy rozpoczynasz pracę nad zadaniem, pamiętaj o ukierunkowaniu na jakość. Twoim celem jest stworzenie fragmentu oprogramowania, z którego będziesz dumny. Pamiętaj, że Twoje imię będzie widoczne obok commitów, które wprowadzają zmiany w projekcie. Już samo to, moim zdaniem, jest bardzo potężnym bodźcem, wartym chwili refleksji. Zastanów się nad tym – od momentu, gdy udostępnisz swoje zmiany, każdy będzie mógł je zobaczyć. I choć nie ocenia się książki po okładce, tego samego nie można powiedzieć o kodzie źródłowym i jego autorze.
Dlatego niech jakość stanie się Twoim celem. Za każdym razem, gdy dostarczasz coś nowego, zadaj sobie te proste pytania:
- Czy to najlepsze, co mogłem zrobić? – Czy możesz z pełnym przekonaniem powiedzieć, że ten fragment kodu nie mógłby być lepszy, biorąc pod uwagę Twoje umiejętności i wiedzę?
- Czy niczego nie pominąłem? – Czy wszystkie przypadki, o których pomyślałeś, zostały rzeczywiście uwzględnione?
- Czy mogłem poprosić kogoś o pomoc w ulepszeniu mojego kodu? – Jeśli wiesz, że ktoś w Twoim zespole mógłby pomóc
Ci usprawnić Twój kod, to czy poprosiłeś go o wsparcie?
Wiele innych elementów w „Rzemiośle tworzenia oprogramowania” bezpośrednio lub pośrednio podkreśla jakość jako cel i proponuje sposoby na jego osiągnięcie, jak np. „Element 3 – Dbaj o drobne rzeczy”, o którym przeczytasz za tydzień.
Co sądzisz o takim podejściu do pracy?