Szoftver fejlesztoi es C++ halado technikak I.

Udv mindenkinek!

Elhataroztam hogy tanulas kozben keszitek egy blogot, igy masoknak is hasznos lehet ha dokumentalom az adott technikat mikozben atnezem azt. Bar angolul szinte minden fent van az Interneten, magyarul annal kevesbe, igy a kezdobbeknek segitseget jelenthet a blog, illetve az en szemszogembol nezve a profibbak kijavitanak ha valamit rosszul tudok vagy hibazok :)

Magamrol annyit h sokaig nem foallasu fejlesztokent dolgoztam, csak kisebb - nagyobb projektekkel segitettem cegeket. 1 eve valtottam teljes allasu fejlesztoi statuszra, igy eszre vettem hogy bizony a programozoi vilag elhaladt mellettem, van miben fejlodnom.

Mirol szeretnek irni: STL, Boost, Programtervezési minták (Software Design Pattern), Git, Verzio koveto rendszer, Boost Unit Test & TDD

Kezdetnek ajanlok par linket:

Angol nyelv minel jobb ismerete kotelezo ezen a palyan, igy ajanlok par hasznos linket nyelvtanulasra:

http://learnenglish.britishcouncil.org/en/

http://www.eslpod.com/website/index_new.html

Ingyenes letoltheto mp3-akat talalhattok itt, feladatokkal egyutt.

Ingyenes fejlesztorendszer linux es Windows ala:
http://qt-project.org/downloads
Szerencsere a Windows-os verzioban mar olyan forditot talalunk amely ismeri a C++11-et. Ne felejtsuk ezt engedelyezni a projekt fajlban a QMAKE_CXXFLAGS += -std=c++11 hozzaadasaval.

Ha valaki tul jutott a C++ alapjain, akkor erdemes megismerkedni az STL konyvtarral.

http://www.cplusplus.com/

Bal oldalt a Documentation es Reference menupontokban sok hasznos dolog talalhato.
Letoltes: http://www.cplusplus.com/files/tutorial.pdf
Erdemes vegigragni magunkat rajta.

Egy bizonyos projekt nagysag eseten erdemes verzio koveto rendszert hasznalni - meg akkor is ha csak otthon tanulunk. Mire jo? Egyreszt tamogatja a csapatmunkat, masreszt remekul eltarolja a projektunket - a keszites kulonbozo fazisaiban. Igy barmikor osszehasonlithatjuk a forraskodot egy korabbi verzioval (miert nem mukodik ez a funkcio mikor korabban mukodott tipusu problemakat oldhatunk meg vele.) Illetve keszithetunk un. agakat (branch). Ez akkor jo ha elkeszult a munkank egy bizonyos mukodokepes szintig - mondjuk amit mar be lehet mutatni. Ekkor egy uj agat letrehozok amiben el kezdem fejleszteni a kovetkezo funkciot. De ha jon a fonok / megrendelo akkor bizony nem tudnam bemutatni a szoftvert, mert lehet hogy meg nem mukodik a program. Ilyenkor csak egy utasitas es atkapcsoltam a masik - stabil munkat tartalmazo agra. En a Git-et hasznalom, kezdok szamara hasznos olvasmany: http://git-scm.com/doc Raadasul ezt a QtCreator - a fent emlitett fejlesztorendszer - tamogatja, igy akar nem is kell parancsokat megtanulni. :)

Ennyi info egyelore eleg, a kovetkezo blogban kicsit Git-tel szeretnek foglalkozni, illetve - mivel szerintem hihetetlenul jo talalmany es nagyban segit hogy az elkeszult produktum minel hibamentesebb legyen - Boost-tal a Unit test es a TDD miatt. Az elejen mindenkeppen meg szeretnem emliteni hogyan kell Windows ala leforditani a boost-ot.

Hozzászólások

Egy bizonyos projekt nagysag eseten...

Ezt én c++ kódban valahol a 20 sor környékén húznám meg, de egy bonyolultabb regexp-et tartalmazó fájlnál kb 0 sor :)

Gittel minimális ráfodítással lehet új repositoryt indítani, s néha nagyon haszonos tud lenni, ha van egy nem túl régi elmentett állapotod, amihez könnyen vissza tudsz térni.

Annak ellenére, hogy eddig a C++ jobbára kimaradt az életemből, bátorkodom ajánlani Scott Meyers Hatékony C++ című könyvét. Nagyszerű olvasmánynak tartom, pedig igazából csak akkor programozom C++-ban, ha feltétlenül szükséges.

