php.de

Zurück   php.de > php.de Intern > Wiki Diskussionsforum

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
Alt 01.09.2008, 17:05  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard Codingstandard?

Hallo Wikifreunde!

Mein Anliegen ist es in diesem Post, eure Meinung zu erfragen, ob es sinnvoll ist, einen Coding-Standard für Codes im Wiki zu benutzen.
Wenn ja, welchen?

Ich finde es relativ sinnvoll, da es dann leichter ist, verschiedene Artikel zu kombinieren, außerdem wird der Lesefluss nicht gestört, und mann muss sich nicht in jeden Code neu eingucken.
Den Coding-Standard, den ich immer benutze, ist von mir selbst entwickelt und kann hier nachgelesen werden: Coding-Standard - OWB-Entwickler-Wiki
Aber auch andere Vorschläge sind natürlich willkommen.
Eine Ablehnung dieses Vorschlags ist natürlich auch erlaubt, wir leben ja in einem demokratischen Land.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.09.2008, 18:54  
Administrator
 
Registriert seit: 28.07.2007
Beiträge: 945
hoefti hat die Renommee-Anzeige deaktiviert
Standard

Hallo Manko

Eine Richtlinie ist immer gut um Inhalte gleichwertig anzuzeigen.
Der Coding-Standard von dir sieht sehr gut aus.
Ich hätte gegen den Vorschlag nichts einzuwenden.

Gruß hoefti, der sich kaum an Standards hält und grausam programmiert
hoefti ist offline   Mit Zitat antworten
Alt 04.09.2008, 19:52  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Also mit der Regelung habe ich schon mal weniger Probleme als mit so einigen anderen
Was mit beim Überlesen aufgefallen ist:
Zitat:
Code-Blöcke werden immer mit vier Leerzeichen eingerückt. Die Verwendung harter Tabs sollte vermieden werden.
Das ist nicht so mein Ding. Gerade damit man die Breite selbst wählen kann, sind Tabs gut. Und pro "Level" drücke ich einmal eine Taste (ok, tue ich schon seit Ewigkeiten nicht mehr, weil der Editor das in der Regel erledigt ) Vier Leerzeichen wirkt auf mich immer so wie aus Zeiten als Grünmonitore und vi state of the art waren oder als wenn jemand mit Proportionalschriftart in der IDE arbeitet Aber das ist wohl Geschmackssache.
Zitat:
Andere Sprachkonstrukte, die Klammern erfordern, werden durch ein Leerzeichen zwischen Befehl und öffnender Klammer kenntlich gemacht
Zitat:
Im Gegensatz zu den Sprachkonstrukten steht zwischen Funktionsname und öffnender Klammer kein Leerzeichen.
uh...

Zitat:
Wird eine Datei explizit eingebunden, so sind require_once und include_once den Befehlen require und include vorzuziehen.
Im Grunde ist es nicht relevant, welcher dieser beiden Befehle verwendet wird, der Übersicht wegen sollte require_once aber für Klassen und include_once für alle weiteren Skripten verwendet werden.
Eine Unterscheidung zwischen include und require verstehe ich, aber x_once vorzuziehen... Das halte ich doch für sehr situationsbezogen. Oder gibt es einen guten, allgemeinen Grund dafür in php?
David ist offline   Mit Zitat antworten
Alt 05.09.2008, 12:35  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Es gibt einiges, das ich aus dem PEAR-Coding-Standard übernommen habe. Zum Beispiel das mit den vier Leerzeichen. In meinem Editor habe ich es auch so eingestellt und sowohl Einrücken als auch Ausrücken funktioniert so, wie bei normalen Tabs.
Dass ich keine Tabs angegeben habe, liegt schlichtweg daran, dass die meisten Coding-Standards Leerzeichen vorschreiben und man so nicht wechseln muss.
Letztendlich steht dort aber auch:
Zitat:
Besonders wichtig ist es jedoch, dass innerhalb einer Datei nicht gewechselt wird.
Das sieht nämlich besonder blöd aus und macht den Code unübersichtlich, weil nicht jede Zeile gleich eingerückt ist.

Dein "uh..." zum Leerzeichen vor der Klammer ist durchaus berechtigt und in der Tat habe ich lange überlegt und mich letztendlich so entschieden und das vor allem wegen des Sprachkonstruktes list ().
Allerdings bin ich immer noch am Zweifeln, ob das so gut ist.

require und include sind zwar schneller, als die *_once-Variante, aber es besteht keine Gefahr, dass Inhalte doppelt eingebunden werden.
Da ich aber lieber eine Classmanager-Klasse verwendet, erübrigt sich das.

