Štábní kultura: Porovnání verzí

Z Freenetis Wiki
Přejít na: navigace, hledání
Řádek 18: Řádek 18:
 
=== Odsazování ===
 
=== Odsazování ===
  
Odsazování zdrojového textu se provádí pomocí tabulátoru.
+
Odsazování zdrojového textu se provádí pomocí tabulátoru. pokud není uvedeno jinak, předpokládá se právě tato velikost odsazení.
  
 
=== Zalamování ===
 
=== Zalamování ===
Řádek 65: Řádek 65:
 
  $object->method1()
 
  $object->method1()
 
         ->method2();
 
         ->method2();
 +
 +
'''Složené podmínky'''
 +
 +
if (conditionA && (
 +
        conditionB ||
 +
        conditionC
 +
    ))
 +
{
 +
    ...
 +
}

Verze z 7. 7. 2011, 13:03

Vývojářům FreeNetISu je doporučeno dodržovat zde definované pravidla pro zvýšení čitelnosti a jednotnosti zdrojových kódů.

Každý zdrojový soubor by měl začínat následujícím kódem:

<?php defined('SYSPATH') or die('No direct script access.');
/*
 * This file is part of open source system FreeNetIS
 * and it is released under GPLv3 licence.
 * 
 * More info about licence can be found:
 * http://www.gnu.org/licenses/gpl-3.0.html
 * 
 * More info about project can be found:
 * http://www.freenetis.org/
 * 
 */

Odsazování

Odsazování zdrojového textu se provádí pomocí tabulátoru. pokud není uvedeno jinak, předpokládá se právě tato velikost odsazení.

Zalamování

Řádek kódy controllerů, modelů a helperů by neměl přesahovat 80 znaků. Pro řádky přesahující tuto délku zalamujeme zdrojový kód dle následujících pravidel:

Zalamování polí

array
(
    'a', 'b', c', 'd', 'e',
    'f', 'g'
);
array
(
    'a'   => val1,
    'b'   => val2
);

Zalamování argumentů funkcí

Zalamujeme i argumenty v definicích a deklaracích.

Používá se odsazení vnitřních argumentů o 2 tabulátory

funkce(arg1, arg2,
        arg3, arg4
);

nebo

funkce(
        arg1, arg2,
        arg3, arg4
);

Řetězené metody objektů

Toto zalamování je vhodné i pokud řádek kódu nepřesahuje 80 znaků.

Používá se odsazení o 2 tabulátory

$object->method1()
        ->method2();

Složené podmínky

if (conditionA && (
        conditionB ||
        conditionC
   ))
{
    ...
}