Standarde de codare
În toate limbajele de programare există aşa numitele „Standarde de codare” (sau Coding Standards). În general există 2 standarde de codare, diferenţa constând în felul în care sunt poziţionate acoladele:
Primul stil (C++ Coding Standards):
function foo()
{
echo 'bar';
}
După cum se observă, peste tot pe unde este necesară deschiderea unei acolade, aceasta se poziţionează pe rândul următor, închiderea ei făcându-se cu un rând mai jos decât ultima linie de cod a blocului respectiv, pe aceeaşi linie verticală cu perechea ei de începere. Foarte pe larg aici.
Un exemplu complet de cod scris în acest stil ar putea arăta aşa:
public function setParams( $params )
{
if ( empty( $params ) )
{
$this->__request['params'] = null;
}
else
{
$keys = $values = array();
$count = count( $params );
for( $i = 0; $i < $count; $i++ )
{
$param = $this->getAlpha( $params[$i] );
$i % 2 == 0 ? $keys[] = $param : $values[] = $param;
}
$this->__request['params'] = array_combine( $keys, $values );
}
}
Avantaje:
- Lizibilitate sporită
- Urmărire rapidă a codului, acoladele fiind poziţionate pe aceeaşi linie verticală
Dezavantaje:
- Număr de linii mai mare ocupat de cod
Cel de-al doilea stil (PEAR style):
function bar() {
echo 'foo';
}
În acest caz, deschiderea acoladelor se face pe acelaşi rând cu instrucţiunea, iar închiderea ei se face la fel ca în primul caz. Descriere completă aici.
Un exemplu complet de cod s cris în acest stil ar putea arăta aşa:
public function relative($offset) {
// which absolute row number are we seeking
$pos = $this->cursorPos + ($offset - 1);
$ok = $this->seek($pos);
if ($ok === false) {
if ($pos < 0) {
$this->beforeFirst();
} else {
$this->afterLast();
}
} else {
$ok = $this->next();
}
return $ok;
}
Avantaje:
- Număr de linii mai mic ocupat de cod
Dezavantaje:
- Lizibilitatea este scăzută
- Codul este greoi de urmărit, un factor fiind chiar poziţionarea acoladelor pe diagonală
Pentru mine, cel mai bun stil de programare (şi cel pe care de altfel îl folosesc) este primul dintre cele două. Un prim factor în alegerea acestui stil a fost scrierea de cod curat şi uşor de urmărit, care să nu obosească ochii. Pe urmă, eu începând programarea cu C++, am utilizat intens acest stil şi m-am obişnuit cu el fără probleme.
Însă aceste standarde nu sunt bătute în cuie. Fiecare îşi poate defini propriul standard, pornind de la cele două şi adaptând după cum se simte mai bine. De exemplu, după cum se observă şi în a doua bucată de cod postată mai sus, eu am decis a utiliza şi o spaţiere permanentă, tocmai pentru a spori gradul de lizibilitate (pe larg despre stilul ăsta aici).
Tags: c++, coding standards, PHP
Posted in Articole, PHP 2 Comments »








