Forráskód formázási szabályok

Hasonló dokumentumok
Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

A C# programozási nyelv alapjai

Vezérlési szerkezetek

Java II. I A Java programozási nyelv alapelemei

C programozási nyelv

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

Osztályok. 4. gyakorlat

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Informatika terméktervezőknek

A C programozási nyelv I. Bevezetés

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

A C programozási nyelv I. Bevezetés

AWK programozás, minták, vezérlési szerkezetek

AWK programozás, minták, vezérlési szerkezetek

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

Internet technológiák

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

Szkriptnyelvek. 1. UNIX shell

Komputeralgebra Rendszerek

Bevezetés a C++ programozási nyelvbe

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

Szoftvertervezés és -fejlesztés I.

Java II. I A Java programozási nyelv alapelemei

Vezérlési szerkezetek. Szelekció Ciklusok

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

Java és web programozás

A JavaScript főbb tulajdonságai

Webprogramozás szakkör

Készítette: Nagy Tibor István

Java programozási nyelv

Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;

Ez a fejezet felsorolja az általánosan használt kiterjesztéseket, és neveket.

Járműfedélzeti rendszerek II. 4. előadás Dr. Bécsi Tamás

Szoftvertechnológia alapjai Java előadások

Occam 1. Készítette: Szabó Éva

1. Jelölje meg az összes igaz állítást a következők közül!

GYAKORLATIAS JAVA MINTA

Gyakorló feladatok Gyakorló feladatok

Vezérlési szerkezetek

C programozás. 1 óra Bevezetés

A C programozási nyelv II. Utasítások. A függvény.

Java és web programozás

AWK programozás Bevezetés

Mintavételes szabályozás mikrovezérlő segítségével

Az alkalmazásfejlesztés, fordítás Actionscript elemei, a Macromedia Flash rendszer. 1. Az alkalmazásfejlesztés lépései

Szövegek C++ -ban, a string osztály

Gregorics Tibor Tanácsok modularizált programok készítéséhez 1

Imperatív és procedurális programozás a Javában

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Web-technológia PHP-vel

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás

Ismerkedés a Python programnyelvvel. és annak micropython változatával

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

Intermec EasyCoder PM4i nyomtató programozásának alapjai Intermec Fingerprint v8.00 nyelven

Algoritmizálás + kódolás C++ nyelven és Pascalban

Apple Swift kurzus 3. gyakorlat

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

8. Mezőutasítások. Schulcz Róbert 8. Mezőutasítások. v

és az instanceof operátor

Regionális forduló november 19.

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Programozási nyelvek II. JAVA

1. Egyszerű (primitív) típusok. 2. Referencia típusok

Pénzügyi algoritmusok

Programozás 1. Dr. Iványi Péter

Kifejezések. Kozsik Tamás. December 11, 2016

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

Objektumok inicializálása

Írásjelek helyes szedése. Szabó Csaba. Mondatvégi írásjelek. Központozás. Kötőjelfélék. Szabó Csaba november 18.

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

OOP #14 (referencia-elv)

Komputeralgebra rendszerek

Kifejezések. Kozsik Tamás. December 11, 2016

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

Komputeralgebra rendszerek

A KÓDOLÁS TECHNIKAI ELVEI

3 A C programozási nyelv szintaktikai egységei

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)

Bevezetés a C++ programozásba

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)

BASH script programozás II. Vezérlési szerkezetek

Regionális forduló november 19.

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Internet programozása. 3. előadás

Objektumorientált Programozás III.

Tartalomjegyzék. I. rész Az elsõ lépések

1. Alapok. #!/bin/bash

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

Szelekció. Döntéshozatal

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r

Oktatási segédlet 2014

Átírás:

Forráskód formázási szabályok Írta: Halmai Csongor, Webcenter Bt. A php és html kódrészletek Ugyanazon fájlon belül nem szerepelhet php kód és html tartalom. E kettő különválasztására smarty-t vagy más hasonló sablonkezelő rendszert használunk. A php szakasz jelzésére nem használjuk a <? rövidített jelzést, hanem helyette mindig <?php kerül a fájlokba. <?php => print 1;?> // "<?" Nem helyes! Változók A változókat mindig csupa kisbetűvel írjuk, és aláhúzás jelekkel tagoljuk. Törekedjünk a pontos, önmagyarázó változónevekre! A magyar kifejezéseken kívül a bevett angol kifejezések (set, get, id, stb.) használata is megengedett. $kozlemeny_id Tömb jellegű adatoknál a változónév többes számmal tükrözze azt, hogy több adat van/lehet a változóban: $kozlemeny_idk A konstans értékű változókat csupa nagybetűkkel írjuk: $MAX_FILE_UPLOAD_SIZE Függvények A függvények neve midig kisbetűvel kezdődik, és aláhúzásjelet és számjegyet csak kivételes esetben tartalmazhat (akkor, ha több nagyon hasonló rendeltetésű és nevű fgv. van, és ezek között sorszámmal érdemes különbséget tenni). Kivétel az alól az osztály konstruktora, amelynek kezdőbetűje is nagy. A függvények nevében a tagolást a név belsejébe írt nagybetűk adják. talalatilistamegjelenitese() Függvények nevében a mozaikszavakat csupa nagybetűvel írjuk. 1/5 Webcenter Bt.

