Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
16.03.2003, 00:34
Retro



nabend, hab grad nen programm gelesen was mich etwas stutzig gestimmt hat. der programmierer hat bei manchen funktionen nen "return;" ans ende gehängt und an manchen nicht - alle funktionen geben wohlbemerkt "void" zurück.

wenn überhaupt - was macht das für einen sinn? bzw. was ist besser/sauberer?

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
001
16.03.2003, 02:10
Rockefeller



Doppel gemoppelt hält besser ;)

Das macht überhaupt keinen Sinn. Denn returnen tut der ja auf jeden Fall.

--

zum Seitenanfang zum Seitenende Profil || Suche
002
16.03.2003, 04:24
theDon



kein return ist schlechter stil, ganz einfach.

--

\o tanz den naziprau! o/

And more than ever, I hope to never fall,
Where enough is not the same it was before

zum Seitenanfang zum Seitenende Profil || Suche
003
16.03.2003, 09:48
K-Putt



Steht das return; immer am ende der Funktion oder auch mal mitten drin?
Denn wenn da z.b. steht
Quellcode:if(!Initialisiere_etwas())
{
    return;
}
Dann würde er ja z.b. aus der Funktion herausspringen, sobald etwas nicht erfüllt oso ist, das hätte dann schon sinn.

--

Rambo Engineer @ Drippy's 2fort - finest TFC 1.5 || Bild Upload || The world's most advanced open source database

zum Seitenanfang zum Seitenende Profil || Suche
004
16.03.2003, 13:47
Rockefeller



Zitat:
theDon postete
kein return ist schlechter stil, ganz einfach.
Wie bitte? Wo haste das denn her?

--

zum Seitenanfang zum Seitenende Profil || Suche
005
16.03.2003, 14:20
Retro



aso, vergessen zu erwähnen, das komische return steht immer am ende, also nichts was einen erkennbaren sinn hat =) ..deswegen frag ich ja

bzw. post sollte eigentlich ins allgemeine programmier-dings sorry..

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
006
16.03.2003, 14:24
King of Darkness



wo hast du denn sowas gesehen ?

ich würde aber sagen ein return bringt am ende einer void func nichts
ausser eben mitten in der func wie k-putt schreibt

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm

zum Seitenanfang zum Seitenende Profil || Suche
007
16.03.2003, 18:18
theDon



Zitat:
Rockefeller postete
Zitat:
theDon postete
kein return ist schlechter stil, ganz einfach.
Wie bitte? Wo haste das denn her?
persönliche meinung.

--

\o tanz den naziprau! o/

And more than ever, I hope to never fall,
Where enough is not the same it was before

zum Seitenanfang zum Seitenende Profil || Suche
008
16.03.2003, 20:21
apfelkorn



kein return in einer void finde ich durchaus berechtigt, da von vornerein klar ist, dass die Funktion Typenlos ist. Vorsicht ist allerdings geboten, wenn das ganze mit "void *" läuft, denn da ist die Funktion nicht Typenlos, sondern sie muss einen unbestimmten Pointer zurückgeben. Also den Stern nie überlesen :)

edit - Achja:
Das mitten aus der Funktion per return rausspringen ist wenn man es genau nimmt tatsächlich schlechter Programmierstil, da das qualität von "goto"-Anweisungen besitzt. Ein guter Programmierer kann das einfach umgehen und das Programm ist im Endeffekt schlüssiger (aber auch nur, wenn man sich mit den Compound-Klammern nicht vertut :) )

--


Dieser Beitrag wurde am 16.03.2003 um 20:23 von apfelkorn bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
009
17.03.2003, 21:52
gerk



Wenn eine Funktion keinen Wert zurückliefert, sondern irgendwas machen soll, kann man doch auf Bedingungen hin überprüfen, die die Funktion vorzeitig zurückkehren lassen. Was ist daran bitte schlechter Programmierstil?

Würdest du das Ganze auf mehrere Funktionen aufspalten, Apfeli?

Grüße,
Zgerk

--

„Und da wir uns ja seit heute etwas näher gekommen sind, kann ich nur sagen: Mir hilft da immer Norther volle Lautstärke (so wie jetzt), sodass die ganzen unrasierten, Wasserpfeife rauchenden, alternativen Wichsstudenten aus ihren, aus Bananenschalen und Abfall gebastelten, Sitzkissen fliegen.“

zum Seitenanfang zum Seitenende Profil || Suche
010
18.03.2003, 22:22
apfelkorn



es geht einfach nur darum, dass man mit return aus allen möglichen compounds rausspringen kann, was nicht unbedingt gut lesbar ist. Besser ist es einfach um Spaghetti-Code zu umgehen, einmal auf die Umkehrbedingung zu prüfen und im wahrfall die Funktion arbeiten zu lassen.

--

zum Seitenanfang zum Seitenende Profil || Suche