Érdekesnek hangzik.
Ha már úgyis Qt-s fejlesztőkörnyezetet használsz, a Qt lib-eket nem gondoltad használni, vagy azok nem "halado technikak"?

Esetleg bele lehetne venni (ami engem nagyon érdekelne) a dimensional analysis -t. Elvileg a boost-ban van is rá valami.

Esetleg ez a könyv is jó/érdekes lehet: Bjarne Stroustrup: A C++ Programozási nyelv I-II.

Mostanság használom napi szinten a C++11-et. Nagyon tetszik. Lambda függvények, chrono, algoritmusok, kikapcsolható automatizmusok, foreach típusú ciklusok... nagyon pöpec lett.
Boost-ot hozzátéve meg aztán...

a git hasznalata mar "halado technika"? :(

Probalom kulturaltan, de mar nem birom:
Az a baj hogy a flame inditas mestere te vagy. Visszaneztem az elmult 10 hozzaszolasodat es egyetlen egy kivetel sincs kozte. Mindben, egytol egyig vagy magadat ajnarozodd, vagy valakibe belekotsz, vagy azt hangoztatod hogy kulfoldon milyen jo es magyarorszagon milyen szar.
Akkor legyszives, te, mint mesterunk, huzz mar el ugy kulfoldre, olyan messze a szar magyarorszagtol hogy a hop nullazodjon a hup.hu -ig.
Szivesseget tennel vele (eletedben elosszor valoban fontos es erdekes lehetnel). Komolyan mondom, nem csak nekem nem fogsz hianyozni, senkinek.
Ekkora egy vermes, egoista parasztot mint te, meg nem lattam (pedig versengenek paran az elso helyert, de ezt most toronymagasan viszed. Megj.: ha mar szakmailag nulla vagy (barmennyire is probalod az ellenkezo oldalat bizonygatni), legalabb ebben jo vagy).

ööö, lol. Bocs, de már tettem le az asztalra (bár gondolom ha nem külföldön tettem akkor senki vagyok), viszont én nem gruppen közepette verem rá, veled szemben:) Senkire nem tartozik te mire masztizol, megtarthatnád magadnak a véleményed. (mellesleg pont ezzel az öntelt fasz módszertanoddal van a baj, miközben egy senki vagy:()

Bocs, de egyvalamiben igaza van: az utobbi idoben nulla szakmai kontent jott toled. Sot, semmi erdemi reakcio nem jott, akarkihez is szoltal hozza. Nem mondom, hogy ez rossz (de), viszont arra azert gondoljal, hogy masoknak nem feltetlen esik jol, ha segites helyett csak belekotsz. Ha nincs erdemi hozzafuzni valom, nem szolok a temahoz, es ennyi. Felesleges a flamet kelteni, van eleg troll az oldalon.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

pont errol beszelek:)
Nem, nem menstrualok, nem eresztett le a guminom, csak masokkal ellentetben, szimplan megmondom hogy egy paraszt vagy te is:)
Ha az, hogy oszinten kifejtem a rolad alkotott velemenyemet (ami sok mas emberevel egyezik, erdekes modon) menstrualasnak szamit, akkor a valaszom:
- igen

az oszinteseg pozitiv, de te szimplan megkattantal, husika. Elnezve a fenti hoborgesedet, nagy arni zozo erdemeit el nem vitatva, teged elvittek az ufo-k, es forditva raktak ossze. Iratkozz be hegeszto tanfolyamra, vagy tanulj meg kecsket fejni, valamelyik majd megnyugtatja a zaklatott kicsi lelkedet. Egy kicsit azert sajnallak, de a rem rendes csalad melletti tab-ban legalabb rajtad is lehet rohogni...

Diktatorok kezikonyve

Latom te meg mindig nem fogod a lenyeget:\
NagyZ-t meg veletlenul se emeld magad melle, nem vagytok egy szinten, semmilyen szempontbol... Sot, nem biztos hogy ennek hatasara, de mostansag egy rossz szot nem lattam tole, aminek kifejezetten orulok es ismetelten kezd visszakerulni a szememben arra a szintre, ahol regen szerepelt (pozitiv ertelemben).
Az, hogy nyomatekosan es vulgarisan fejezem ki magamat veled szemben, az annak koszonheto, amit irtam (de ezt egy faek iq szintjen levo ember is kepes lett volna osszerakni).
Sebaj, egyszer talan felnosz es te is eljutsz egy bizonyos szintre

A helyesiras is van olyan fontos, mint a nyelvtudas.

Kösz.
____
Semmi sem biztos. Még az sem biztos, hogy semmi sem biztos.