Wszystkie dobre odpowiedzi.
Dodałbym tylko „zminimalizuj strukturę danych”. Może to być nawet łatwiejsze w C, ponieważ jeśli C ++ to „C z klasami”, OOP próbuje zachęcić cię do wzięcia każdego rzeczownika / czasownika w twojej głowie i przekształcenia go w klasę / metodę. To może być bardzo marnotrawne.
Na przykład załóżmy, że masz tablicę odczytów temperatury w punktach w czasie i chcesz wyświetlić je jako wykres liniowy w systemie Windows. Windows ma komunikat PAINT, a kiedy go otrzymasz, możesz zapętlić tablicę wykonując funkcje LineTo, skalując dane w miarę przechodzenia, aby przekonwertować je na współrzędne pikseli.
Zbyt wiele razy widziałem to, że ponieważ wykres składa się z punktów i linii, ludzie zbudują strukturę danych składającą się z obiektów punktowych i obiektów liniowych, z których każdy jest w stanie DrawMyself, a następnie uczynią to trwałym, opierając się na teorii, że jest w jakiś sposób „bardziej wydajne” lub że być może będą musieli umieć przesuwać kursor myszy nad częściami wykresu i wyświetlać dane numerycznie, więc wbudowują metody w obiekty, aby sobie z tym poradzić, i oczywiście polega na tworzeniu i usuwaniu jeszcze większej liczby obiektów.
W efekcie otrzymujesz ogromną ilość kodu, który jest bardzo czytelny i spędza tylko 90% czasu na zarządzaniu obiektami.
Wszystko to odbywa się w imię „dobrej praktyki programistycznej” i „wydajności”.
Przynajmniej w C prosty, skuteczny sposób będzie bardziej oczywisty, a pokusa budowania piramid słabsza.