beolvasottxmlfajlhelyese(); // hibás beolvasottxmlfajlhelyese(); // helyes Osztályok Az osztályok neve megegyezik a konstruktorral, vagyis nagy betűvel kezdődik, és nem tartalmaz aláhúzásjelet, belső nagybetűt azonban esetleg igen. class MyClass extends YourClass {... Kifejezések, zárójelek, szóközök, sorokra tagolás A kifejezések írásakor a szellős írást használjuk. Ez azt jelenti, hogy a zárójeleken belül (a nyitó után és a záró előtt), kerek és szögletes zárójelek esetében is van legalább egy-egy szóköz. Kezdő szögletes zárójel előtt sosincs szóköz. $y = 2 * ( $x[ "a" ][ 1 ] + $x[ "a" ][ 2 ] ) Kezdő kerek zárójel előtt akkor nincs, ha függvény paraméterlistáját határolja, de minden más esetben van. Az értékadó és a feltételes operátorok előtt és után is legalább egy szóköz van. (Lásd a lenti printsign() példát). Kezdő kapcsos zárójel előtt mindig van szóköz, és mindig annak a for(), function(), stb. sornak a végén van, amelyikhez tartozik. function printsign( $x ) { => if ( $x < 0 ) { => => print "-"; => else { => => print ""; => Az include(), include_once(), require(), require_once() utasításoknál a zárójeleket kitesszük. Az if () utasítás mindkét ágát kapcsos zárójelek közé foglaljuk, akkor is, amikor csak egy utasítás van az adott ágban. function printsign( $x ) { => if ( $x < 0 ) { // helyes => => print "-"; => else // helytelen => => print ""; => Utasítások Egy sorba csak egy utasítás kerüljön, még akkor is, ha egyszerű utasításokról van szó. 2/5 Webcenter Bt.

//Hibás $x = 0; $y = 1; //Helyes $x = 0; $y = 1; Ne éljünk az egy utasításban elvégezhető többszörös értékadás lehetőségével! //Hibás $x = $y = 0; //Helyes $x = 0; $y = 0; Tabulálás A forráskód minden sora 0, 1 vagy több TAB karakterrel kezdődik, amelyek után nem lehet több TAB a soron belül. A sor elejei TAB-ok számát az határozza meg, hogy az adott utasítás blokkja milyen mélyen van: egy szinttel mélyebb utasítás egy TAB-bal van beljebb. function translatebit( $x ) { => if ( $x == null ) { => => return "NULL"; => => switch ( $x ) { => => case 0: => => => $ret = "nulla"; => => case 1: => => => $ret = "egy"; => => => => default: => => => $ret = "nem bit"; => => return $ret; Az ilyen módon történő tabulálásnak az a célja, hogy ha valaki 4 helyett 2 vagy 8 (vagy bármi más) TAB-szélességet állít be magának, akkor is tökéletesen olvasható marad a program, csak a blokkok behúzása változik a beállítások szerint. Tagolás a sorokon belül TAB karakter csak a sorok elején lehet, az első nem-tab után már nem következhet a sorban újabb TAB, hanem csak szóközök. Szóközök halmozásával érjük el, hogy az egymás alatti értékadások, relációs jelek egymás alá kerüljenek. $x = 1; $long_name = 2; $short = 3; Az olvashatóság érdekében a bonyolultabb kifejezéseket több sorba tagoljuk. Ilyenkor ügyeljünk arra, hogy a TAB-ok csak az adott blokk mélységét jelentik; az ezen túli behúzást a TAB-ok utáni SPACE-ekkel végezzük! 3/5 Webcenter Bt.

// helyes: if ( $cond ) { => $x = ( $y1 + 5 > $y2 ) && => ( $my_favourite_var === null ) && => ( $y3 >= $y4 ); // hibás: if ( $cond ) { => $x = ( $y1 + 5 => => => > $y2 ) && => ( $my_favourite_var === null ) && => ( $y3 => => => => >= $y4 ); Megjegyzések (Ez a fejezet a phpdoc-ra áttérés esetén módosulhat) A függvényeket //---- alakú megjegyzés sorokkal határoljuk egymással. A // jel a function kulcsszó f betűje fölött kezdődik, amelyet legalább 40 darab (mínusz) jel követ. A kód megértését segítő megjegyzések // jellel a sorok végén foglalnak helyet. A függvények, osztályok egészét magyarázó megjegyzések a function() illetve a class kulcsszót követő sorban /* és */ jelek között találhatók. class MyClass extends YourClass { => function MyClass() { => => function f1() { => => function f2() { => A megjegyzéseket magyar nyelven, ASCII kódolású ékezetes szöveggel fogalmazzuk meg! if ( $sizeof( $dokumentumok ) >= 3 ) { van //ha elegendő feltöltött dokumentum A függvények deklarációját közvetlenül megelőző sorokban a phpdocumentor által előírt módon írjuk le a függvény fontosabb jellemzőit (lásd http://www.phpdoc.org). /** * Dátumot jelenít meg, a $lang paraméter által meghatározott nyelvi * szabályoknak megfelelően. */ function datum2string( $datum, $lang = "hu" ) { A mit csinál a kódrészlet jellegű magyarázó megjegyzéseknek csak akkor van létjogosultságuk, ha egy nagyobb (pl. >10 sor) kódrész előtt/mögött szerepel. 4/5 Webcenter Bt.

// beolvasott adatok feldolgozása foreach ( $adatok as $egy_adat ) {... // beolvasott adatok feldolgozása kész. A kódmagyarázó megjegyzéseknél ne (csak) az szerepeljen, hogy mit csinál a kód, hanem az (is), hogy miért. Nagy, egymásba ágyazott blokkok esetén a bezáró kapcsos zárójelek mögé írt megjegyzéssel utaljunk arra, hogy az a jel mihez tartozik. if () { => foreach ( $adatok as $egy_adat ) { => => while () { => => => => => => => => // while => // foreach // if 5/5 Webcenter Bt.