TYPO3 & in2code CodingGuidelines(PHP)<br />
Introduction<br />
Was sind CodingGuidelines<br />Die CG definieren, wie TYPO3 Code, Dateien und Verzeichnisse strukturiert und formatiert se...
Warum braucht man CodingGuidelines<br /><ul><li>Sicherheit
Lesbarkeit</li></ul>Die CG helfen, sich in unbekanntem Code (und das kann durchaus der eigene Code nach einem längeren Zei...
PHP Showcase<br />
Finde den (die) Fehler<br />functionxy () { <br />$a = "<div style=color:blue;>Das ist ein Text</div>"; <br />if ($b) <br ...
Auflösung I<br />functionxy() {<br /><ul><li>Sinnvolle Namen für Methoden und Klassen vergeben
Sichtbarkeit der Methoden und Attribute vergeben (PHP5)</li></ul>$a = "<div style=color:blue;>Das ist ein Text</div>";<br ...
HTML Code stets in Templates auslagern
Stringwerte in Hochkommas können schneller geparst werden als in Anführungszeichen</li></ul>$anzahl = $row['x'].'Keine Pro...
Upcoming SlideShare
Loading in...5
×

TYPO3 coding guidelines

1,934

Published on

TYPO3 coding guidelines - Was ist beim Programmieren zu beachten und warum?

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,934
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

TYPO3 coding guidelines

  1. 1. TYPO3 & in2code CodingGuidelines(PHP)<br />
  2. 2. Introduction<br />
  3. 3. Was sind CodingGuidelines<br />Die CG definieren, wie TYPO3 Code, Dateien und Verzeichnisse strukturiert und formatiert sein sollten. CG liefern keine technischen Informationen und hilft nicht beim Programmieren.<br />
  4. 4. Warum braucht man CodingGuidelines<br /><ul><li>Sicherheit
  5. 5. Lesbarkeit</li></ul>Die CG helfen, sich in unbekanntem Code (und das kann durchaus der eigene Code nach einem längeren Zeitraum sein) schnell und sicher zurechtzufinden. <br />Das Einhalten der CG sichert eine skalierbare und sichere Erweiterung gerade bei der Arbeit im Team.<br />
  6. 6. PHP Showcase<br />
  7. 7. Finde den (die) Fehler<br />functionxy () { <br />$a = "<div style=color:blue;>Das ist ein Text</div>"; <br />if ($b) <br /> $a = "<a href="index.php?id=$_POST["var"]">$a</a>";<br />$anzahl = $row['x'].'Keine Produkte gewählt';   <br />mysql_connect($dbort,$dbuser,$dbpw); mysql_select_db($dbdb);<br />$z=mysql_query("SELECT * FROM table"); while($datenvondatenbank=mysql_fetch_array($z)) <br />{ <br />echo "Daten: $datenvondatenbank[links]"; <br />} <br />}<br />Warnung: Zu intensive Betrachtung <br />kann zu epileptischen Anfällen führen!<br />
  8. 8. Auflösung I<br />functionxy() {<br /><ul><li>Sinnvolle Namen für Methoden und Klassen vergeben
  9. 9. Sichtbarkeit der Methoden und Attribute vergeben (PHP5)</li></ul>$a = "<div style=color:blue;>Das ist ein Text</div>";<br /><ul><li>Sinnvolle Variablennamen (Nur temporäre Variablen mit kurzer Schreibweise)
  10. 10. HTML Code stets in Templates auslagern
  11. 11. Stringwerte in Hochkommas können schneller geparst werden als in Anführungszeichen</li></ul>$anzahl = $row['x'].'Keine Produkte gewählt';<br /><ul><li>Sämtliche Bezeichnungen und Hinweistext international verständlich (Englisch)
  12. 12. Texte in Sprachdateien auslagern (locallang)
  13. 13. Vor und nach jedem . ein Leerzeichen einfügen</li></ul>if ($b) <br /> $a = "<a href="index.php?id=$_POST["var"]">$a</a>";<br /><ul><li>IF Anweisungen immer mit Klammern
  14. 14. Sinnvolle Variablennamen (Nur temporäre Variablen mit kurzer Schreibweise)
  15. 15. HTML Code stets in Templates auslagern
  16. 16. GET/POST Parameter nicht ungefiltert ausgeben</li></li></ul><li>Auflösung II<br />mysql_connect($dbort,$dbuser,$dbpw); mysql_select_db($dbdb);<br /><ul><li>TYPO3 API Funktionen vorziehen
  17. 17. Jede Anweisung in eine neue Zeile</li></ul>$z=mysql_query("SELECT * FROM table");<br /><ul><li>TYPO3 API Funktionen vorziehen
  18. 18. Stringwerte in Hochkommas können schneller geparst werden als in Anführungszeichen</li></ul>while($datenvondatenbank=mysql_fetch_array($z)) <br />{ <br /><ul><li>Beginnende Klammern in der gleichen Zeile</li></ul>echo "Daten: $datenvondatenbank[links]"; <br />} <br /><ul><li>Ausgabe erfolgt in TYPO3 in der Regel nicht über echo sondern als Rückgabewert
  19. 19. Stringwerte in Hochkommas können schneller geparst werden als in Anführungszeichen
  20. 20. Zeilen sollten der Übersicht wegen mit Tabstopps (nicht Leerzeichen) eingerückt werden</li></li></ul><li>Auf einen Blick I<br /><ul><li>Leerzeichen
  21. 21. nach Operatoren (>, =, <, ==, *, +, …) </li></ul>Ausnahme $i++<br /><ul><li>nach Funktions-Argumenten getTitleByUid($param1, $param2)
  22. 22. Kommentare innerhalb des Codes
  23. 23. In einer eigenen Zeile davor bündig mit dem entsprechenden Code
  24. 24. Kommentare sind immer wichtig (vor allem wenn die Funktion nicht ersichtlich ist)
  25. 25. Debugausgaben
  26. 26. Diese müssen gut beschrieben sein (An- und Ausschalten)
  27. 27. IF/ELSE/ELSEIF
  28. 28. Leerzeichen vor und nach den runden Klammern
  29. 29. Nur zusammen mit geschweiften Klammern
  30. 30. Zeilenende
  31. 31. Unix
  32. 32. Keine Leerzeilen vor oder nach php tags (<?php … ?>)
  33. 33. Keine Leerzeichen am Ende einer Zeile
  34. 34. Zeilen sollen kürzer als 80 Zeichen sein
  35. 35. PHP Tags
  36. 36. Immer <?php (nie <?)
  37. 37. Immer mit Abschluss ?></li></li></ul><li>Auf einen Blick II<br /><ul><li>Schleifen
  38. 38. foreach statt while(list())
  39. 39. foreach vs. reset()
  40. 40. Dateinamen
  41. 41. So lang wie gewollt
  42. 42. Kleinschreibung
  43. 43. Klassen, Funktionen und Variablen
  44. 44. Klassenfunktion immer dokumentieren
  45. 45. Nur eine Klasse pro Datei
  46. 46. camelCase in der Schreibweise (kein Unterstrich)
  47. 47. Erstes Zeichen ist kleingeschrieben
  48. 48. Variablenname nicht im Parameterkommentar der Methoden aufführen
  49. 49. String Variablen
  50. 50. Hochkomma anstatt Anführungszeichen
  51. 51. Array
  52. 52. Array zuvor definieren bevor dieses an eine Funktion übergeben wird</li></li></ul><li>Vielen Dank<br />www.in2code.de<br />Stefan Busemann<br />Tina Gasteiger<br />Alex Kellner<br />In2code.<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×