Codestijl

From A-Eskwiki
Jump to: navigation, search

Omdat we nog genoeg fietsenstallingen hebben, hebben we hier een korte opsomming van wat we mooie stijl vinden.

Witruimte en uitlijning

  • Indentatie is een tab, en doorgaan van regels is twee tabs.
  • Regels langer dan 80 karakters zijn lelijk maar niet verboden. Dus, wees niet bang om statements en expressies over meerdere regels te verdelen.
  • Na een blok (functiedefinities, if, foreach etc.) komt precies één witregel.
  • Openingshaakjes van blokken zijn verplicht en komen op de regel eronder. (Dus → if (...)\n→ {\n→ → ...)

Hoofdletters

  • Klassen zijn UpperCamelCase en functies, variabelen enzo zijn lowerCamelCase.
  • Heb je een afkorting zoals CSV, dan doen we CamelCase nog steeds met hoofdletters: CSVPagina, niet CsvPagina.
  • PHP-constanten als true, false en null zijn zonder hoofdletters.

Naamgeving

  • Code is Nederlandstalig, dus gebruik Nederlandse woorden. Ga hierin ook weer niet te ver: BlaView::tabel() ipv BlaView::table() maar BlaView ipv BlaBlik.

Overig syntaxgeneuzel

  • Doxygen-commando's zijn met @: @brief, @param bla, @returns, enz.

Control flow

  • De HTMLPage maak je aan in de controller, de view returnt HTMLObjecten die je erin kan stoppen.
  • Als je wilt je checken of iets NULL is, gebruik dan altijd is_null().
  • Gebruik Responses ipv stateful functies.
  • Gebruik new $blaPage() ipv Page::getInstance('$bla')
  • PHP-code die vanuit Benamite wordt aangeroepen, hoort op zijn minst in een functie, zo niet in een methode van een Controller-klasse.
  • Heb je toch top-level PHP-code die wordt aangeroepen vanuit Benamite, doe dan geen exit/die, maar gewoon return.

Vul je andere favoriete pet peeves hier in!

Als je met (bestaande) code bezig bent die zich niet helemaal houdt aan deze stijl, fix dat dan (minstens in de methode waar het om gaat).