Jedna złota zasada, która w javie też występuje: nigdy nie twórz wajcha-kodu.
Wajcha-pół kodu, wajcha-drugie pół. Jeżeli coś jest znane w czasie kompilacji to niech takie pozostanie.
Nie wrzucaj żadnych solucji, bo dla wszystkich osób, które nie używają twojego środowiska jest to bezużyteczne, a zajedziesz się tworząc je dla wszystkich ide. Wrzuć nagłówki do folderu jednego (np include), źródła do drugiego (no. src) i pod całość podepnij cmakelists.
Nie ma potrzeby scalania plików. W prostej nazistowskiej wersji: jeden folder, jedna przestrzeń nazw, jedna klasa, jeden plik.
Tak długo, jak nie bawisz się w skomplikowane żonglowanie vtable możesz darować sobie wydzielanie inicjalizacji do jakiejs metody init.
Nigdy- szczególnie w obiektach - nie przechowuj tablic jako wskaźniki! Jeden raz się zapomnisz, jedno skopiowanie obiektu i wyciek. Nie wiesz ile bedzie elementow? Uzyj odpowiedniej kolekcji.
Nie potrzebujesz nic od konstruktora czy destruktora? Zostaw je w spokoju! Kompilator sam je wygeneruje, oszczędź palce i oczy.
Nie próbuj robić wrapperów, które będą udawać javowy standard. Nie baw sie we własnego filereadera z tym obrzydliwym zwracaniem nieokreślonej liczby elementów w postaci wskaźnika, tylko co najwyżej zrób sobi helper function, które wepchnie Ci wszystko do podanego kontenera majac outputiteratora.
Nie rób jakieś math::randomy, od tego masz odpowiednie dystrybucje w <random>.