Guter Programmierstil - Standards?

Guter Programmierstil - Standards?

am 07.04.2008 09:49:29 von Daniela Waranie

Hallo newsgroup,

immer wieder finde ich im Netz Anleitungen wie man z.B. Code richtig
einrückt, Quellcode organisiert usw. .
Bücher gibt es dazu auch zu Hauf, leider teilweise mit gegensätzlichen
Aussagen...
Gibt es hier einen internationalen (Quasi-)Standard?

Ich möchte ungerne das Rad neuerfinden: es wird ja schließlich immer ALLES
standardisiert, selbst die Biegung von Bananen...

Ich bin deswegen daran interessiert, weil ich gerne auf sourceforge.net ein
neues (internationales) Projekt starten möchte.

Lieben Gruß
Daniela Waranie

Re: Guter Programmierstil - Standards?

am 07.04.2008 10:11:31 von usenet

Daniela Waranie wrote:
> Gibt es hier einen internationalen (Quasi-)Standard?

Für PHP wären eventuell die PEAR Standards[1] von größtmöglicher
Relevanz für die Gesamtheit der Programmierer. Wenn du ein unabhängiges
Open-Source Projekt starten möchtest, kannst du diese Standards aber
meiner Meinung nach auch ruhigen Gewissens selbst festlegen.


Schöne Grüße,
Habbo

[1] Kapitel 4. Coding Standards
http://pear.php.net/manual/de/standards.php

Re: Guter Programmierstil - Standards?

am 07.04.2008 11:03:31 von Daniela Waranie

Hallo Jan,

ich möchte keine projekt-eigenen Standards definieren, damit fähige Leute,
die bereits nach etablierten Standards arbeiten, sich nicht erst in meinen
Stil einarbeiten müssen. Ich wäre also bereit meinen eigenen Stil an die
Allgemeinheit anzupassen. Standards sind für die Arbeit im Team einfach
unerlässlich...

Soweit ich die PEAR Standards kenne beziehen sich diese nur auf den Code
selbst jedoch nicht auf die "Code Organisation", also, wie soll der Code
über Dateien verteilt sein, Verzeichnisstruktur usw.. In Java gibt es dazu
sehr gute Vorschriften. Gibt es dazu auch einen Standard bei PHP?

Lieben Gruß
Daniela Waranie





"Jan Habbo BrŸüning" schrieb im Newsbeitrag
news:47f9d732$0$584$6e1ede2f@read.cnntp.org...
> Daniela Waranie wrote:
>> Gibt es hier einen internationalen (Quasi-)Standard?
>
> Für PHP wären eventuell die PEAR Standards[1] von größtmöglicher Relevanz
> für die Gesamtheit der Programmierer. Wenn du ein unabhängiges Open-Source
> Projekt starten möchtest, kannst du diese Standards aber meiner Meinung
> nach auch ruhigen Gewissens selbst festlegen.
>
>
> Schöne Grüße,
> Habbo
>
> [1] Kapitel 4. Coding Standards
> http://pear.php.net/manual/de/standards.php

Re: Guter Programmierstil - Standards?

am 07.04.2008 11:11:22 von Niels Braczek

Daniela Waranie schrieb:

> immer wieder finde ich im Netz Anleitungen wie man z.B. Code richtig=20
> einrückt, Quellcode organisiert usw. .
> Bücher gibt es dazu auch zu Hauf, leider teilweise mit gegensätzlic=
hen=20
> Aussagen...

Letztlich ist es Geschmackssache.

> Gibt es hier einen internationalen (Quasi-)Standard?
> Ich möchte ungerne das Rad neuerfinden: es wird ja schließlich imme=
r ALLES=20
> standardisiert, selbst die Biegung von Bananen...
> Ich bin deswegen daran interessiert, weil ich gerne auf sourceforge.net=
ein=20
> neues (internationales) Projekt starten möchte.

