From 5e25c81bec4afe44114abc477a6cd666d4339777 Mon Sep 17 00:00:00 2001 From: botondnagy7 <56591825+botondnagy7@users.noreply.github.com> Date: Sun, 15 Dec 2019 08:03:39 +0100 Subject: [PATCH] Hungarobotix snippet Here are some useful advices from our team to the next generation. --- Hungarobotix_snippet.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 Hungarobotix_snippet.md diff --git a/Hungarobotix_snippet.md b/Hungarobotix_snippet.md new file mode 100644 index 0000000..2de668a --- /dev/null +++ b/Hungarobotix_snippet.md @@ -0,0 +1,14 @@ +#1 Feladat választás +Mindenekelőtt ne vegyétek élvállról a témaválasztást. Gondosan jártjátok körbe a választani kívánt témakört, mérlegeljétek mennyire éri meg ragaszkodni a saját témához, mert a későbbiekben igencsak megnehezítheti a dolgotokat. Mi egy Arduino-s eszközhöz fejlesztettünk, és a kommunikáció konfigurálásánál rengeteg időt vett igénybe, hogy a Qt mellett az eszköz kódja is számos változtatást igényelt. A projektetek témájának meghatározását követően érdemes főbb pontokba szedni, mik azok a szükségszerű elemei az alkalmazásfejlesztésnek, melyek nélkülözhetetlenek a megvalósuláshoz. Vagyis, jegyzetszerűen soroljátok fel a fejlesztésetek főbb pontjait. A témában szerzett korábbi tapasztalataitok, erősségeitek alapján ezáltal fel tudjátok osztani a csapat tagjai közt az egyes részfeladatokat, mely az időgazdálkodás szempontjából hasznotokra fog válni. Természetesen az idő előrehaladtával adódhatnak előre nem tervezett módosítások, de a munkátok stabil vázát ha időben lefektetitek, könnyebben tudtok megoldást találni az adhoc jellegű kihívásokra. + +#2 A fejlesztés kezdete +A fejlesztés megkezdése az elején nehéznek, olykor lehetetlennek tűnő feladat érzését keltheti bennetek. Ennek oka az lehet, hogy a SimpleTelemetryVisualizer, amit kiindulásnak kaptok túl komplex. Ajánljuk, hogy egy egyszerűbb órai példa alapján vágjatok bele a munkába. Használjátok a példák repositoryját. Ne sajnáljátok az időt rászánni a példaprogramok áttanulmányozására. Egyesével gondoljátok végig, értelmezzétek a példatárban található mintákat, mert az elején befektetett idő és energia kamatozni fog. s bizony a korábbi évek tapasztalatait összegző snippeteket is fussátok át. A hallgatók tapasztalatai rengeteg elfecsérelt időt spórolhatnak meg nektek, mert a felmerült problémák az évek során sokszor átfedést mutatnak. + +#3 A Qt letöltése +A Qt nagyon sok feature-rel rendelkezik. Csak olyan verziót és kiegészítőt töltsetek le, melyek a tárgy teljesítéséhez szükségesek. Ha mindent le akartok tölteni az több 10GB tárhelyet foglal, másrészt a letöltési idő is végtelennek tűnhet. A Qt rendelkezik beépített példaprogramokkal, de ne abból próbáljatok megoldást találni a feladatra, sokkal inkább használjátok a repositoryban találhatóakat. + +#4 QString fogadás +A házi feladat kritériumai közt szerepel, hogy a robot állapot leírásában legyen szöveg típusú változó. Viszont a Qt beépített QString típussal dolgozik. Számunkra nem volt egyértelmű, hogy TCP socket kommunikáció során a Qt a stringet milyen formátumban várja. Ennek megoldásaként kitaláltuk, hogy az alkalmazásunk küldjön az eszköznek egy stringet, melyből kiderül a QString formátuma. + +#5 RangeSliderek használata +Ha véletlenül a projektetekbe szeretnétek rangeslidert tenni, ne feledjétek, hogy az általa beállított értékek nem sima propertyk, hanem propertyk propertyjei, C++ oldalról nem látszik, ezért a qml oldalon kell megvalósítani az értékbeállítást. Ez nekünk egy olyan csúszka esetén okozott gondot, mellyel maximum és minimum értéket akartunk állítani.