Bez kategorii

KISS – malutki refactoring.

Skąd biorą się błędy w oprogramowaniu? Oczywiście z tego, że jest ono skomplikowane, a ponieważ takie jest błędy są niemalże nie do uniknięcia. Ale jak to zrobić, aby było ich mniej? Dzielić problemy na mniejsze kawałki i zmniejszać kod do minimum. Jednym słowem trzeba oprogramowanie robić najprostszym jak to możliwe, więc “Keep It Simple Stupid”.

W związku z tym zauważyłem, że kod który wygenerowałem w moim latającym samolociku jest do kitu. Co najśmieszniejsze, jest go tam malutko, a już można go uprościć i pewnie dwukrotnie skrócić. Poniżej cały kod programiku, który odpowiada za ruch i tło:

Kodu co trzeba przyznać jest niewiele, a już umożliwia poruszanie się stateczkiem po ekranie. U mnie działa 🙂

Ponieważ nie mogę poprawić deklaracji, funkcja update też raczej nie wymaga zmiany, więc co chcę zrobić? Zmienić ten kod akcelerometrowy na prostszy zanim zacznę poruszać się po świecie gry. Czy refactoring na tak wczesnym etapie jest potrzebny? W sumie tak, ponieważ nie mam testów (argh! trzeba to zmienić!) i trzeba zawsze trzymać kod najprostszym jak można.

Lubie coś napisać i nie hamować się podczas pisania. Jest pasja, robota idzie do przodu, nie zatrzymuję się i nie poprawiam zmiennych itd. dopóki mam flow. Płynnie zdążam do działającej funkcjonalności. Potem napawam się wykonanym zadaniem (o ile się udało). Idę spać, wstaję z bólem głowy i patrzę na kod. Oj! Wtedy refactoring, a może jego potrzeba przychodzi sama z siebie 🙂

Szybka poprawka kodu, oryginalny kod zakomentowany:

Dzięki powyższej zmianie usunąłem rozbudowane i nieco nieczytelne if’y. W tej chwili mam 2 if’y w sobie, ale mam nadzieję czytelne jest to co robią. Zastanawiałem się chwilę nad wyciągnięciem funkcji – check_is_in_screen, ale mam nadzieję contains jest czytelniejszy. Co się zmieniło logicznie? Mam nadzieję, że to widać, ale napiszę również. Teraz przechowuję zmianę pozycji w zmiennej change i sprawdzam czy “mieści się na ekranie”. Jeśli tak, to jej używam, jeśli nie to nie. Prościej? Moim zdaniem zdecydowanie!

One thought on “KISS – malutki refactoring.”

  1. Pingback: dotnetomaniak.pl

Leave a Reply

Your email address will not be published. Required fields are marked *