====== Különbségek ====== A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

Előző változat mindkét oldalon Előző változat
Következő változat
Előző változat
develop:coding_standards:general [2015. 06. 19. 09:37:29]
IB Controll Kft.
develop:coding_standards:general [2017. 05. 22. 11:30:21] (aktuális)
Sor 1: Sor 1:
 ====== Általános ====== ====== Á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.+  * A forráskódban szereplő ​**sorok hossza legfeljebb 120 karakter** lehet. Ha kell, sortörést mindig operátor után iktatunk be.
     * 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.     * 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. +  * Forráskódban ​**használjunk angol nyelvet**
-  * Behúzás tab karakterrel történik, nem space karakterrel.+  ​* **Behúzás tab karakterrel** történik, nem space karakterrel.
     * Alapértelmezetten egy tab karakter 4 space karakternek felel meg, de mindenki kedve szerint beállíthatja.     * 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.     * A behúzás szintjei mindig egy tab karakterrel nőnek.
 +  * A kifejezésekben szereplő operátorok köré egy-egy szóköz kerül.
 +    * Kivéve a zárójel párok belső oldalai.
 +  * A nyelv fenntartott szavait kövesse egy space karakter.
   * Láthatóság mindig az engedékenytől halad a szigorú felé: public -> protected -> private.   * Láthatóság mindig az engedékenytől halad a szigorú felé: public -> protected -> private.
 +  * Mágikus számokat mellőzzük a 0 és az 1 kivételéve. Konstansként adjuk meg.
 +<​code>​const int MAX_SPEED = 250</​code>​
 +  * Lebegő pontos számokat mindig ponttal adjuk meg, a pont előtt mindig álljon számjegy.
 +<​code>​double num = 0.5
 +double size = 4.0</​code>​
  
  
-===== Névadás ===== +====== Névadás ======
- +
-**Az angol nyelv használandó.**+
  
 +  * **Az angol nyelv használandó.**
   * Kerüljük a felesleges rövidítéseket,​ használjunk beszédes változóneveket.   * Kerüljük a felesleges rövidítéseket,​ használjunk beszédes változóneveket.
-    * src -> sourcefile -> outputFile.+    * file -> outputFilepath -> sourcePath / destinationPath
   * A rövidítések szónak számítanak,​ így adott esetben csak a kezdő betűjük írandó naggyal.   * A rövidítések szónak számítanak,​ így adott esetben csak a kezdő betűjük írandó naggyal.
  
-<​code>​HtmlIp, Sql, sourceIp</​code>​+<​code>​ipsql, sourceIp, htmlCode</​code>​
  
  
-==== Változók, függvények,​ metódusok ====+===== Változók, függvények,​ metódusok ​=====
  
-  * Változók, függvények nevei a camelCase formátumot kövessék.+  * Változók, függvények nevei a **camelCase** formátumot kövessék.
   * Használjunk getter, setter függvényeket.   * Használjunk getter, setter függvényeket.
   * Csak az legyen publikus láthatóságú ami feltétlenül szükséges.   * Csak az legyen publikus láthatóságú ami feltétlenül szükséges.
-<​code>​getAddress(), isEmpty(), minHour</​code>​+  * Tagváltozók nevét aláhúzás jelle (_zárjuk.
  
 +<​code>​getAddress(),​ isEmpty(), minHour, firstYear_</​code>​
  
-==== Osztályok, névterek ==== 
  
-  ​* Osztályok, névterek a CamelCase ​formátumot kövessék.+===== Osztályok, névterek ===== 
 + 
 +  ​* Osztályok, névterek a **PascalCase** ​formátumot kövessék.
   * A névtéren belül az osztályt nem kell behúzással elkülöníteni,​ a névtér végét kommentezéssel kell ellátni.   * A névtéren belül az osztályt nem kell behúzással elkülöníteni,​ a névtér végét kommentezéssel kell ellátni.
  
Sor 41: Sor 50:
  
  
-==== Konstansok ====+===== Konstansok ​=====
  
-Konstansok nevei mind nagybetűvel,​ és aláhúzás jellel elválasztva írandók.+Konstansok nevei mind **nagybetűvel**, és **aláhúzás jellel elválasztva** írandók.
 <​code>​GRAVITY,​ SPEED_LIMIT</​code>​ <​code>​GRAVITY,​ SPEED_LIMIT</​code>​
  
Sor 50: Sor 59:
  
   * Az egysoros utasítás blokkoknak is nyissunk zárójeleket.   * Az egysoros utasítás blokkoknak is nyissunk zárójeleket.
-  * Egy sorba csak egy utasítás kerüljön. +  ​* **Egy sorba csak egy utasítás kerüljön.** 
-  * Végtelen ciklust a **while (true)** formában használjuk.+  * Végtelen ciklust a while (true) formában használjuk.
  
  
  
-===== Forrásfájlok =====+====== Forrásfájlok ​======
  
   * **Minden fájlba csak egy, a vele megegyező nevű osztály kerülhet.**   * **Minden fájlba csak egy, a vele megegyező nevű osztály kerülhet.**
Sor 69: Sor 78:
 ... ...
 #endif // ifndef CHARACTER</​code>​ #endif // ifndef CHARACTER</​code>​
 +====== Formázás ======
  
- +Ha egy sor túl hosszú, meghaladja a 120 karaktert, tördelni kell. A törés mindig úgy történjen,​ hogy **az operátor a sor végére ​kerüljön**.
-===== 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> <code cpp-qt>
-if(!((windowSize.height() <= screenSize.height()) && isWindowSizeHeightPositive) +if (!((windowSize.height() <= screenSize.height()) && isWindowSizeHeightPositive) || 
-    ​|| !((windowSize.width() <= screenSize.width()) && isWindowSizeWidthPositive))+   !((windowSize.width() <= screenSize.width()) && isWindowSizeWidthPositive))
 { {
     resize(QSize(450,​ 200));     resize(QSize(450,​ 200));
Sor 96: Sor 103:
  
 <code cpp> <code cpp>
-if (isEmpty()) {+if (isEmpty()) 
 +{
     cout << "​Empty";​     cout << "​Empty";​
 } else { } else {