Team-Dwayne csapat tanulságai


1. Tanácsok a projekt megkezdéséhez

Mielőtt bármi másnak neki kezdenétek, először megéri alaposan tanulmányozni a tárgy honlapját, mivel rengeteg hasznos anyag található a feladat megoldásához. A példa alkalmazások git repository-ja egy aranybánya, és ha bárhol elakadnátok, vagy csak bővebb magyarázatot szeretnétek, akkor feltöltött snippeteket ajánlom. Én itt találkoztam először ezzel a megoldással, és nagyon bejött, minden tárgyból ehhez hasonló hozzá állás kellene. Másik tanácsom, hogy viszonylag hamar, a 3-4 héten találjátok ki hogy mit szeretnétek megvalósítani, és osszátok is ki nagyjából a feladatokat egymás között. Így már az 5-6. héten elkezdhettek ténylegesen dolgozni a projekten, ami így kényelmesen befejezhető a 14. hét végéig, bármilyen felmerülő problémát lesz időtök megoldani. Mi egy kicsit később kezdtük el, a 7. héten, ezért a zh-k illetve munka mellett kevesebb időnk maradt például személyes megbeszélésekre. A program telepítése nem evidens, figyeljetek arra, hogy mindannyian ugyan azt a verziót telepítsétek, és konfiguráljátok is be közösen, ugyanis nálunk volt probléma abból, hogy ugyan az a kód egyik helyen működött, másik helyen pedig nem.

2. Feladat választása

Bármit is fogtok megvalósítani, ha nem RobonAUT-oztok, akkor maximálisan ajánlom, hogy a modelt az általatok kedvelt, és biztosan használt magasabb szintű programozási nyelven készítsétek el, ugyanis az nincs a követelmények között hogy azt is c++-ban kellene írni. Mi egy elég részletes Tesla szimulátort készítettünk c#-ban, ami kb háromszor annyi dő lett volna c++ ban. Szintén jó tanács, hogy ne ijedjetek meg ha nem siekrült 3. embert találni a csapatba és csak ketten vagytok. Mi is ketten oldottuk meg a feladatot, és bár fejenként kicsit több munkát kellett végezni, azonban így sem volt vészes. Nagyon jól megtaláltuk a közös nevezőt a csapattársammal, jól tudtunk együtt dolgozni, ami talán a legfontosabb.

3. Feladat megoldása

Ha nagyon nincs elképzelésetek, hogyan is kéne megoldani ezt a feladatot,a snippeteket között található SimpleTelemetryVisualizer projekt jó kiindulása alap lehet. De azért figyeljetek rá, hogy ne hasonlítson rá túlzottan a UI, vagy a signál-slot megoldások nagyrésze. A projekt-hez hozzátartozik a dokumentálás is, ami doxygen segítségével pofon egyszerű. Ehhez csak kommenteznetek kell a kódotokat, és utána minden autómatikusan generálódik. Szerintem jó ötlet lett volna a kezdetektől fogva kommentezni, nem pedig a végén megcsinálni ezt a részt, akkor kevesebb idő ment volna azzal hogy megbeszéljük, pontosan hogyan működik a másik által írt kódrészlet.A QtCreator nevű csoda néha beadja a derekát, ha nagyon nem akar működni, akkor megéri nyomni egy projekt clean-t, az általában megoldja a dolgot.A c++ oldalon a qDebug(), a qml oldalon pedig a console.log() függvényekkel lehet írni a standard outputra. Megéri használni ezeket, mivel a c++ és a qml közötti komunikáció azért nem olyan kényelmesen áttekinthető, mint mondjuk egy WPF, vagy JavaFX alkalmazás esetében, gyakran kellett ellenőrizni, hogy ténylegesen megjön-e mondjuk egy átadott tömb.Ha van a csapatban egy frontendes az jelentősen megkönnyíti a helyzetet, ugyanis az alkalmazás GUI-ját egy az egyben javas script-ben kellett elkészíteni.