Ocena kodu - klasa DateTime

0

Witam, jestem początkującym programistą i uczę się programowania obiektowego. Dla treningu postanowiłem napisać klasę do reprezentacji czasu, chciałbym abyście zweryfikowali mój kod i powiedzieli mi co jeszcze robię nie tak, co można zrobić lepiej, czego należy unikać - po prostu chciałbym abyście mnie poprawili :)

Linki do kodu:
dateTime.h: http://www.wklejto.pl/186722
dateTime.cpp: http://www.wklejto.pl/186723

Przyznam, że jako tako próbowałem odwzorować klasę DateTime z frameworku .NET.

Wiem, że nie każdy lubi oglądać cudzy kod (przynajmniej ja tak mam), więc z góry dziękuje Wam za pomoc.

0

Żaden z doświadczonych Panów nie rzuci okiem na ten kod, aby chociaż troszkę mnie nakierował? Liczyłem na ostrą krytykę.

poprawienie ortografii - fp

0

Dopisz do tego testy jednostkowe i sam będziesz wiedział czy kod jest dobry czy nie :)

0

@Shalom mi raczej chodziło o poprawność zaprogramowania klasy, tak jak wspominałem uczę się programowania obiektowego i chciałbym wiedzieć, czy dobrze to zrozumiałem, czy coś można zrobić lepiej. Co do testów to wykonywałem je i wydaje mi się, że wszystko ok chyba, że coś przeoczyłem.

1

Nie rozumiesz. Testy jednostkowe to nie to samo co odpalenie kilku przykładowych kodów które korzystają z tej klasy.
Napisz testy jednostkowe z pokryciem bliskim 100% i zobaczysz czy kod jest poprawnie napisany. Jak kod jest słaby to testów nie da się napisać / są bardzo skomplikowane i trudne do napisania. Jak kod jest dobry to testy pisze się szybko i przyjemnie. Jak zobaczysz ze jakiś test ci nie idzie bo metoda jest zbyt skomplikowana, to znaczy ze trzeba ta metodę przepisać / podzielić etc.

0

Ok rozumiem, w takim razie jak pisać te testy? Mógłbyś mnie trochę naprowadzić? Wiem, że w Visualu dało się jakoś to robić, ale ja używam C::B, z czego bym musiał korzystać?

0

Potrzebujesz jakiegoś liba do pisania testów jednostkowych, np. cppunit, boost lub googletest. Ewentualnie możesz napisać samemu własny framework, który udostępni Ci narzędzia do testowania.
Najpierw proponowałbym Ci zapoznać się z samą tematyką testów jednostkowych.

1 użytkowników online, w tym zalogowanych: 0, gości: 1