Wenn du weitere Entwickler für das Projekt gewinnen willst, bist du
absolut auf dem richtigen Wege (ansonsten wär's ziemlich egal). Als
Quasi-Standard hat sich der PEAR-Coding-Style [1], an den sich viele
Projekte zumindest anlehnen. Ich bevorzuge den darauf aufbauenden Stil,
wie er bei Joomla verwendet wird [2]. Besonders die
Kommentar-Vorschriften halte ich für wichtig.

[1] http://pear.php.net/manual/en/standards.php
[2] http://docs.joomla.org/Coding_style_and_standards

MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Guter Programmierstil - Standards?

am 07.04.2008 12:36:02 von usenet

Daniela Waranie wrote:
> ich möchte keine projekt-eigenen Standards definieren, damit fähige Leute,
> die bereits nach etablierten Standards arbeiten, sich nicht erst in meinen
> Stil einarbeiten müssen.

Da es keine globalen Standards gibt, wirst du schon selbst welche für
die Anwendung festsetzen müssen. Und wenn es die Standards anderer
Projekte sind (siehe PEAR).

> Soweit ich die PEAR Standards kenne beziehen sich diese nur auf den Code
> selbst jedoch nicht auf die "Code Organisation", also, wie soll der Code
> über Dateien verteilt sein, Verzeichnisstruktur usw.. In Java gibt es dazu
> sehr gute Vorschriften. Gibt es dazu auch einen Standard bei PHP?

Wenn du dir die Zeit nehmen würdest einen zweiten Blick in das PEAR
Handbuch zu werfen, wirst du da auch zu diesem Thema fündig werden. Ob
die Guidelines für dich verwertbar sind weiß ich nicht, da ich selbst
nicht mit PEAR arbeite.

> TOFU artgerecht entsorgt ... :(


Schöne Grüße,
Habbo

Re: Guter Programmierstil - Standards?

am 07.04.2008 13:28:26 von petsch

Daniela Waranie schrieb am 07.04.2008 09:49:
>
> Gibt es hier einen internationalen (Quasi-)Standard?

AFAIK Nein. Ich finde das hier gut und konsequent:

http://php-coding-standard.de/mhtml/table_of_content.html


Wie bereits erwähnt wurde, ist es eine Geschmacksfrage. Ein Beispiel
ist die Positionierung von geschweiften Klammern. Ich bevorzuge den
Allman/East-Cost-Stil - wegen seiner Übersichtlichkeit. Ist aber nicht
überall beliebt, weil er viel Platz benötigt.

http://de.wikipedia.org/wiki/Einr%C3%BCckungsstil#Allman_.2F _BSD_.2F_.E2.80.9EEast_Coast.E2.80.9C_.2F_Horstmann


Peter

Re: Guter Programmierstil - Standards?

am 07.04.2008 13:48:17 von foo

Daniela Waranie schrieb:

> Ich möchte ungerne das Rad neuerfinden: es wird ja schließlich immer ALLES
> standardisiert, selbst die Biegung von Bananen...

Da der Rest schon beantwortet wurde: Gemäß dem dritten Lexikon der
modernen Rechtsirrtümer ist der EU-Standard der Biegung von Bananen eine
Mär. Ansonsten freuen sich die Leute aus der urban-legend Gruppe gerne
über solche Aussagen.

Gruß,
Torsten

Re: Guter Programmierstil - Standards?

am 07.04.2008 16:05:59 von Niels Braczek

Peter Schleif schrieb:

> Ein Beispiel
> ist die Positionierung von geschweiften Klammern. Ich bevorzuge den
> Allman/East-Cost-Stil - wegen seiner Übersichtlichkeit.

Genau den Stil finde ich sehr grausam. Ich halte die
"Klammer-auf-derselben-Zeile"-Notation für sinnvoller, weil man auf
Anhieb sieht, ob eine Zeile mit einem neuen Statement beginnt oder ein
vorheriges fortsetzt. Beispiel:

if ( ) {

} elseif ( ) {

} else {

}
do {

} while ( );

Es ist sofort zu erkennen, dass if und do je ein neues Statement
einleiten. Im Gegensatz dazu die Allman-Notation:

if ( )
{

}
elseif ( )
{

}
else
{

}
do
{

}
while ( );

Die Übersichtlichkeit leidet hier IMHO erheblich.
Aber wie schon gesagt: Geschmackssache, YMMV. Dies soll nur als
Entscheidungshilfe dienen.

MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Guter Programmierstil - Standards?

am 07.04.2008 16:12:02 von Niels Braczek

Torsten Zühlsdorff schrieb:
> Daniela Waranie schrieb:
>=20
>> Ich möchte ungerne das Rad neuerfinden: es wird ja schließlich imm=
er ALLES=20
>> standardisiert, selbst die Biegung von Bananen...
>=20
> Da der Rest schon beantwortet wurde: Gemäß dem dritten Lexikon der =

> modernen Rechtsirrtümer ist der EU-Standard der Biegung von Bananen e=
ine=20
> Mär.

Naja, die Biegung vielleicht nicht, aber alles andere: Siehe
Verordnung (EG) Nr. 2257/94 der Kommission vom 16. September 1994
zur Festsetzung von Qualitätsnormen für Bananen

MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Guter Programmierstil - Standards?

am 07.04.2008 16:49:21 von Ulf Kadner

Niels Braczek wrote:
> Peter Schleif schrieb:
>
>> Ein Beispiel
>> ist die Positionierung von geschweiften Klammern. Ich bevorzuge den
>> Allman/East-Cost-Stil - wegen seiner Übersichtlichkeit.
>
> Genau den Stil finde ich sehr grausam.

Die Geschmäcker halt. Allman-Notation nutze ich sogar
sprachübergreifend. :-)

MfG, Ulf

Re: Guter Programmierstil - Standards?

am 07.04.2008 17:08:56 von petsch

Niels Braczek schrieb am 07.04.2008 16:05:
> Peter Schleif schrieb:
>
>> Allman/East-Cost-Stil
>
> Genau den Stil finde ich sehr grausam. Beispiel:
>
> if [...] elseif

Da hast Du aber (gezielt?) eines der wenigen Beispiele konstruiert, in
denen Allman tatsächlich etwas schwächelt: if-elseif-Konstruktionen
die jeweils nur eine Anweisung haben.

Bei zwei oder mehr Anweisungen sieht es schon wieder ganz anders auch.
Dann sind nämlich die einzelnen logischen Zweige mit Allman wesentlich
besser zu erkennen. Ebenso bei einfachen if-else. Außerdem würde man
in deinem Besipiel vor dem do-Block wohl eine Leerzeile einfügen.

Ich spare mit jetzt das Posten der vielen positiven Gegenbeispiele.


Peter

Re: Guter Programmierstil - Standards?

am 07.04.2008 17:09:11 von Hans Novak

Daniela Waranie schrieb:

> Soweit ich die PEAR Standards kenne beziehen sich diese nur auf den Code
> selbst jedoch nicht auf die "Code Organisation", also, wie soll der Code
> über Dateien verteilt sein, Verzeichnisstruktur usw.. In Java gibt es dazu
> sehr gute Vorschriften.

Ähhh ... wo ??? (suche ich gerade)

Hans

Re: Guter Programmierstil - Standards?

am 07.04.2008 17:29:10 von Joe Scylla

Niels Braczek wrote:
> Peter Schleif schrieb:
>
>> Ein Beispiel
>> ist die Positionierung von geschweiften Klammern. Ich bevorzuge den
>> Allman/East-Cost-Stil - wegen seiner Übersichtlichkeit.
>
> Genau den Stil finde ich sehr grausam. Ich halte die
> "Klammer-auf-derselben-Zeile"-Notation für sinnvoller, weil man auf
> Anhieb sieht, ob eine Zeile mit einem neuen Statement beginnt oder ein
> vorheriges fortsetzt. Beispiel:
>
> if ( ) {
>
> } elseif ( ) {
>
> } else {
>
> }
> do {
>
> } while ( );
>
> Es ist sofort zu erkennen, dass if und do je ein neues Statement
> einleiten. Im Gegensatz dazu die Allman-Notation:
>
> if ( )
> {
>
> }
> elseif ( )
> {
>
> }
> else
> {
>
> }
> do
> {
>
> }
> while ( );
>
> Die Übersichtlichkeit leidet hier IMHO erheblich.
> Aber wie schon gesagt: Geschmackssache, YMMV. Dies soll nur als
> Entscheidungshilfe dienen.
>
> MfG
> Niels
>

Der Einrückungsstil ist neben der Geschmackssache auch reine Übung. Wenn
man etwas damit arbeitet kann man sich an alle Einrückungstile gewöhnen.

Ich kann das ziemlich gut beurteilen, da ich - wahrscheinlich als
einziger - den Einrückungsstil "Whitesmiths" benutzte
(http://de.wikipedia.org/wiki/Einr%C3%BCckungsstil#Whitesmit hs) und oft
Code bearbeite der in einem anderen Einrückungsstil vorliegt.

Joe

Re: Guter Programmierstil - Standards?

am 07.04.2008 17:33:50 von Claus Reibenstein

Niels Braczek schrieb:

> Peter Schleif schrieb:
>
>> Ein Beispiel ist die Positionierung von geschweiften Klammern. Ich
>> bevorzuge den Allman/East-Cost-Stil - wegen seiner
>> Übersichtlichkeit.
>
> Genau den Stil finde ich sehr grausam.

Ich auch.

> Ich halte die "Klammer-auf-derselben-Zeile"-Notation für sinnvoller,
> weil man auf Anhieb sieht, ob eine Zeile mit einem neuen Statement
> beginnt oder ein vorheriges fortsetzt.

Du meinst 1TBS (One true brace style). Das ist auch mein Favorit.

> Aber wie schon gesagt: Geschmackssache, YMMV.

Letztendlich ist es das wohl.

Gruß. Claus

Re: Guter Programmierstil - Standards?

am 07.04.2008 17:46:33 von Norbert Melzer

Am Mon, 07 Apr 2008 17:09:11 +0200 schrieb Hans Novak:

> Daniela Waranie schrieb:
>
>> Soweit ich die PEAR Standards kenne beziehen sich diese nur auf den Code
>> selbst jedoch nicht auf die "Code Organisation", also, wie soll der Code
>> über Dateien verteilt sein, Verzeichnisstruktur usw.. In Java gibt es dazu
>> sehr gute Vorschriften.
>
> Ähhh ... wo ??? (suche ich gerade)

Bereits in den Java Language Specifications oder wie sich das nennt...

Eine Klassen pro Datei, deren Name sich aus dem Klassenname ergibt, sonst
kompilierts nicht. Gleiches gilt für die Verzeichnisse, die nämlich müssen
mit dem Package korrespondieren in das die Klasse gehört. Das mal so als
schnelles Beispiel.

Ausserdem gibt es von Sun offizielle empfehlungen für das Codeformatting
und den Stil der Variablenbenennung usw.

MfG
Norbert

Re: Guter Programmierstil - Standards?

am 07.04.2008 21:55:55 von Hadanite Marasek

> Ich möchte ungerne das Rad neuerfinden: es wird ja schließlich immer ALLES
> standardisiert, selbst die Biegung von Bananen...
>
> Ich bin deswegen daran interessiert, weil ich gerne auf sourceforge.net ein
> neues (internationales) Projekt starten möchte.

Definiere Deinen zu Dir passenden Standard und halte Dich dran. Mit
Fragen wie "blanks oder tabs" könnten wir vermutlich die halbe NG für
einige Zeit beschäftigen. Und egal wie Du es machst: Du wirst da
draussen vermutlich immer einen Wichtigtuer finden, der Dich als Idiotin
definiert, weil Du es nicht machst wie er selbst.
--
Mein Zeugs:
http://www.hadanite-marasek.de/classes.php
http://www.objektivsuche.de/
Ansonsten:
http://www.php-faq.de/q/q-newsgroup-wie-helfen.html

Re: Guter Programmierstil - Standards?

am 08.04.2008 10:41:46 von fischel

Im Zend-Framework gibt es auch noch Doku:

http://framework.zend.com/manual/en/coding-standard.html

> Ich bin deswegen daran interessiert, weil ich gerne auf sourceforge.net ei=
n
> neues (internationales) Projekt starten möchte.

Was für ein Projekt willst du denn machen?

Grüße.
Stephan.

Re: Guter Programmierstil - Standards?

am 08.04.2008 10:56:37 von Daniela Waranie

Hallo Jan,

ich habe nachgeschaut, jedoch nichts dazu gefunden.
Wo genau finde ich das, worauf Du Dich beziehst?

Lieben Gruß
Daniela Waranie

"Jan Habbo BrŸüning" schrieb im Newsbeitrag
news:47f9f912$0$582$6e1ede2f@read.cnntp.org...
> Daniela Waranie wrote:
>> ich möchte keine projekt-eigenen Standards definieren, damit fähige
>> Leute, die bereits nach etablierten Standards arbeiten, sich nicht erst
>> in meinen Stil einarbeiten müssen.
>
> Da es keine globalen Standards gibt, wirst du schon selbst welche für die
> Anwendung festsetzen müssen. Und wenn es die Standards anderer Projekte
> sind (siehe PEAR).
>
>> Soweit ich die PEAR Standards kenne beziehen sich diese nur auf den Code
>> selbst jedoch nicht auf die "Code Organisation", also, wie soll der Code
>> über Dateien verteilt sein, Verzeichnisstruktur usw.. In Java gibt es
>> dazu
>> sehr gute Vorschriften. Gibt es dazu auch einen Standard bei PHP?
>
> Wenn du dir die Zeit nehmen würdest einen zweiten Blick in das PEAR
> Handbuch zu werfen, wirst du da auch zu diesem Thema fündig werden. Ob die
> Guidelines für dich verwertbar sind weiß ich nicht, da ich selbst nicht
> mit PEAR arbeite.
>
>> TOFU artgerecht entsorgt ... :(
>
>
> Schöne Grüße,
> Habbo

Re: Guter Programmierstil - Standards?

am 08.04.2008 11:01:30 von Daniela Waranie

Hallo Joe,

stellvertretend für alle Postings zum Thema "Einrückung" antworte ich mal
nur auf Dein Posting.

Es hat nicht nur mit Geschmack zu tun, finde ich. Da Geschmack etwas
individuelles ist, ist der eigene (ausgefallene) Einrückungsstil ebenso ein
Ausdrucksmittel für die Person. In einer erfolgreichen Projektarbeit steht
jedoch nicht der künstlerische Anspruch, die Selbstverwirklichung oder die
Unterscheidung von anderen Individuen im Vordergrund.

Für die Teamarbeit ist mir besonders wichtig, welche Einrückung unter
"erfahrenen" PHP Programmierern überwiegt, weil diese Leuchtturm-Funktion
für unerfahrene Programmierer haben. Genau diese Programmierer sind für jede
Projektarbeit heißbegehrt, weil diese die Qualität hochhalten. Ich nehme an
das am Beispiel von Code-Block-Einrückungen es sicher schon statistische
Erhebungen oder zumindest Abstimmungen (Votings) gegeben hat. Hier vermute
ich, dass diese nicht allgemein für alle Sprachen gelten und es je
Programmiersprache (Community) bestimmte Vorlieben gibt. Zudem gibt es viele
Programmierer mit Erfahrung in mehreren Programmiersprachen, welche
ebenfalls für ein Projektteam sehr interessant sind (Querdenker,
Impulsgeber), die jedoch andere Code-Stile gewohnt sind. Es wird schwierig
diese alle unter einen Hut zu bekommen. Vermutlich werde ich auf JAVA
basierend, ergänzt um einige Teile aus PHP-PEAR / ZEND Framework und ggf. um
Kommentar-Vorschriften von Joomla.

EINRÜCKUNGEN (close):
Bei Pascal und Turbo Pascal wurden Code-Blöcke z.B. mit BEGIN und END
eingeschossen - ich vermute hier hat sich Whitesmiths-Style mit einer
größeren Beliebtheit gegenüber 'one true brace style' durchgesetzt. Ungerne
möchte ich mich zu sehr mit Code-Einrückung beschäftigen - hierzu gibt es
schon zig Veröffentlichungen (siehe thread) - dass sollte nicht das
Kernthema dieses Threads sein.
Danke für alle Beiträge dazu.

Lieben Gruß
Daniela Waranie







"Joe Scylla" schrieb im Newsbeitrag
news:ftdeb5$40q$02$1@news.t-online.com...
> Niels Braczek wrote:
>> Peter Schleif schrieb:
>>
>>> Ein Beispiel
>>> ist die Positionierung von geschweiften Klammern. Ich bevorzuge den
>>> Allman/East-Cost-Stil - wegen seiner Übersichtlichkeit.
>>
>> Genau den Stil finde ich sehr grausam. Ich halte die
>> "Klammer-auf-derselben-Zeile"-Notation für sinnvoller, weil man auf
>> Anhieb sieht, ob eine Zeile mit einem neuen Statement beginnt oder ein
>> vorheriges fortsetzt. Beispiel:
>>
>> if ( ) {
>>
>> } elseif ( ) {
>>
>> } else {
>>
>> }
>> do {
>>
>> } while ( );
>>
>> Es ist sofort zu erkennen, dass if und do je ein neues Statement
>> einleiten. Im Gegensatz dazu die Allman-Notation:
>>
>> if ( )
>> {
>>
>> }
>> elseif ( )
>> {
>>
>> }
>> else
>> {
>>
>> }
>> do
>> {
>>
>> }
>> while ( );
>>
>> Die Übersichtlichkeit leidet hier IMHO erheblich.
>> Aber wie schon gesagt: Geschmackssache, YMMV. Dies soll nur als
>> Entscheidungshilfe dienen.
>>
>> MfG
>> Niels
>>
>
> Der Einrückungsstil ist neben der Geschmackssache auch reine Übung. Wenn
> man etwas damit arbeitet kann man sich an alle Einrückungstile gewöhnen.
>
> Ich kann das ziemlich gut beurteilen, da ich - wahrscheinlich als
> einziger - den Einrückungsstil "Whitesmiths" benutzte
> (http://de.wikipedia.org/wiki/Einr%C3%BCckungsstil#Whitesmit hs) und oft
> Code bearbeite der in einem anderen Einrückungsstil vorliegt.
>
> Joe

Re: Guter Programmierstil - Standards?

am 08.04.2008 11:34:59 von Niels Braczek

Daniela Waranie schrieb:

Zuerst: http://learn.to/quote.

> Für die Teamarbeit ist mir besonders wichtig, welche Einrückung unt=
er=20
> "erfahrenen" PHP Programmierern überwiegt, weil diese Leuchtturm-Funk=
tion=20
> für unerfahrene Programmierer haben. Genau diese Programmierer sind f=
ür jede=20
> Projektarbeit heißbegehrt, weil diese die Qualität hochhalten.

Dann sieh dir große (bedeutende) Open-Source-Projekte an. Dort überwi=
egt
nach meinen Beobachtungen eindeutig der Java- (PEAR-) Stil.

Die Einrückung ist aber - wie du schon erkannt hast - nicht das
Kernproblem. Viel wichtiger sind Namenskonventionen und Kommentarstil.
Die Einrückungen kann jede halbwegs brauchbare IDE mit einem Mausklick
ändern - bei Bezeichnern und Kommentaren ist das schon nicht mehr so
einfach.

MfG
Niels

[TOFU kostenpflichtig entsorgt]

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Guter Programmierstil - Standards?

am 08.04.2008 18:50:19 von Thomas Mlynarczyk

Niels Braczek schrieb:

> if ( ) {
>
> } elseif ( ) {
>
> } else {
>
> }

Mir persönlich gefällt an dieser Variante nicht, daß das {}-Klammerpaar
nicht in derselben Spalte steht. Allerdings kommt man hier mit
wesentlich weniger Zeilen aus.

> if ( )
> {
>
> }
> elseif ( )
> {
>
> }
> else
> {
>
> }

Hier stehen die zueinander gehörenden {}-Klammern sauber untereinander -
allerdings braucht man praktisch doppelt so viele Zeilen. Mich verleitet
dieses Dilemma dann immer zu folgender Syntax (10 Zeilen):

$sErgebnis
= $iZahl > 10
? 'Zahl größer als 10'
: ( $iZahl > 5
? 'Zahl größer als 5'
: ( $iZahl > 0
? 'Zahl positiv'
: ( $iZahl == 0
? 'Nix'
: 'Zahl negativ' ) ) );

Zum Vergleich (20 Zeilen):

if ( $iZahl > 10 )
{
$sErgebnis = 'Zahl größer als 10';
}
else if ( $iZahl > 5 )
{
$sErgebnis = 'Zahl größer als 5';
}
else if ( $iZahl > 0 )
{
$sErgebnis = 'Zahl positiv';
}
else if ( $iZahl == 0 )
{
$sErgebnis = 'Nix';
}
else
{
$sErgebnis = 'Zahl negativ';
}

bzw.(11 Zeilen):

if ( $iZahl > 10 ) {
$sErgebnis = 'Zahl größer als 10';
} else if ( $iZahl > 5 ) {
$sErgebnis = 'Zahl größer als 5';
} else if ( $iZahl > 0 ) {
$sErgebnis = 'Zahl positiv';
} else if ( $iZahl == 0 ) {
$sErgebnis = 'Nix';
} else {
$sErgebnis = 'Zahl negativ';
}

Die erste Variante (?:) läßt sich natürlich nicht immer anwenden, aber
mir gefällt sie eben am besten ("$sErgebnis" steht sozusagen als
"Überschrift" drüber und wird nicht dauernd wiederholt). Aber wie hier
schon mehrfach betont wurde: das ist alles mehr oder weniger eine Frage
des persönlichen Geschmacks. Trotzdem würden mich mal Argumente
pro/kontra zu den einzelnen Varianten interessieren.

Gruß,
Thomas

--
Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!
(Coluche)

Re: Guter Programmierstil - Standards?

am 08.04.2008 19:03:11 von Claus Reibenstein

Thomas Mlynarczyk schrieb:

> $sErgebnis
> = $iZahl > 10
> ? 'Zahl größer als 10'
> : ( $iZahl > 5
> ? 'Zahl größer als 5'
> : ( $iZahl > 0
> ? 'Zahl positiv'
> : ( $iZahl == 0
> ? 'Nix'
> : 'Zahl negativ' ) ) );

Wieso die vielen Klammern? Das geht auch ohne:

$sErgebnis
= $iZahl > 10
? 'Zahl größer als 10'
: $iZahl > 5
? 'Zahl größer als 5'
: $iZahl > 0
? 'Zahl positiv'
: $iZahl == 0
? 'Nix'
: 'Zahl negativ';

Ich würde so etwas aber eher so formatieren:

$sErgebnis = $iZahl > 10 ? 'Zahl größer als 10'
: $iZahl > 5 ? 'Zahl größer als 5'
: $iZahl > 0 ? 'Zahl positiv'
: $iZahl == 0 ? 'Nix'
: 'Zahl negativ';

Das sind nur 5 Zeilen und trotzdem übersichtlich.

Gruß. Claus

Re: Guter Programmierstil - Standards?

am 08.04.2008 19:27:01 von Markus Grob

Daniela Waranie schrieb:
> Hallo Jan,
>
> ich habe nachgeschaut, jedoch nichts dazu gefunden.
> Wo genau finde ich das, worauf Du Dich beziehst?

Wenn Du das ToFu meinst, so bist Du gemeint, da Du am Schluss immer noch
alles sinnlos anhängst, statt unrelevantes zu streichen.

Gruss, Markus

--
Auch ich bin ein KDE 4.0.3 Nutzer... Du auch?

Hilf mit, KDE zu verbessern, indem Du testest und Fehler meldest.

*** http://bugs.kde.org/ ***

Re: Guter Programmierstil - Standards?

am 08.04.2008 20:13:05 von Niels Braczek

Thomas Mlynarczyk schrieb:
> Niels Braczek schrieb:

> Mich verleitet=20
> dieses Dilemma dann immer zu folgender Syntax (10 Zeilen):
>=20
> $sErgebnis
> =3D $iZahl > 10
> ? 'Zahl größer als 10'
> : ( $iZahl > 5
> ? 'Zahl größer als 5'
> : ( $iZahl > 0
> ? 'Zahl positiv'
> : ( $iZahl == 0
> ? 'Nix'
> : 'Zahl negativ' ) ) );

Ergänze mal um den Fall $iZahl > 2. Dann erkennst du sofort die Schwä=
che
des Ansatzes. Nicht umsonst verbieten fast alle (alle mir bekannten)
Styleguides die Schachtelung des ternären Operators.

Wenn von der Programmlogik her ausgeschlossen ist, dass die Blöcke mehr=

als eine Zuweisung enthalten, benutze ich gelegentlich auch folgende
Kurzschreibweise (dann auch zwingend ohne geschweifte Klammern):

if ( $iZahl > 10 ) $sErgebnis =3D 'Zahl größer als 10';
elseif ( $iZahl > 5 ) $sErgebnis =3D 'Zahl größer als 5';
elseif ( $iZahl > 0 ) $sErgebnis =3D 'Zahl positiv';
elseif ( $iZahl == 0 ) $sErgebnis =3D 'Nix';
else $sErgebnis =3D 'Zahl negativ';

Das finde ich sehr viel übersichtlicher und vor Allem wartungsfreundlic=
her.

MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Guter Programmierstil - Standards?

am 08.04.2008 20:37:28 von Hadanite Marasek

Daniela Waranie schrieb:

> Für die Teamarbeit ist mir besonders wichtig, welche Einrückung unter
> "erfahrenen" PHP Programmierern überwiegt, weil diese Leuchtturm-Funktion
> für unerfahrene Programmierer haben. Genau diese Programmierer sind für jede
> Projektarbeit heißbegehrt, weil diese die Qualität hochhalten.

Die Frage ist doch: was ist Dein Stil? Wenn Du Dein eigenes Projekt
startest, hoffe ich mal, dass Du selber eine heißbegehrte, erfahrene
PHP-Programmiererin bist...
--
Mein Zeugs:
http://www.hadanite-marasek.de/classes.php
http://www.objektivsuche.de/
Ansonsten:
http://www.php-faq.de/q/q-newsgroup-wie-helfen.html

Re: Guter Programmierstil - Standards?

am 08.04.2008 20:46:40 von Claus Reibenstein

Niels Braczek schrieb:

> Thomas Mlynarczyk schrieb:
>
>> $sErgebnis
>> = $iZahl > 10
>> ? 'Zahl größer als 10'
>> : ( $iZahl > 5
>> ? 'Zahl größer als 5'
>> : ( $iZahl > 0
>> ? 'Zahl positiv'
>> : ( $iZahl == 0
>> ? 'Nix'
>> : 'Zahl negativ' ) ) );
>
> Ergänze mal um den Fall $iZahl > 2. Dann erkennst du sofort die Schwäche
> des Ansatzes.

$sErgebnis
= $iZahl > 10
? 'Zahl größer als 10'
: ( $iZahl > 5
? 'Zahl größer als 5'
: ( $iZahl > 2
? 'Zahl größer als 2'
: ( $iZahl > 0
? 'Zahl positiv'
: ( $iZahl == 0
? 'Nix'
: 'Zahl negativ' ) ) ) );

Hmmm ...

Gruß. Claus

Re: Guter Programmierstil - Standards?

am 08.04.2008 21:14:47 von Thomas Mlynarczyk

Claus Reibenstein schrieb:
> Thomas Mlynarczyk schrieb:
>
>> $sErgebnis
>> = $iZahl > 10
>> ? 'Zahl größer als 10'
>> : ( $iZahl > 5
>> ? 'Zahl größer als 5'
>> : ( $iZahl > 0
>> ? 'Zahl positiv'
>> : ( $iZahl == 0
>> ? 'Nix'
>> : 'Zahl negativ' ) ) );
>
> Wieso die vielen Klammern? Das geht auch ohne:

Bist Du sicher? In JavaScript würde es ohne die Klammern gehen, aber PHP
macht das "andersrum":

Beispiel aus der PHP-Doku:
$a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2

> Ich würde so etwas aber eher so formatieren:
>
> $sErgebnis = $iZahl > 10 ? 'Zahl größer als 10'
> : $iZahl > 5 ? 'Zahl größer als 5'
> : $iZahl > 0 ? 'Zahl positiv'
> : $iZahl == 0 ? 'Nix'
> : 'Zahl negativ';
>
> Das sind nur 5 Zeilen und trotzdem übersichtlich.

In der Tat. Da hast Du mich möglicherweise bekehrt.

Gruß,
Thomas

--
Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!
(Coluche)

Re: Guter Programmierstil - Standards?

am 08.04.2008 21:21:38 von Thomas Mlynarczyk

Niels Braczek schrieb:

>> $sErgebnis
>> = $iZahl > 10
>> ? 'Zahl größer als 10'
>> : ( $iZahl > 5
>> ? 'Zahl größer als 5'
>> : ( $iZahl > 0
>> ? 'Zahl positiv'
>> : ( $iZahl == 0
>> ? 'Nix'
>> : 'Zahl negativ' ) ) );
>
> Ergänze mal um den Fall $iZahl > 2.

Wie Claus ein Posting weiter gezeigt hat, durchaus machbar. Aber
zugegebenermaßen in der Einfügung etwas umständlicher als bei den
anderen Varianten. Damit hätte ich also ein weiteres Argument in meiner
Pro/Kontra-Sammlung, danke.

> if ( $iZahl > 10 ) $sErgebnis = 'Zahl größer als 10';
> elseif ( $iZahl > 5 ) $sErgebnis = 'Zahl größer als 5';
> elseif ( $iZahl > 0 ) $sErgebnis = 'Zahl positiv';
> elseif ( $iZahl == 0 ) $sErgebnis = 'Nix';
> else $sErgebnis = 'Zahl negativ';
>
> Das finde ich sehr viel übersichtlicher und vor Allem wartungsfreundlicher.

Zugegeben. Wäre Claus' Variante ein Kompromiß?

Gruß,
Thomas

--
Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!
(Coluche)

Re: Guter Programmierstil - Standards?

am 08.04.2008 23:14:36 von Niels Braczek

Claus Reibenstein schrieb:
> Niels Braczek schrieb:
>> Thomas Mlynarczyk schrieb:
>>
>>> $sErgebnis
>>> =3D $iZahl > 10
>>> ? 'Zahl größer als 10'
>>> : ( $iZahl > 5
>>> ? 'Zahl größer als 5'
>>> : ( $iZahl > 0
>>> ? 'Zahl positiv'
>>> : ( $iZahl == 0
>>> ? 'Nix'
>>> : 'Zahl negativ' ) ) );
>>=20
>> Ergänze mal um den Fall $iZahl > 2. Dann erkennst du sofort die Schw=
äche
>> des Ansatzes.
>=20
> $sErgebnis
> =3D $iZahl > 10
> ? 'Zahl größer als 10'
> : ( $iZahl > 5
> ? 'Zahl größer als 5'
> : ( $iZahl > 2
> ? 'Zahl größer als 2'
> : ( $iZahl > 0
> ? 'Zahl positiv'
> : ( $iZahl == 0
> ? 'Nix'
> : 'Zahl negativ' ) ) ) );
>=20
> Hmmm ...

Hast du's nicht gemerkt? Du musstest 5 Zeilen Code ändern, die mit
deiner Änderung nichts zu tun haben.

MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Guter Programmierstil - Standards?

am 08.04.2008 23:18:22 von Niels Braczek

Thomas Mlynarczyk schrieb:
> Niels Braczek schrieb:

> Zugegeben. Wäre Claus' Variante ein Kompromiß?

Ich denke nicht, da nicht eindeutig ist, wie der ternäre Operator bei
Schachtelung arbeitet. Das kann von Sprache zu Sprache variieren und
somit (durchaus gute) Programmierer mit anderem Erfahrungshintergrund
aufs Eis führen.

Ist
a ? b : c ? d : e
äquivalent zu
(a ? b : c) ? d : e
oder zu
a ? b : (c ? d : e)
?

Das geht aus dem Code nicht hervor, weswegen diese Notation nicht gut ist=


MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Guter Programmierstil - Standards?

am 08.04.2008 23:36:35 von Michael Fesser

..oO(Claus Reibenstein)

>Thomas Mlynarczyk schrieb:
>
>> $sErgebnis
>> = $iZahl > 10
>> ? 'Zahl größer als 10'
>> : ( $iZahl > 5
>> ? 'Zahl größer als 5'
>> : ( $iZahl > 0
>> ? 'Zahl positiv'
>> : ( $iZahl == 0
>> ? 'Nix'
>> : 'Zahl negativ' ) ) );
>
>Wieso die vielen Klammern? Das geht auch ohne:
>
> $sErgebnis
> = $iZahl > 10
> ? 'Zahl größer als 10'
> : $iZahl > 5
> ? 'Zahl größer als 5'
> : $iZahl > 0
> ? 'Zahl positiv'
> : $iZahl == 0
> ? 'Nix'
> : 'Zahl negativ';

Das fällt Dir auf die Füße. Aufgrund der Links-Assoziativität kannst Du
den '?'-Teil auch ohne Klammern schachteln, nicht aber den ':'-Teil.

Micha

Re: Guter Programmierstil - Standards?

am 09.04.2008 08:10:25 von Stefan+Usenet

On Tue, 08 Apr 2008 21:14:47 +0200 Thomas Mlynarczyk wrote:
> > Wieso die vielen Klammern? Das geht auch ohne:

> Bist Du sicher? In JavaScript würde es ohne die Klammern gehen, aber
> PHP macht das "andersrum":

Das ist der Grund, warum ich _immer_ Klammern setze, sobald
Assoziativitaet jenseits der Grundrechnungsarten gefragt ist.
Wer merkt sich schon, welche Sprache das wie umsetzt...

Servus,
Stefan

--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich

Welch grenzenloser Gedanke: Stefan!
(Sloganizer)

Re: Guter Programmierstil - Standards?

am 09.04.2008 10:19:26 von Daniela Waranie

Hallo Markus,

> Wenn Du das ToFu meinst, so bist Du gemeint, da Du am Schluss immer noch
> alles sinnlos anhängst, statt unrelevantes zu streichen.

Ok, werde es nie wieder unterlassen - versprochen.

> Wenn du dir die Zeit nehmen würdest einen zweiten Blick in das PEAR
> Handbuch zu werfen, wirst du da auch zu diesem Thema fündig werden. Ob die
> Guidelines für dich verwertbar sind weiß ich nicht, da ich selbst nicht
> mit PEAR arbeite.

Ich habe o.g. nicht in dem PEAR Handbuch gefunden. Über einen direkten URL
würde ich mich sehr freuen.

Lieben Gruß
Daniela Waranie

Re: Guter Programmierstil - Standards?

am 09.04.2008 10:25:41 von Daniela Waranie

Hallo Hadanite,

> Die Frage ist doch: was ist Dein Stil? Wenn Du Dein eigenes Projekt
> startest, hoffe ich mal, dass Du selber eine heißbegehrte, erfahrene
> PHP-Programmiererin bist...

Jeder macht seinen Job so gut er kann, man lernt nie aus - und, es gibt
immer jemanden, der es besser kann.
Nur weil ich ein einen BH trage kann ich nicht von jedem meist männlichen
Kollegen verlangen dieses auch zu tun. Nur weil ich der Meinung bin, dass
das besser sei. Daher möchte ich meinen Stil gerne unterordnen und einen
möglichst gut akzeptierten Stil übernehmen.

Lieben Gruß
Daniela Waranie

Re: Guter Programmierstil - Standards?

am 09.04.2008 17:59:56 von Claus Reibenstein

Thomas Mlynarczyk schrieb:

> Claus Reibenstein schrieb:
>
>> Thomas Mlynarczyk schrieb:
>>
>>> $sErgebnis
>>> = $iZahl > 10
>>> ? 'Zahl größer als 10'
>>> : ( $iZahl > 5
>>> ? 'Zahl größer als 5'
>>> : ( $iZahl > 0
>>> ? 'Zahl positiv'
>>> : ( $iZahl == 0
>>> ? 'Nix'
>>> : 'Zahl negativ' ) ) );
>>
>> Wieso die vielen Klammern? Das geht auch ohne:
>
> Bist Du sicher? In JavaScript würde es ohne die Klammern gehen, aber PHP
> macht das "andersrum":
>
> Beispiel aus der PHP-Doku:
> $a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2

Damit verhält sich PHP anders als alle anderen, mir bekannten Sprachen,
die diesen Operator unterstützen (C, C++, Java, JavaScript). Eine Logik
kann ich in diesem abweichenden Verhalten nicht erkennen, da dieses eine
vernünftige Mehrfachauswahl praktisch unmöglich macht :-(

>> Ich würde so etwas aber eher so formatieren:
>>
>> $sErgebnis = $iZahl > 10 ? 'Zahl größer als 10'
>> : $iZahl > 5 ? 'Zahl größer als 5'
>> : $iZahl > 0 ? 'Zahl positiv'
>> : $iZahl == 0 ? 'Nix'
>> : 'Zahl negativ';
>>
>> Das sind nur 5 Zeilen und trotzdem übersichtlich.

Nur leider in PHP als offensichtlich einziger Sprache nicht anwendbar :-(

Gruß. Claus

Re: Guter Programmierstil - Standards?

am 09.04.2008 20:36:15 von Markus Grob

Daniela Waranie schrieb:
> Hallo Markus,
>
>> Wenn Du das ToFu meinst, so bist Du gemeint, da Du am Schluss immer noch
>> alles sinnlos anhängst, statt unrelevantes zu streichen.
>
> Ok, werde es nie wieder unterlassen - versprochen.

Sorry, war etwas schroff geschrieben. Habe es erst im Nachhinein bemerkt ;-)


>> Guidelines für dich verwertbar sind weiß ich nicht, da ich selbst nicht
>> mit PEAR arbeite.
>
> Ich habe o.g. nicht in dem PEAR Handbuch gefunden. Über einen direkten URL
> würde ich mich sehr freuen.

http://wiki.geeklog.net/wiki/index.php?title=Coding_Guidelin es&printable=yes#PEAR_Coding_Standards

Ist es das, was Du suchst?

Gruss, Markus

--
Auch ich bin ein KDE 4.0.3 Nutzer... Du auch?

Hilf mit, KDE zu verbessern, indem Du testest und Fehler meldest.

*** http://bugs.kde.org/ ***

Re: Guter Programmierstil - Standards?

am 09.04.2008 20:45:36 von Hadanite Marasek

Thomas Mlynarczyk schrieb:
> Niels Braczek schrieb:
> Die erste Variante (?:) läßt sich natürlich nicht immer anwenden, aber
> mir gefällt sie eben am besten ("$sErgebnis" steht sozusagen als
> "Überschrift" drüber und wird nicht dauernd wiederholt). Aber wie hier
> schon mehrfach betont wurde: das ist alles mehr oder weniger eine Frage
> des persönlichen Geschmacks. Trotzdem würden mich mal Argumente
> pro/kontra zu den einzelnen Varianten interessieren.

Urrrrgh. Nix von alledem, genauso wie alles, was bislang als Antwort
hierzu geschrieben wurde. Das ist doch unlesbarer Code-Wust!
case...switch oder while mit breaks mag zwar mehr Platz wegnehmen, ich
sehe aber wenigstens direkt, was läuft.
--
Mein Zeugs:
http://www.hadanite-marasek.de/classes.php
http://www.objektivsuche.de/
Ansonsten:
http://www.php-faq.de/q/q-newsgroup-wie-helfen.html

Re: Guter Programmierstil - Standards?

am 09.04.2008 20:47:15 von Hadanite Marasek

> Jeder macht seinen Job so gut er kann, man lernt nie aus - und, es gibt
> immer jemanden, der es besser kann.

Eben drum - genau deshalb kann man irgendwann nix anderes tun als zu
sagen "ich bin hier und heute die Optimalste für Job X". Denn Du hattest
ja die Idee und nicht "der beste".

> Nur weil ich ein einen BH trage kann ich nicht von jedem meist männlichen
> Kollegen verlangen dieses auch zu tun. Nur weil ich der Meinung bin, dass
> das besser sei. Daher möchte ich meinen Stil gerne unterordnen und einen
> möglichst gut akzeptierten Stil übernehmen.

BH ergäbe ja auch keinen Sinn für (herkömmliche) Männer.

--
Mein Zeugs:
http://www.hadanite-marasek.de/classes.php
http://www.objektivsuche.de/
Ansonsten:
http://www.php-faq.de/q/q-newsgroup-wie-helfen.html

Re: Guter Programmierstil - Standards?

am 09.04.2008 21:48:16 von Thomas Mlynarczyk

Hadanite Marasek schrieb:

> Urrrrgh. Nix von alledem, genauso wie alles, was bislang als Antwort
> hierzu geschrieben wurde. Das ist doch unlesbarer Code-Wust!
> case...switch oder while mit breaks mag zwar mehr Platz wegnehmen, ich
> sehe aber wenigstens direkt, was läuft.

switch ( $iZahl )
{
case > 10: $sErgebnis = 'Zahl größer als 10'; break;
case > 5: $sErgebnis = 'Zahl größer als 5'; break;
case > 0: $sErgebnis = 'Zahl positiv'; break;
case 0: $sErgebnis = 'Nix'; break;
default: $sErgebnis = 'Zahl negativ';
}

Hm. Das verhält sich in gewissem Sinn komplementär zu meiner
?:-Variante: dort brauchte ich "$sErgebnis =" nur ein einziges Mal zu
schreiben, hier brauche ich $iZahl nur einmal zu erwähnen. Allerdings
nervt mich das ständige break etwas. In folgendem Kontext käme man
natürlich ohne break aus:

function auswertung( $iZahl )
{
switch ( $iZahl )
{
case > 10: return 'Zahl größer als 10';
case > 5: return 'Zahl größer als 5';
case > 0: return 'Zahl positiv';
case 0: return 'Nix';
default: return 'Zahl negativ';
}
}

Zum Vergleich:

function auswertung( $iZahl )
{
return
$iZahl > 10 ? 'Zahl größer als 10' : (
$iZahl > 5 ? 'Zahl größer als 5' : (
$iZahl > 0 ? 'Zahl positiv' : (
$iZahl == 0 ? 'Nix' : (
'Zahl negativ' ) ) ) );
}

While mit breaks? Wie stellst Du Dir das hier vor?

Gruß,
Thomas

--
Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!
(Coluche)

Re: Guter Programmierstil - Standards?

am 09.04.2008 21:53:14 von Thomas Mlynarczyk

Niels Braczek schrieb:

>> Wäre Claus' Variante ein Kompromiß?
>
> Ich denke nicht, da nicht eindeutig ist, wie der ternäre Operator bei
> Schachtelung arbeitet.

Aber wenn die Klammern - wie im Beispiel ja auch erforderlich, obwohl
von Claus "vergessen" - explizit angegeben sind? Dann *ist* es eindeutig.

Wobei ich mich frage, was die PHP-Erfinder wohl dazu bewogen haben mag,
die Assoziativität des ternären Operators derart unpraktisch festzulegen
- oder gibt es tatsächlich Beispiele, wo das sinnvoll ist?

Gruß,
Thomas

--
Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!
(Coluche)

Re: Guter Programmierstil - Standards?

am 09.04.2008 21:57:35 von Thomas Mlynarczyk

Claus Reibenstein schrieb:

>> Beispiel aus der PHP-Doku:
>> $a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2
>
> Damit verhält sich PHP anders als alle anderen, mir bekannten Sprachen,
> die diesen Operator unterstützen (C, C++, Java, JavaScript). Eine Logik
> kann ich in diesem abweichenden Verhalten nicht erkennen, da dieses eine
> vernünftige Mehrfachauswahl praktisch unmöglich macht :-(

Wem sagst Du das...

>>> $sErgebnis = $iZahl > 10 ? 'Zahl größer als 10'
>>> : $iZahl > 5 ? 'Zahl größer als 5'
>>> : $iZahl > 0 ? 'Zahl positiv'
>>> : $iZahl == 0 ? 'Nix'
>>> : 'Zahl negativ';
>>>
>>> Das sind nur 5 Zeilen und trotzdem übersichtlich.
>
> Nur leider in PHP als offensichtlich einziger Sprache nicht anwendbar :-(

Doch, sofern man die Klammern hinzufügt. Also statt : einfach :( (Smiley
traurig, weil blöde Assoziativität) und hinten alle Klammern wieder zu.

Gruß,
Thomas

--
Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!
(Coluche)

Re: Guter Programmierstil - Standards?

am 09.04.2008 22:17:13 von 68kmac

Markus Grob wrote:

> http://wiki.geeklog.net/wiki/index.php?title=Coding_Guidelin es&printable
=yes#PEAR_Coding_Standards

LOL, danke für den "plug". Aber vielleicht solltest Du doch besser auf
das Original verlinken:



bye, Dirk


--
http://www.geeklog.net/

Re: Guter Programmierstil - Standards?

am 09.04.2008 23:05:24 von Hadanite Marasek

Thomas Mlynarczyk schrieb:
> function auswertung( $iZahl )
> {
> return
> $iZahl > 10 ? 'Zahl größer als 10' : (
> $iZahl > 5 ? 'Zahl größer als 5' : (
> $iZahl > 0 ? 'Zahl positiv' : (
> $iZahl == 0 ? 'Nix' : (
> 'Zahl negativ' ) ) ) );
> }
>
> While mit breaks? Wie stellst Du Dir das hier vor?

while(1==1) {
if($i>10) {
echo "Zahl grösser als 10";
break;
}
if($i>5) {
echo "Zahl grösser als 5";
break;
}
break;
}

Finde ich vor allem schön, wenn ich auf mehrere Sachen prüfen will:

while(1==1) {
if($i>10 and !fmod(10,2)) {
echo "Zahl grösser als 10 UND Gerade";
break
}
if($i>10) {
echo "Zahl grösser als 10";
break;
}
if($i>5) {
echo "Zahl grösser als 5";
break;
}
break;
}


--
Mein Zeugs:
http://www.hadanite-marasek.de/classes.php
http://www.objektivsuche.de/
Ansonsten:
http://www.php-faq.de/q/q-newsgroup-wie-helfen.html

Re: Guter Programmierstil - Standards?

am 10.04.2008 04:56:44 von Niels Braczek

Thomas Mlynarczyk schrieb:
> Niels Braczek schrieb:
>=20
>> Ich denke nicht, da nicht eindeutig ist, wie der ternäre Operator be=
i
>> Schachtelung arbeitet.=20
>=20
> Aber wenn die Klammern - wie im Beispiel ja auch erforderlich, obwohl=20
> von Claus "vergessen" - explizit angegeben sind? Dann *ist* es eindeuti=
g.

Ja, dann schon, Dafür sind die Klammern in Ausdrücken ja da. Dann geh=
t
aber die angebliche Eleganz des Konstruktes verloren.

> Wobei ich mich frage, was die PHP-Erfinder wohl dazu bewogen haben mag,=
=20
> die Assoziativität des ternären Operators derart unpraktisch festzu=
legen=20
> - oder gibt es tatsächlich Beispiele, wo das sinnvoll ist?

Linksassoziativität ist wahrscheinlich einfacher zu implementieren. Und=

PHP ist eben "entstanden" und nicht "entworfen worden".

MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Guter Programmierstil - Standards?

am 10.04.2008 12:37:04 von Daniela Waranie

Hallo Markus,

> Sorry, war etwas schroff geschrieben. Habe es erst im Nachhinein bemerkt
> ;-)
kein Problem.

> http://wiki.geeklog.net/wiki/index.php?title=Coding_Guidelin es&printable=yes#PEAR_Coding_Standards
> Ist es das, was Du suchst?
Dort steht leider nicht, wie ich meinen Code organisieren soll (also in
Dateien und Verzeichnise verteilen soll)...

Lieben Gruß
Daniela Waranie

Re: Guter Programmierstil - Standards?

am 10.04.2008 14:16:53 von Markus Deckmann

Hi Daniela,

> Dort steht leider nicht, wie ich meinen Code organisieren soll (also in
> Dateien und Verzeichnise verteilen soll)...

Sollen dir Code-Richtlinien auch noch deinen Quellcode schreiben oder
wie? Die Organisation des Quellcodes kommt doch in großen Teilen auch
drauf an was du überhaupt programmierst. Was nutzt dir eine vorgegebene
Struktur wenn dein Grundkonzept der Software einen ganz anderen Weg
verfolgt.

Ich versuche das mal an einem Beispiel zu demonstrieren:

Fall 1:
-------
index.php (Steuerung der Seitenlogik)
inc/include1.php (Programmlogik Modul 1)
inc/include2.php (Programmlogik Modul 3)
img/logo.jpg (Logo der index.php)
img/bild1.jpg (Bild Modul 1)
img/bild2.jpg (Bild Modul 2)


Fall 2:
-------
index.php (Startdatei der Anwendung)
modules/ (Modulverzeichnis der Anwendung)
modules/module1 (Modulverzeichnis des Moduls 1)
modules/module1/classes (Klassenverzeichnis des Moduls 1)
modules/module1/img (Bilderverzeichnis des Moduls 1)

modules/module2 (Modulverzeichnis des Moduls 2)
....

Ich hoffe die Beispiele zeigen worauf ich raus will. Je nachdem was du
schreiben willst und wie du es aufbauen willst wird sich die
Code-Organisation von Projekt zu Projekt unterscheiden (wobei meine
Beispiele jetzt auch nur mal die Verzeichnis-Ebene behandeln). Auf
Dateiebene kann man wahrscheinlich Bücher schreiben über eine effiziente
Code-Organisation, aber auch hier ist es von der Anwendung, der benutzen
Methoden usw. abhängig wie sich die Dateien gestalten.

Sei mir nicht böse, für dein Anliegen ein internationales Open Source
Projekt ins Leben zu rufen fehlen dir scheinbar die grundlegendsten
Kenntnisse über professionelle Software-Entwicklung. Hier solltest du
dich eher mal mit dem Thema Software-Entwicklungs-Prozesse,
Entwurfsmuster, usw. beschäftigen. Die Organisation des Quellcodes
ergibt sich dann aus deinen Anforderungen schon fast von selbst einfach
aufgrund der verwendeten Techniken.

Hier zu hoffen eine Anleitung in Coding-Guides zu finden ist
schwachsinnig und IMHO mehr als nicht zielführend. Solche Kenntnisse
sollten bevor man sich an solch ein Projekt wagt schon vorhanden und oft
angewendet worden sein. Ansonsten kommt nachher nur noch ein weiteres
schlecht programmiertes und schlecht wartbares Programm dabei raus, weil
ja dann nicht mal der Initiator des Programms genau weiß was er da tut.

Nichts für ungut ;-)
Ciao Markus

Re: Guter Programmierstil - Standards?

am 10.04.2008 15:42:11 von Daniela Waranie

Hallo Markus,

danke für Dein Beispiel, es hat mir geholfen.

> Sei mir nicht böse, für dein Anliegen ein internationales Open Source
> Projekt ins Leben zu rufen fehlen dir scheinbar die grundlegendsten
> Kenntnisse über professionelle Software-Entwicklung. Hier solltest du dich
> eher mal mit dem Thema Software-Entwicklungs-Prozesse, Entwurfsmuster,
> usw. beschäftigen. Die Organisation des Quellcodes ergibt sich dann aus
> deinen Anforderungen schon fast von selbst einfach aufgrund der
> verwendeten Techniken.
>
> Hier zu hoffen eine Anleitung in Coding-Guides zu finden ist schwachsinnig
> und IMHO mehr als nicht zielführend. Solche Kenntnisse sollten bevor man
> sich an solch ein Projekt wagt schon vorhanden und oft angewendet worden
> sein. Ansonsten kommt nachher nur noch ein weiteres schlecht
> programmiertes und schlecht wartbares Programm dabei raus, weil ja dann
> nicht mal der Initiator des Programms genau weiß was er da tut.
>
> Nichts für ungut ;-)
....ein klares Statement - ich bin etwas enttäuscht über die Art und Weise,
wie Du dieses hier herüber bringst - ich habe Dir nichts getan.

Ich denke, dass mein Ansatz nicht grundsätzlich falsch ist, ansonsten kann
ich mir nicht erklären warum es zum Thema Verzeichnisstrukur z.B. bei Java
klare vorgaben gibt (Packages), die unabhängig von den eingesetzten
architectual und design pattern ist. Ich glaube auch, dass _vor_ dem
Projektstart auch der richtige Zeitpunkt für Grundlagen-Überlegungen
(Verzeichnisstruktur) ist.

Jedes Posting bringt neue Erkenntnisse (für mich) und darüber freue ich mich
sehr.

Lieben Gruß
Daniela Waranie

Re: Guter Programmierstil - Standards?

am 10.04.2008 15:50:18 von Jan Habbo Bruening

Daniela Waranie:
> Jedes Posting bringt neue Erkenntnisse (für mich) und darüber freue
> ich mich sehr.

Um im Sinne der NG den Lernerfolg zu steigern kannst du dir ja
vielleicht mal einfach Gedanken zu deiner Struktur passend zu deinem
kommenden Projekt machen und sie uns hier vorstellen. Dann wirst du
mit Sicherheit viel lehrreiches Feedback zu deinen Ideen erhalten und
dann gibt es auch eine Grundlage, auf der man detaillierter und
weiterführender diskutieren kann.

Gruß,
Habbo



--

I'm trying a new usenet client for Mac, Nemo OS X.
You can download it at http://www.malcom-mac.com/nemo

Re: Guter Programmierstil - Standards?

am 10.04.2008 17:06:30 von Markus Deckmann

Hi Daniela,

> ...ein klares Statement - ich bin etwas enttäuscht über die Art und Weise,
> wie Du dieses hier herüber bringst - ich habe Dir nichts getan.

Es war auch keineswegs persönlich gemeint. Da hast du mich falsch
verstanden. Wer allerdings ein internationales Projekt ins Leben rufen
will sollte die Grundlagen schon beherschen. Deine Postings scheinen da
allerdings eine etwas andere Sprache zu sprechen. Das soll jetzt nicht
heißen das ich dich für eine schlechte Programmiererin halte oder sowas.
Die von mir beschriebenen Folgen sind allerdings bei einem Mangel an
diesem Wissen unausweichlich. Und da kommen wir eben zu dem Punkt das es
absolut nichts bringt, weder dir noch der restlichen Welt (bzw. den
Anwendern dieser Software dann) wenn etwas dabei rauskommt was einfach
nur Schrott ist. Also nicht alles gleich zu persönlich nehmen, war
lediglich von der Programmiertechnischen Seite betrachtet. ;-)


> Ich denke, dass mein Ansatz nicht grundsätzlich falsch ist, ansonsten kann
> ich mir nicht erklären warum es zum Thema Verzeichnisstrukur z.B. bei Java
> klare vorgaben gibt (Packages), die unabhängig von den eingesetzten
> architectual und design pattern ist. Ich glaube auch, dass _vor_ dem
> Projektstart auch der richtige Zeitpunkt für Grundlagen-Überlegungen
> (Verzeichnisstruktur) ist.

Dein Ansatz ist grundsätzlich richtig, das habe ich nicht bezweifelt.
Lediglich der Wunsch etwas in der Form "1. Dateien immer in der Form, 2.
Verzeichnisse nach diesen Regeln definieren", usw. ist etwas blauäugig
und lassen mich zu dem Schluß kommen das dir einfach für ein so großes
Projekt noch wesentlich mehr an Erfahrung fehlt als dir selbst bewusst
ist. Ich arbeite hauptberuflich als Software-Entwickler und kann dir gar
nicht sagen was ich alles schon für Schrott innerhalb Quellcodes gesehen
habe. Meine vielleicht etwas provokante Art dir das mitzuteilen ist
eigentlich nur das ganze ins Extreme getrieben um durchblicken zu lassen
was dabei für Schrott rauskommen kann wenn man sich mit zuwenig Wissen
an solch ein Projekt wagt.


> Jedes Posting bringt neue Erkenntnisse (für mich) und darüber freue ich mich
> sehr.

Ich finde es sehr gut das eine Frau solch ein Projekt ins Leben rufen
will, verstehe mich da nicht falsch. Aber in einer solch dämlich
männerdominierten Domäne wie der IT wirst du leider Gottes zwischen den
ganzen Möchtegern-Männer-Profis mit einem schlechten Grundkonzept
schneller wieder untergehen als es dir lieb ist. Ich sehe nicht das
Problem darin das dein Projekt das du ins Leben rufen willst schlecht
ist, lediglich die Tatsache das sich die meisten Männer aus unserem
Bereich scheinbar Ihre Männlichkeit drauf aufbauen das sie die einzigen
sind die diese Technik bedienen können. Demnach wird solch ein Projekt,
gerade unter der Führung einer Frau, IMHO wesentlich kritischer beäugt
als die gleiche Arbeit eines Mannes. Und ein wahrscheinlich
vielversprechendes Projekt (wieso sonst solltest du es international
aufziehen wollen) deswegen untergehen zu sehen weil kein Mann an dessen
Spitze steht halte ich einfach für scheiße.

Ich bin einer der letzten der keine Frauen in der IT haben will,
allerdings will ich Qualität...und da mache ich keinen Unterschied
zwischen den Geschlechtern. ;-)

Ciao Markus

Re: Guter Programmierstil - Standards?

am 10.04.2008 17:35:05 von Claus Reibenstein

Thomas Mlynarczyk schrieb:

> switch ( $iZahl )
> {
> case > 10: $sErgebnis = 'Zahl größer als 10'; break;

Ich glaube, Du solltest Dir die switch-Anweisung noch einmal genau
anschauen.

Gruß. Claus

Re: Guter Programmierstil - Standards?

am 10.04.2008 19:39:17 von Thomas Mlynarczyk

Claus Reibenstein schrieb:
> Thomas Mlynarczyk schrieb:
>
>> switch ( $iZahl )
>> {
>> case > 10: $sErgebnis = 'Zahl größer als 10'; break;
>
> Ich glaube, Du solltest Dir die switch-Anweisung noch einmal genau
> anschauen.

Ja, habe sie schon länger nicht mehr benutzt. (Bilde mir aber
ein, in irgendeiner Sprache wäre das syntaktisch gegangen - war aber
offenbar nicht PHP).


case $iZahl > 10

Und dann müßte ich ja doch dauernd "$iZahl" wiederholen, womit der von
mir im anderen Posting erwähnte Vorteil nicht existiert. Außerdem ist
diese Syntaxvariante auch nicht ganz "sauber", obwohl von PHP unterstützt.

Gruß,
Thomas

--
Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!
(Coluche)

Re: Guter Programmierstil - Standards?

am 10.04.2008 19:48:09 von Thomas Mlynarczyk

Hadanite Marasek schrieb:
>> While mit breaks? Wie stellst Du Dir das hier vor?
>
> while(1==1) {
> if($i>10 and !fmod(10,2)) {
> echo "Zahl grösser als 10 UND Gerade";
> break
> }
> if($i>10) {
> echo "Zahl grösser als 10";
> break;
> }
> if($i>5) {
> echo "Zahl grösser als 5";
> break;
> }
> break;
> }

Das müßte aber auch mit switch gehen, wobei der Ausdruck in der Klammer
(1==1) oder (true) in beiden Fällen gleich sinnlos wäre. Dann doch
lieber if oder ?:.

Ach ja: Warum nicht statt if-break-if lieber if-elseif? Dann kannst Du
Dir die while-Verpackung wirklich sparen.

Gruß,
Thomas

--
Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!
(Coluche)

Re: Guter Programmierstil - Standards?

am 10.04.2008 23:54:46 von Hadanite Marasek

> Das müßte aber auch mit switch gehen, wobei der Ausdruck in der Klammer
> (1==1) oder (true) in beiden Fällen gleich sinnlos wäre. Dann doch
> lieber if oder ?:.

geht nicht mit switch meines Wissens, weil case...switch ja nur eine
Variable berücksichtigt.

> Ach ja: Warum nicht statt if-break-if lieber if-elseif? Dann kannst Du
> Dir die while-Verpackung wirklich sparen.

Weil ich elseif unübersichtlich finde und diese Sache recht einfach zu
warten finde; wenn sich die Reihenfolge ändert, kann ich recht einfach
die Blöcke rumschieben.
Ausserdem ist es ein Analogon zu ähnlichen Konstruktionen mit
foreach/break/continue.

--
Mein Zeugs:
http://www.hadanite-marasek.de/classes.php
http://www.objektivsuche.de/
Ansonsten:
http://www.php-faq.de/q/q-newsgroup-wie-helfen.html

Re: Guter Programmierstil - Standards?

am 11.04.2008 05:33:52 von Niels Braczek

Hadanite Marasek schrieb:
>> Das müßte aber auch mit switch gehen, wobei der Ausdruck in der Kl=
ammer=20
>> (1==1) oder (true) in beiden Fällen gleich sinnlos wäre. Dann =
doch=20
>> lieber if oder ?:.
>=20
> geht nicht mit switch meines Wissens, weil case...switch ja nur eine=20
> Variable berücksichtigt.

Nein, es werden nur zwei Ausdrücke verglichen.

switch ( true ) {

case $a == 1:
...
break;

case $b == 2:
...
break;

default:
...
break;
}

funktioniert.

>> Ach ja: Warum nicht statt if-break-if lieber if-elseif? Dann kannst Du=
=20
>> Dir die while-Verpackung wirklich sparen.
>=20
> Weil ich elseif unübersichtlich finde und diese Sache recht einfach z=
u=20
> warten finde; wenn sich die Reihenfolge ändert, kann ich recht einfac=
h=20
> die Blöcke rumschieben.

Das kannst du mit elseif ebenso.

MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Guter Programmierstil - Standards?

am 11.04.2008 08:10:15 von Stefan+Usenet

On Fri, 11 Apr 2008 05:33:52 +0200 Niels Braczek wrote:
> switch ( true ) {

Das ist in meinen Augen aehnlich pathologisch, wie ein while(true).

Servus,
Stefan

--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich

Stefan - die begeisternste Bejahung der Nacht!
(Sloganizer)

Re: Guter Programmierstil - Standards?

am 11.04.2008 08:22:23 von Niels Braczek

Stefan Froehlich schrieb:
> On Fri, 11 Apr 2008 05:33:52 +0200 Niels Braczek wrote:

>> switch ( true ) {
>=20
> Das ist in meinen Augen aehnlich pathologisch, wie ein while(true).

Sehe ich ähnlich. Ich wollte nur die Behauptung

> geht nicht mit switch meines Wissens, weil case...switch ja nur eine=20
> Variable berücksichtigt.

widerlegen.

MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Guter Programmierstil - Standards?

am 11.04.2008 09:46:02 von Daniela Waranie

Hallo Markus,

>Wer allerdings ein internationales Projekt ins Leben rufen will sollte die
>Grundlagen schon beherschen. Deine Postings scheinen da allerdings eine
>etwas andere Sprache zu sprechen.
Wenn wir alles in Perfektion beherrschen würden, dann wären wir alle
vermutlich dermaßen am Markt gefragt, dass wir weder für diese Newsgroup
Zeit hätten, noch um uns in einem anspruchsvolles Open Source Projekt
engagieren könnten. *kühneBehauptung* ;-) Ich nutze jedenfalls meine
Freizeit, um mich Weiterzubilden. Nirgends lernt man mehr über die Praxis
als in der Praxis.

> Dein Ansatz ist grundsätzlich richtig, .[...]
> und lassen mich zu dem Schluß kommen das dir einfach für ein so großes
> Projekt noch wesentlich mehr an Erfahrung fehlt als dir selbst bewusst
> ist.
Ich sehe mich eher als Projektmanagerin. Ich denke das die Anforderungen an
eine Projektmanagerin andere sind als, die an eine Programmiererin. Und aus
diesem Grund beschäftige ich mich mit der Weichenstellung für ein gutes
Gelingen. Die Definition von Details, also z.B erweiterter Richtlinien zum
Thema Quellcode-Organisation, wird von (hoffentlich) guten Programmierern
übernommen. Insoweit hat mir diese Diskussion schon weitergeholfen. Eines
der Primären Ziele wird es sein die Weichen zu stellen, damit gute
Progammier zum Projekt hinzustoßen. Der erste Prototyp muss vermutlich von
mir kommen (wie bei Open Source Projekten üblich) - schöner wäre es jedoch
anders.

Ich werde mir noch mal (zur Auffrischung) die bekanntesten architectual
pattern vergegenwärtigen.
Danke.

Lieben Gruß
Daniela Waranie

Re: Guter Programmierstil - Standards?

am 11.04.2008 12:39:54 von kscheller

Hadanite Marasek wrote:

> Urrrrgh. Nix von alledem, genauso wie alles, was bislang als Antwort
> hierzu geschrieben wurde. Das ist doch unlesbarer Code-Wust!

Ack. Viel zu viele Bedingungen.

Für die Abschaffung des "if" now! :-)

Servus,
Konni

Re: Guter Programmierstil - Standards?

am 11.04.2008 17:45:07 von Jacob Hayn

Moin,

Markus Deckmann schrieb:
> Ich versuche das mal an einem Beispiel zu demonstrieren:
>
> Fall 1:
> -------
> index.php (Steuerung der Seitenlogik)
> inc/include1.php (Programmlogik Modul 1)
> inc/include2.php (Programmlogik Modul 3)
> img/logo.jpg (Logo der index.php)
> img/bild1.jpg (Bild Modul 1)
> img/bild2.jpg (Bild Modul 2)
>
>
> Fall 2:
> -------
> index.php (Startdatei der Anwendung)
> modules/ (Modulverzeichnis der Anwendung)
> modules/module1 (Modulverzeichnis des Moduls 1)
> modules/module1/classes (Klassenverzeichnis des Moduls 1)
> modules/module1/img (Bilderverzeichnis des Moduls 1)
>
> modules/module2 (Modulverzeichnis des Moduls 2)
> ...

Dazu habe ich mir auch schon so meine Gedanken gemacht und handhabe das
bei meinen Projekten seit einiger Zeit so, dass nur die Dateien "world
readable" sind, die es unbedingt sein müssen.

Ein Beispiel:

MeinProjekt
|- /include
| |- /MyClass1.php
| `- /foo.php
|- /log
| |- /errors.log
| `- /debug.log
|- /template
| |- /abc.tpl
| `- /xyz.tpl
`- /wwwroot
|- /images
| `- logo.jpg
`- /index.php

Der Webserver wird so konfiguriert, dass der document_root auf das
Verzeichnis MeinProjekt/wwwroot zeigt. Die Überlegung war die: Warum
sollte User/Hacker/ScriptKiddie/Sonstwer XY vom Web aus auf
include/MyClass1.php zugreifen können? Da versteck ich die Dateien, die
ohnehin inkludiert werden, lieber vor der Öffentlichkeit.

Dieses Vorgehen lässt sich auch mit dem Beispiel von Markus kombinieren.
Wie die Verzeichnisse benannt werden, ist letztlich Geschmackssache.

Gruß Jacob

Re: Guter Programmierstil - Standards?

am 11.04.2008 19:09:23 von Markus Deckmann

Hi Jacob,

> Dazu habe ich mir auch schon so meine Gedanken gemacht und handhabe das
> bei meinen Projekten seit einiger Zeit so, dass nur die Dateien "world
> readable" sind, die es unbedingt sein müssen.

World-Readable hört sich gut an, die Begrifflichkeit muss ich mir
merken. ;-)


> Dieses Vorgehen lässt sich auch mit dem Beispiel von Markus kombinieren.
> Wie die Verzeichnisse benannt werden, ist letztlich Geschmackssache.

Klar, zur "Verstärkung" der Sicherheit kann man natürlich diesen Schritt
auch noch machen. Die Namen sind dabei wirklich irrelevant, auf die
Struktur kommt es an. Dies wollte ich durch mein Beispiel verdeutlichen.

Ciao Markus

Re: Guter Programmierstil - Standards?

am 11.04.2008 23:43:25 von Hadanite Marasek

> Nein, es werden nur zwei Ausdrücke verglichen.
>
> switch ( true ) {
>
> case $a == 1:
> ...
> break;
>
> case $b == 2:
> ...
> break;
>
> default:
> ...
> break;
> }
>
> funktioniert.

Hmm, danke für den Hinweis.

>>> Ach ja: Warum nicht statt if-break-if lieber if-elseif? Dann kannst Du
>>> Dir die while-Verpackung wirklich sparen.
>> Weil ich elseif unübersichtlich finde und diese Sache recht einfach zu
>> warten finde; wenn sich die Reihenfolge ändert, kann ich recht einfach
>> die Blöcke rumschieben.
>
> Das kannst du mit elseif ebenso.

Ich mag elseif einfach nicht...das sind dann aber Sachen, die sind
ähnlich diskussionsfähig wie "was schmeckt besser, Äpfel oder Erdbeeren".

--
Mein Zeugs:
http://www.hadanite-marasek.de/classes.php
http://www.objektivsuche.de/
Ansonsten:
http://www.php-faq.de/q/q-newsgroup-wie-helfen.html

Re: Guter Programmierstil - Standards?

am 11.04.2008 23:55:21 von Niels Braczek

Hadanite Marasek schrieb:

> Ich mag elseif einfach nicht...das sind dann aber Sachen, die sind=20
> ähnlich diskussionsfähig wie "was schmeckt besser, Äpfel oder Erd=
beeren".

Ich finde es wichtig, dass man aus dem Code auch ohne explizite
Kommentare so viel wie möglich von der Intention des Programmierers
herauslesen kann. Für das hier diskutierte Problem tut das kein
Konstrukt besser als elseif, weil es der natürlich-sprachlichen
Beschreibung am nächsten kommt.

MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Guter Programmierstil - Standards?

am 11.04.2008 23:58:22 von Hadanite Marasek

Niels Braczek schrieb:
> Hadanite Marasek schrieb:
>
>> Ich mag elseif einfach nicht...das sind dann aber Sachen, die sind
>> ähnlich diskussionsfähig wie "was schmeckt besser, Äpfel oder Erdbeeren".
>
> Ich finde es wichtig, dass man aus dem Code auch ohne explizite
> Kommentare so viel wie möglich von der Intention des Programmierers
> herauslesen kann. Für das hier diskutierte Problem tut das kein
> Konstrukt besser als elseif, weil es der natürlich-sprachlichen
> Beschreibung am nächsten kommt.

Das ist zugegeben ein sehr gutes Argument für Deine Position.

--
Mein Zeugs:
http://www.hadanite-marasek.de/classes.php
http://www.objektivsuche.de/
Ansonsten:
http://www.php-faq.de/q/q-newsgroup-wie-helfen.html