**Ez a dokumentum egy előző változata!** ----
====== Általános ====== * A forráskódban szereplő sorok hossza legfeljebb **120** karakter lehet. Ha kell, sortörést mindig operátor után iktatunk be. * Jobban áttekinthető ha nem kell görgetni. * Kikényszeríti a túl mély szerkezetek kikerülését. Ha elértünk 3-4 indentálási mélységet, akkor fontoljuk meg egy új függvény vagy metódus bevezetését inkább. * Forráskódban használjunk angol nyelvet. * Behúzás tab karakterrel történik, nem space klarakterrel * Alapértelmezetten egy tab karakter 4 space karakternek felel meg, de mindenki kedve szerint beállíthatja * A behúzás szintjei mindig egy tab karakterrel nőnek * Láthatósági szabályok a következő sorrendben kövessék egymást: public -> protected -> private ===== Névadás ===== **Az angol nyelv használandó.** * Kerüljük a felesleges rövidítéseket, használjunk beszédes változóneveket * src -> source, file -> outputFile * A rövidítések szónak számítanak, így adott esetben csak a kezdő betűjük írandó naggyal <code>Html, Ip, Sql</code> ==== Változók, függvények ==== Változók, függvények nevei a camelCase formátumot kövessék. <code>getAddress(), isFileEmpty(), minHour</code> ==== Osztályok, névterek ==== Osztályok, névterek a CamelCase formátumot kövessék. <code>HourClock, TimeMachine</code> ==== Konstansok ==== Konstansok mind nagybetűvel, és aláhúzás jellel elválasztva írandók. <code>GRAVITY, SPEED_LIMIT</code> ===== Forrásfájlok ===== * Minden fájlba csak egy, a vele megegyező nevű osztály kerülhet. * A fájl neve meg kell egyezzen az osztály nevével, a kis- és nagybetűk is számítanak. * Az include direktívák sorrendjét úgy válasszuk meg, hogy a header fájlok között a speciálistól haladjunk az általános felé. * Saját header fájlok -> programkönyvtár header fájlok -> rendszer header fájlok. ===== Formázás ===== Ha egy sor túl hosszú, meghaladja a 120 karakteret, tördelni kell. A törés mindig úgy történjen, hogy **az operátor a következő sor elejére kerüljön**. <code cpp-qt> if(!((windowSize.height() <= screenSize.height()) && isWindowSizeHeightPositive) || !((windowSize.width() <= screenSize.width()) && isWindowSizeWidthPositive)) { resize(QSize(450, 200)); } else { resize(windowSize); } </code> If szerkezeteknél, ha csak egyetlen if van, a kapcsos zárójel a következő sorban kezdődik. Amennyiben if/else ágról van szó, a kapcsos zárójel az if-el azonos sorba kerül. Ciklusoknál a kapcsos zárójel mindig a következő sorba kerül. <code cpp> if (isEmpty()) { cout << "Empty"; } </code> <code cpp> if (isEmpty()) { cout << "Empty"; } else { cout << "Not empty"; } </code>