Skip to content

2014 02 08 WMDE Treffen

funcya edited this page Feb 6, 2014 · 4 revisions

bitte ggf. ergänzen

CODING CONVENTIONS

  • php files.

    • Klassen
      • doxygen header:
      • lizenz
      • autor
      • funktion und sinn des files
    • Funktionen
      • dokumentation von funktionen nur dann nötig wenn funktion sonst nicht verständlich
      • bei interface funktionen immer schreiben was sie macht
      • evtl sincetags für einzelne funktionen
      • typisierung für parameter angeben
      • evtl exceptions dokumentieren
      • bei gettern: rückgabetyp
    • Typen dokumentieren
      • "Param $"
  • niemals direkte includes. Immer über Autoloader gehen.

    • Stichwörter:
      • Autoloader Namespaces
      • Composer benutzen
      • psr-0
  • Validätsprüfung in Konstruktoren

  • Auf SQL injection achten

  • Nie Query verwenden

    • stattdessen $dbrselect(, ,
  • Validation so früh wie möglich, escaping so spät wie möglich

  • bei Methodennamen "suggest..." statt "suggestions..."

TESTING

  • für jede Klasse eine Testklasse => Test

  • für jede Methode eine Testmethode => test

  • vorbild: "Diff" Komponente in WMDE

  • Testprovider nutzen

    • provider gibt immer array mit testdaten
    • im kommentar: dataprovider hinzufügen
  • Travis (komponente für github)

    • Führt php unit tests aus. (Man kann für jeden test die version einstellen)
    • Man kann die ausgabe von php unit angucken
    • Wenn alle tests durchlaufen/nicht durchlaufen: der Test wird in Github markiert
  • Scruntinizer

  • Javascript unit tests "qunit"-Tests: localhost/.../Special:JavaScriptTest/qunit

Abgeleitete Aufgabenbereiche

  • Php files ensprechend der Coding conventions verändern
  • Tests schreiben
    • php & phpunit (Testprovider)
    • Javascript & qunit (wgJavascript = True in LocalSettings.php)
  • Evaluater verbessern
    • Positionsverteilung (vllt graphisch am end )
    • Wie oft auf der ersten Seite
    • perfomance verbessern (Debugmodus ausschalten)
  • Dependencies untersuchen.