OC Coding Style: Unterschied zwischen den Versionen

Aus Opencaching-Wiki
Zur Navigation springen Zur Suche springen
(Link zum Forum aktualisiert)
(started new style guide)
Zeile 1: Zeile 1:
Hier werden die style-guidelines für die Entwickler des OC-Codes fortgeschrieben, diese Seite ist unvollständig und enthält derzeit nur einzelne Teile, die aus dem bestehenden Code übernommen wurden, bzw. auf den sich das Entwicklerteam geeinigt hat. Diskussionen hierzu sollten im [http://forum.opencaching.de/index.php?board=43.0 Entwickerforum] geführt werden.
+
The following rules apply to all developers who contribute source code to the Opencaching.de project.
  
=== Klammersetzung/Einrückung ===
+
== General rules ==
Die Klammersetzung/Einrückung erfolgt im [http://de.wikipedia.org/wiki/Einr%C3%BCckungsstil#Allman_.2F_BSD_.2F_.E2.80.9EEast_Coast.E2.80.9C Allman-Stil], die öffnende geschweifte Klammer steht in der folgenden Zeile (durch einen Zeilenumbruch von Kontrollstruktur und Bedingung/Parameter getrennt).
+
All source code files must
<pre>
+
* not contain TAB characters,
if (...Bedingung...)
+
* use 4-char indenting columns,
{
+
* be UTF-8 encoded without byte order marks,
Anweisung1;
+
* use only LF as line ends, with the current exception of [[Entwicklung/Codedoku#Email-Templates|email templates]], which have RFC-822 CR/LF line ends.
Anweisung2;
 
}
 
</pre>
 
oder
 
<pre>
 
class ClassName
 
{
 
...
 
}
 
</pre>
 
oder
 
<pre>
 
function functionName (...Parameter...)
 
{
 
...
 
}
 
</pre>
 
  
=== Kontrollstrukturen ===
+
There are some tools in the [https://github.com/OpencachingDeutschland/oc-server3/tree/master/local/devel local/devel] directory for verifying and fixing these things.
Für alle Kontrollstrukturen gilt, zwischen dem Namen der Konstrollstruktur und der öffnenden Klammer der Bedingung ist ein Leerzeichen zu setzen.
 
<pre>
 
foreach (...Bedingung...)
 
</pre>
 
oder
 
<pre>
 
function functionName ([...Parameter...])
 
</pre>
 
  
==== if ====
+
== PHP ==
Bei if-Statements soll wenn möglich die verkürzende Schreibweise verwendet werden:
+
All self-written or directly changed code must fully comply to the [http://www.php-fig.org/psr/psr-1/ PSR-1] / [http://www.php-fig.org/psr/psr-2/ PSR-2] standard, with these exceptions:
  
Einzeilige Anweisungen (eingerückt)
+
* When referencing identifiers (e.g. class and function names) that are defined in non-PSR-2-compliant source code files, they need not be PSR-2 compliant.
<pre>
+
* When writing small standalone scripts like those in the 'local' and 'util' directories, they need not to comply to the PSR-1 "Side Effects" rule.
if (...Bedingung...)
 
Einzeilige Anweisung;
 
else
 
Einzeilige Anweisung;
 
</pre>
 
  
Bei Variablenzuweisung soll das if-Statement mittels Trinitäts-Operator verwendet werden:
+
Only <code><?php</code> and <code><?=</code> open tags must be used. <code><?</code> (short open tags) must not be used.
<pre>
 
$variable = (...Bedingung... ? ...Wenn-Wert... : ...Sonst-Wert...);
 
</pre>
 
 
 
[[Kategorie:Entwicklung|Stil]]
 

Version vom 19. Mai 2016, 15:46 Uhr

The following rules apply to all developers who contribute source code to the Opencaching.de project.

General rules

All source code files must

  • not contain TAB characters,
  • use 4-char indenting columns,
  • be UTF-8 encoded without byte order marks,
  • use only LF as line ends, with the current exception of email templates, which have RFC-822 CR/LF line ends.

There are some tools in the local/devel directory for verifying and fixing these things.

PHP

All self-written or directly changed code must fully comply to the PSR-1 / PSR-2 standard, with these exceptions:

  • When referencing identifiers (e.g. class and function names) that are defined in non-PSR-2-compliant source code files, they need not be PSR-2 compliant.
  • When writing small standalone scripts like those in the 'local' and 'util' directories, they need not to comply to the PSR-1 "Side Effects" rule.

Only <?php and <?= open tags must be used. <? (short open tags) must not be used.