dev17

W zasadzie to nie umiem jednoznacznie odpowiedzieć, czy efektywny proces rozwoju to bardziej uczenie się czy pozbywanie złych nawyków, które mamy. Na przykład – poznajemy nową metodę zrobienia czegoś, ale ciągle z tyłu głowy ta stara, działająca, ale mało ekonomiczna i nieefektywna metoda, którą znamy i której efektów jesteśmy pewni.

Oduczam się “nadobiektowości”, szczęśliwie uczę się na czyichś błędach, ale jest to taka dość kontrowersyjna kwestia w obszarze C++ i Unreal Engine. Jak można uciekać od obiektowości, skoro C++ to takie “obiektowe” projektowanie. Na szczęście szybciego i efektywnego C bez nadmiaru klas, dziedziczenia i całego burdelu zarządzania tym nikt nie wykastrował, więc operowanie sobie struct’em i tabelą czasem jest po prostu… lepsze niż przeglądanie obiektów klasy i zaciąganie z nich zmiennych. Oczywiście przecież można je delegować, a broadcast taki fajny + pierdyliard innych metod. Programowanie obiektowe jest wygodne. Złe rozplanowanie struktur klas, dziedziczenia etc. niestety prowadzi do nadmiaru śmieciowych danych czyli struktur, które jednak nie są wykorzystywane, ale “grzeją” pamięć 99% czasu i nie są realnie potrzebne/wykorzystywane. Zamiast rozbudowywać klasy warto pomyśleć o komponentach. Zamiast rozbudowywać klasy warto zrobić dobrą strukturę danych.

Problemem oczywiście jest “na szybko”. Na szybko potrzebujemy coś sprawdzić. Na szybko trzeba coś pokazać. A potem – to zostaje aż do momentu, gdy budzimy się i jest WTF, co to jest i dlaczego na to pozwoliłem.

A w Nemesis znowu drobne zmiany w strukturze zapisu… wydarzeń. Posiedziałem nad kwestią lokalizacji i wyszło, że trzeba to przycisnąć bardziej i inaczej w strukturze danych.

Ot, pozbywanie się nawyków na rzecz nowych rozwiązań. A propos, wyszedł update Unreal Engine 5.2, aż się boję co “napsuli”.