Aber der Coding-Standard ist ja nur ein Vorschlag. Wir können ebensogut einen anderen nehmen.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 05.09.2008, 13:36  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
Also mit der Regelung habe ich schon mal weniger Probleme als mit so einigen anderen
Deshalb bin ich schon mal für diesen Standard
Und da ich kein "aktiver" PHP Entwickler bin, lasse ich mich gerne von den Vorteilen der Konventionen überzeugen
David ist offline   Mit Zitat antworten
Alt 05.09.2008, 14:14  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Okay.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 05.09.2008, 15:16  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.994
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Hmm, wie gesagt. Es kocht ja jeder sein eigen Süppchen. Deshalb finde ich einige Regeln ok, manche aber auch gar nicht:

1/ Wie immer - die Einrückung. Sowohl die Tiefe an sich, als auch den Unterschied zwischen Klammertiefe und Codetiefe. Ich persönlich bevorzuge Whitesmiths oder Banner. Was aber gar nicht geht ist m.E. das:
Zitat:
PHP-Code:
if (
    
$a === "Ein Beispieltext" &&
    
$x >= $y &&
    (
$b 123 || $c === "Ein langer, langer, langer Beispieltext")
) {
    
// ...

Runde und geschweife auf einer Ebene - nee. Das erschließt sich keinem. In Deinem Stil würde ich hier empfehlen:
PHP-Code:
if ($a === "Ein Beispieltext" &&
    
$x >= $y &&
    (
$b 123 || $c === "Ein langer, langer, langer Beispieltext")) {

    
// ...

Ich persönlich würde es so schreiben

PHP-Code:
if (
   
$a === "Ein Beispieltext"  &&
   
$x >= $y                   &&
   (
$b 123 || $c === "Ein langer, langer, langer Beispieltext")
   ) 
  {
  
// ...
  
}

bzw.

if (
$a === "Ein Beispieltext"  &&
    
$x >= $y                   &&
    (
$b 123 || $c === "Ein langer, langer, langer Beispieltext")) {

  
// ...
  


2/ Zeilenlänge 85 Zeichen. Warum nicht 80? Dann passt es auch in ein Kommandozeilenlisting. (Das ist übrigens der Grund, weshalb ich nur Einrückungstiefen von 2 verwende)

3/
Zitat:
Sprachkonstrukte, die keine Klammern erfordern, werden generell ohne diese geschrieben.
Erschließt sich mir nicht. Ok, echo, ich weiß. Guten Stil finde ich require_once 'file.php'; irgendwie nicht.

4/
Zitat:
Kommentare sind generell in Englisch zu verfassen.
Halte ich für eine zu große Hürde für die Userschaft (inklusive mir). Die meisten habe schon ein Problem, ein ordentliches Deutsch zu texten.

5/ Kommentarsyntax allgemein.
Viel zu restriktiv, umständlich, häßlich (HTML Code, Sternchenangriff), viel zu weitreichend für das Wiki (Autor und Version vor jeder Funktion etc.)

Sorry, jede Menge Kritik. Aber vielleicht ist das ein oder andere nachvollziehbar?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 05.09.2008, 15:48  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Okay, das mit den Kommentaren muss für das Wiki wirklich nicht sein, das ist klar. Der Coding-Standard ist ja auch nicht speziell für das Wiki geschrieben worden.
Dein Vorschlag bei der if-Anweisung sieht tatsächlich besser aus, ja. War aber auch nur ein Beispiel, es stand nicht da, dass man es so schreiben müsse. Es stand nur da, dass man Zeilen umrechen sollte, wenn sie zu lang werden.
Mit 80 Zeichen hast du Recht und ich hab's geändert.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 05.09.2008, 16:07  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.994
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Stellt sich auch noch die Frage, wie mit (portierten) Tutorials umzugehen ist. Ich weiß nicht ob es
1/ zu leisten ist, Coding Standards anzupassen
2/ nicht auch ein Ausdruck des Autoren Stils ist, in seinem Artikel eine bestimmt Stilform zu benutzen. Bei Allgemeingut (= alle anderen Artikel, die Tutorials würde ich gerne als weitgehend Autoren-eigene Arbeit weniger zur Bearbeitung freigeben) fände ich nen Coding Standard dagegen sinnvoll.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 05.09.2008, 16:10  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.994
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Manko, hättest Du Zeit und Lust, nen vereinfachten Standard fürs Wiki zu verfassen? Als Arbeitsgrundlage, auf Basis Deines vorhandenen? Vielleicht mit ein paar Regeln weniger und die bereits diskutierten beachtend. Wir können Ihn ja hinterher weiter diskutieren.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sinnvoller coding standard für php, klammertiefe englisch, entwicklung coding standards überzeugen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:19 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum