Sie befinden sich hier: start » de » coding_style

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

de:coding_style [2017/01/31 08:20]
Hartmut Keil
de:coding_style [2018/10/26 15:33]
Zeile 1: Zeile 1:
-====== Programmierstil ====== 
  
-Programmieren Sie auf eine Art, die anderen hilft Ihren Code zu verstehen. 
-// Jeder Narr kann Code schreiben, den ein Computer verstehen kann. Gute Programmierer schreiben Code, den Menschen verstehen können.//​([[http://​www.amazon.com/​Refactoring-Improving-Design-Existing-Code/​dp/​0201485672|Martin Fowler]]) ​ 
- 
-Seit CMSimple_XH 1.6 wurden die [[http://​pear.php.net/​manual/​en/​standards.php|Pear Coding Standards]] für das Kernsystem angenommen. Schreiber von Erweiterungen können in Erwägung ziehen, diese Coding Standards ebenfalls anzunehmen, aber natürlich ist das nicht verpflichtend. 
- 
-Um keinen "​Glaubenskrieg"​ bzgl. des richtigen Programmierstils zu entfachen, fassen Sie diese Liste nicht als etwas wie die Zehn Gebote auf, sondern nur als ein paar **Vorschläge** wie sie die Lesbarkeit von Plugins, Addons und Codeanpassungen erhöhen können. 
- 
-  - Verwenden Sie immer **<?php ?>**, niemals die Kurzfassungen <? ?> oder <?= ?>. 
-  - Wählen Sie **verständliche Namen** für Funktionen und Variablen und vermeiden Sie soweit möglich neue global Variablen zu verwenden. Und stellen Sie Ihren Funktionen z.B. den Namen des Plugins voran (da Namespaces erst seit PHP 5.3 verfügbar sind). 
-  - **Rücken Sie Ihren Code** mit 4 Leerzeichen oder 4 Zeichen langen Tabulatoren auf eine logische Weise ein. 
-  - Es wird empfohlen **geschweifte Klammern** zu verwenden, selbst wenn diese nicht erforderlich sind. <code php> 
-// schlecht (das betrifft ebenfalls Punkt #2): 
-if ($t == ''​)e('​undefined',​ '​file',​ $fl); 
- 
-// besser: 
-if ($temp == ''​){ 
-   ​error_message('​undefined',​ '​file',​ $file); 
-} 
-// oder: 
-if ($temp == ''​) 
-{ 
-   ​error_message('​undefined',​ '​file',​ $file); 
-} 
- 
-</​code>​ 
-  - Verwenden Sie **einfache Anführungszeichen**,​ zumindest für den Fall, dass in der Zeichenkette nichts zu evaluieren ist. <code php> 
-// schlecht: 
-echo "<a href=\"​http://​www.cmsimple-xh.org\"​ title=\"​CMSimple_XH\">​CMSimple_XH</​a>";​ 
-// besser: 
-echo '<a href="​http://​www.cmsimple-xh.org"​ title="​CMSimple_XH">​CMSimple_XH</​a>';​ 
-</​code> ​ 
-  - Trennen Sie Parameter und Operatoren mit **Leerzeichen** <code php> 
-// schlecht: 
-function some_function($foo,​$bar){ 
-    if($foo==bar){ 
-         ​return $foo+$bar; 
-    } 
-} 
-// besser: 
-function some_function($foo,​ $bar){ 
-     ​if($foo == bar){ 
-         ​return $foo + $bar; 
-    } 
-} 
-// oder: 
-function some_function($foo,​ $bar) 
-{ 
-    if($foo == bar) 
-    { 
-        return $foo + $bar; 
-    } 
-} 
-</​code>​Im Falle von vielen Parameter oder Bedingungsklauseln **verwenden Sie Zeilenumbrüche** und Einrückungen. <code php> 
-// schlecht: 
-if(isset($foo) && $foo > 1 && $foo < 45 && $bar == true){ 
-    //... 
-} 
-// besser: 
-if(    isset($foo) 
-    && $foo > 1 
-    && $foo < 45 
-    && $bar == true 
-) { 
-    //... 
- 
-</​code>​ 
-  - **Verschachteln** Sie nicht zu tief, und schreiben Sie **kurze Code Zeilen** (max. 80 Zeichen werden üblicherweise empfohlen). <code php> 
-// schlecht: 
-$foo = explode('​§',​ preg_replace("/​(<​h[1-"​.$cf['​menu'​]['​levels'​]."​][^>​]*>​)/​i",​ "​§\\1",​ str_replace('​§',​ '&#​167;',​ rf($pth['​file'​]['​content'​]))));​ 
- 
-// besser: ​ 
-$foo = rf($pth['​file'​]['​content'​]);​ 
-$foo = str_replace('​§',​ '&#​167;'​ $foo); 
-$foo = preg_replace('/​(<​h[1-'​ 
-     . $cf['​menu'​]['​levels'​] 
-     . '​][^>​]*>​)/​i',​ '​§\\1',​ $foo); 
-$foo = explode('​§',​ $foo); ​   
-</​code>​Wenn Sie kurze Zeilen schreiben, platzieren Sie die Verkettungs-**Punkte** in mehreren Zeilen genau **unter das "​="​**<​code php> 
-// schlecht: 
-$foo = $foo1.$foo2.$foo3.(my_super_cool_calculation).etc;​ 
- 
-// besser: ​ 
-$foo = $foo1 
-     . $foo2 
-     . $foo3 
-     . (my_super_cool_calculation) 
-     . etc; 
-</​code> ​ 
-  - **Funktionsnamen** sind besser zu **lang** als zu kurz. Eine beschreibende Phrase als Funktionsname erleichtert die Verständlichkeit des Codes. Beginnen Sie mit einem **Kleinbuchstaben** und trennen Sie Wörter durch camelCase oder Unterstriche. 
-  - **Klassendefinitionen** sollten mit einem **Großbuchstaben** beginnen und einen Zeilenumbruch vor der öffnenden Klammer haben. <code php> 
-class Toy 
-{ 
-   //... 
-} 
-</​code>​ 
-  - **Rücken** Sie Zuordnungen in **Arrays** ein. <code php> 
-// schlecht: 
-array('​drink'​ => '​coffee',​ '​do_not_watch'​=>'​tv','​eat'​=>'​bread'​);​ 
- 
-// besser: 
-array( 
-    '​drink' ​       => '​coffee',​ 
-    '​do_not_watch'​ => '​tv',​ 
-    '​eat' ​         => '​bread',​ 
-); 
-</​code>​ 
 
Sie befinden sich hier: start » de » coding_style
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: GNU Free Documentation License 1.3
Valid XHTML 1.0 Valid CSS Driven by DokuWiki