 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Andreas Volz Guest
|
Posted: Wed Apr 21, 2004 9:56 am Post subject: Namensgebung für Memberfunktionen und Variablen |
|
|
Hi,
ich hab mal die Frage ob es eine bestimmte Regel (oder Richtlinie) gibt
wie man Funktionsnamen und Variablennamen in C++ vergibt. In C hatte ich
Funktionen immer mit kleinen Buchstaben begonnen und dann das zweite
Wort dran gehängt oder einen Unterstrich. Also so:
machIrgendwas() oder
mach_irgendwas()
Ähnlich hab ich das mit Variablennamen gemacht. In C++ Klassen sehe ich
eigentlich recht häufig diese Schreibweise:
MachIrgendwas()
Natürlich ist das Geschmacksache, aber welche Version ist den am meisten
verbreitet und warum verwendet ihr sie?
Und wie ist das bei Klassennamen? Die sehe ich meistens groß
geschrieben, solle man das der Übersichtlichkeit halber auch so machen?
Vielleicht gibt es ja irgendwo einen Text zu diesem Thema. Ich möchte
dadurch halt erreichen, dass der Quelltext eine möglichst einleuchtende
Schweibweise verwendet.
Gruß
Andreas
--
Die eMail-Adresse ist existent, aber um das Risiko meines Spamfilters
oder eines vollen Briefkastens zu umgehen, bitte an die gleiche Adresse
ohne "-spam-trap" schicken.
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Stefan Reuther Guest
|
Posted: Wed Apr 21, 2004 2:27 pm Post subject: Re: Namensgebung für Memberfunktionen und Variablen |
|
|
Andreas Volz wrote:
| Quote: | ich hab mal die Frage ob es eine bestimmte Regel (oder Richtlinie) gibt
wie man Funktionsnamen und Variablennamen in C++ vergibt.
|
"Die" Regel gibt es nicht.
| Quote: | Natürlich ist das Geschmacksache, aber welche Version ist den am meisten
verbreitet und warum verwendet ihr sie?
|
Die STL verwendet kleinbuchstaben_und_unterstriche für alles. Das wäre
ein Argument, es ebenfalls so zu machen. Oder ein Argument dagegen.
| Quote: | Und wie ist das bei Klassennamen? Die sehe ich meistens groß
geschrieben, solle man das der Übersichtlichkeit halber auch so machen?
|
Wie gesagt, "die" Regel gibt es nicht. Jeder nimmt die, die ihm am
sinnvollsten und am besten lesbar erscheint. Wenn du in ein Projekt
einsteigst, empfiehlt es sich natürlich, die dort geltenden Konventionen
zu berücksichtigen und nicht den Rest der Mannschaft zu bekehren.
Ich verwende z.B. momentan KlassenMitBinnenGrossSchreibung,
variablen_namen, KONSTANTEN_NAMEN, pfx_AufzaehlungsWerte,
typaliasnamen_t, und funktionsNamenVorneKlein. Das dürfte großteils dem
Java-Coding-Style entsprechen, URL hab ich leider gerade nicht parat.
In einem vorigen Projekt, an dem ich mitgearbeitet habe, gab es
Klassen_wie_in_Ada oder klassen_typ_namen_t, KONSTANTEN_WIEDER_GROSS und
den_rest_klein.
Man kann sich natürlich auch an die STL anlehnen. Ich verwende oftmals
zumindest die Namen aus der STL wieder ('Dings::begin()',
'Dings::iterator', ...). Allerdings kann man z.B. schon die Schreibweise
nutzen, um klar zu machen, dass eben die Klasse 'FileStream' was eigenes
ist, während 'ifstream' aus der Standardbibliothek stammt. Bei
'file_stream' wäre das vielleicht nicht so klar. Es ist sicherlich
Geschmackssache, ob man das trennen will oder nicht.
Wenn eine andere "große" C++-Bibliothek verwendet wird (Qt, MFC, ...),
ergibt es vielleicht Sinn, sich an diese Bibliothek anzulehnen.
Außerdem könnte noch der verwendete Editor eine Rolle spielen. Emacs
kann z.B. von Haus aus mit Namen_mit_Unterstrichen intuitiv umgehen
(also M-BS löscht eine Komponente). Er bringt auf Funktionen zum Umgang
mit NamenMitBinnenGrossSchreibung mit (M-x c-forward-into-nomenclature),
die muss man aber erst explizit konfigurieren.
Stefan
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Daniel Albuschat Guest
|
Posted: Wed Apr 21, 2004 2:29 pm Post subject: Re: Namensgebung für Memberfunktionen und Variablen |
|
|
Andreas Volz wrote:
| Quote: | Hi,
ich hab mal die Frage ob es eine bestimmte Regel (oder Richtlinie) gibt
wie man Funktionsnamen und Variablennamen in C++ vergibt. In C hatte ich
Funktionen immer mit kleinen Buchstaben begonnen und dann das zweite
Wort dran gehängt oder einen Unterstrich.
|
--8<-------------
Persönlich sehe ich das ähnlich wie Stefan (am Standard orientieren),
allerdings kann man das meistens nicht selbst entscheiden. Je nachdem,
für welches Projekt, welchen Arbeitgeber oder welche Sprache man
verwendet (wobei wir uns hier ja eindeutig auf C++ beschränken) wechseln
die Stile.
Richtlinien gibt es hier keine, die man immer anwenden könnte. Es gibt
lediglich Richtlinien innerhalb von Projekten, Unternehmen oder
Bibliotheken.
Und davon reichlich:
Qt verwendet als ersten Buchstaben ihrer Klassen immer ein Q.
Darauffolgend u.U. ein komisches Kürzel [1], dann den Klassennamen mit
Gross/Kleinschreibung. In Qt werden keine Namensräume verwendet.
Methoden werden im Stil IchBinEineMethode gehalten.
Gtkmm benutzt im Gegensatz zu Qt einen Namensraum (bzw. mehrere),
ansonsten ähnliche Gross/Kleinschreibung für Klassen. Methoden
hingegen werden klein und mit _ separiert geschrieben.
Also im ungefähr so: ich_bin_eine_methode.
Weitere Beispiele:
MFC schreibt vor jede Klasse ein C (ich nehme an für class),
Borland hingegen ein T (für Type). Konstanten in MFC sind immer komplett
in Grossbuchstaben, bei Borland fangen sie mit kleinen Buchstaben an,
die soetwas wie einen Namensbereich darstellen, und werden dann in
Gross/Kleinbuchstaben wie Methoden und Klassen gehalten.
Ausserdem unterscheidet man dann noch in der Setzung von { und }.
Manche schreiben
void Klasse::Methode() {
/* ... */
}
manche
void Klasse::Methode()
{
/* ... */
}
oder manche benutzen den ersten Stil nur für `struct' oder `class'.
Seltener sehe ich auch
void Klasse::Methode()
{
/* ... */
}
Eigentlich habe ich jetzt nicht vor, eine komplette Aufzählung aller
mir bekannten Stile, C++ Quelltext zu verfassen, zu bieten.
Ich möchte eher darauf hinweisen, dass es dafür (leider) bisher
keine Richtlinien gibt und es eigentlich jeder so macht, wie er will
oder vorgegeben bekommt.
Ich halte mich in privaten Projekten an den Standard, benutze keine
Grossbuchstaben und trenne Wörter mit Unterstrich.
Hier ein paar Links zum Thema:
http://www.trolltech.com/documentation/naming.html
http://www.gnu.org/prep/standards.html
http://geosoft.no/style.html#Naming%20Conventions
http://www.parashift.com/c++-faq-lite/coding-standards.html
http://www-sdd.fsl.noaa.gov/~fxa/manuals/codingGuidelines.html#HDR6
cu,
Daniel
Fussnoten:
[1] Diese `komischen Kürzel' kann man bei Trolltech registrieren. Eine
Liste von bereits registrierten Kürzeln und eine Erklärung findet
man auf der oben genannten Seite (erster Link).
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Helmut Zeisel Guest
|
Posted: Fri Apr 23, 2004 6:09 am Post subject: Re: Namensgebung für Memberfunktionen und Variablen |
|
|
Stefan Ram wrote:
| Quote: | In "ISO/IEC 14882:1998(E)" gibt es keine groß geschriebenen
Klassen. Das sind alles Kontaminationen aus anderen Sprachen.
|
Wieso erlaubt ISO/IEC 14882:1998(E) groß geschriebene Klassen, wenn das
doch nur "Verschmutzungen" sind?
Helmut
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
helmut zeisel Guest
|
Posted: Fri Apr 23, 2004 4:34 pm Post subject: Re: Namensgebung für Memberfunktionen und Variablen |
|
|
Stefan Ram wrote:
| Quote: | In "ISO/IEC 14882:1998(E)" gibt es keine groß geschriebenen
Klassen. Das sind alles Kontaminationen aus anderen Sprachen.
|
Wieso erlaubt die Norm dann groß geschriebene Klassen, wenn sie doch nur
Verschmutzungen sind?
Helmut
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
helmut zeisel Guest
|
Posted: Fri Apr 23, 2004 4:41 pm Post subject: Re: Namensgebung für Memberfunktionen und Variablen |
|
|
Stefan Ram wrote:
| Quote: | Helmut Zeisel <helmut.zeisel (AT) aon (DOT) at> writes:
In "ISO/IEC 14882:1998(E)" gibt es keine groß geschriebenen
Klassen. Das sind alles Kontaminationen aus anderen Sprachen.
Wieso erlaubt ISO/IEC 14882:1998(E) groß geschriebene Klassen, wenn das
doch nur "Verschmutzungen" sind?
Es kann einmal vorkommen, daß bei der maschinellen Erzeugung
von C++-Quelltext (aus anderen Sprachen) groß geschriebene
Bezeichner auftauchen.
|
Extra fuer maschinelle Erzeugung von C++ Quelltexten wurde diese
Erlaubnis eingefuehrt? Wo kann man das nachlesen?
Helmut
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Marco Budde Guest
|
Posted: Fri Apr 23, 2004 6:01 pm Post subject: Re: Namensgebung für Memberfunktionen und Variablen |
|
|
Andreas Volz wrote:
| Quote: | Natürlich ist das Geschmacksache, aber welche Version ist den am meisten
verbreitet und warum verwendet ihr sie?
|
Methoden haben bei mir eigentlich immer die Form "WortWortWort".
Variablen werden komplett klein geschrieben und mit Strichen
getrennt. Member Variablen haben ein "m_" am Anfang.
Warum? Damit man Variablen und Methoden leicht unterscheiden
kann.
| Quote: | Und wie ist das bei Klassennamen? Die sehe ich meistens groß
geschrieben, solle man das der Übersichtlichkeit halber auch so machen?
|
Ich halt es wie bei den Methoden. Komplett groß werden nur Konstanten
bei mir geschrieben.
| Quote: | Vielleicht gibt es ja irgendwo einen Text zu diesem Thema. Ich möchte
dadurch halt erreichen, dass der Quelltext eine möglichst einleuchtende
Schweibweise verwendet.
|
Wichtig finde ich, daß man die Sachen leicht unterscheiden kann.
Was mir ganz und garnicht gefällt sind die Windows Freunde mit
Ihren Prefixen wie "pf_" usw. Das ist extrem unübersichtlich.
Genauso doof finde ich überflüssige typedef (z.B. für Pointer),
wo man dann erst Du zig Files browsen muß, um dessen Typ zu
ermitteln.
cu, Marco
--
S: Minolta: Winkelsucher (VN), VC-9
E-Mail: mb-news-b<ät>linuxhaven.de
Deutsches Linux HOWTO Projekt: http://www.linuxhaven.de
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Torsten Robitzki Guest
|
Posted: Fri Apr 23, 2004 8:14 pm Post subject: Re: Namensgebung für Memberfunktionen und Variablen |
|
|
helmut zeisel wrote:
| Quote: | Stefan Ram wrote:
Helmut Zeisel <helmut.zeisel (AT) aon (DOT) at> writes:
In "ISO/IEC 14882:1998(E)" gibt es keine groß geschriebenen
Klassen. Das sind alles Kontaminationen aus anderen Sprachen.
Wieso erlaubt ISO/IEC 14882:1998(E) groß geschriebene Klassen, wenn
das doch nur "Verschmutzungen" sind?
Es kann einmal vorkommen, daß bei der maschinellen Erzeugung
von C++-Quelltext (aus anderen Sprachen) groß geschriebene
Bezeichner auftauchen.
Extra fuer maschinelle Erzeugung von C++ Quelltexten wurde diese
Erlaubnis eingefuehrt? Wo kann man das nachlesen?
|
Was soll den der Blödsinn? Nur weil eine Sprache, in der ein Unterschied
zwischen Groß- und Kleinbuchstaben gemacht wird, bei der reservierte
Wörter und in den dazugehörigen Bibliotheken keine Großbuchstaben
verwendet werden, soll die Sprache Großbuchstaben verbieten?
Frag Dich doch bitte mal selber, ob wir unsere Zeit nicht mit etwas
besserem vergeuden können. Als template Parameter werden Großbuchstaben
übrigens sehr wohl eingesetzt, auch in code der dem Still der c++
library nachempfunden ist. Ein _ gefolgt von Großbuchstaben ergib
Symbole, die explizit für die Implementierung der C++ library vorgesehen
sind. Ausserdem wird man wohl kaum eine Unmenge an C Altlasten mit sich
herumschleppen, wenn dann nur noch C Funktionen nutzbar wären die nur
Kleinbuchstaben im Namen haben. Kennst Du irgend eine Sprache, die
Namesgebungen von Symbolen mit in der Definition der Sprache regelt und
durch den compiler überprüft?
Im übrigen gibt es eine Klasse in der C++ library die mit einem
Großbuchstaben anfängt: std::ios_base::Init ;-)
mfg Torsten
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
helmut zeisel Guest
|
Posted: Sat Apr 24, 2004 5:31 am Post subject: Re: Namensgebung für Memberfunktionen und Variablen |
|
|
Torsten Robitzki wrote:
| Quote: | helmut zeisel wrote:
Stefan Ram wrote:
Helmut Zeisel <helmut.zeisel (AT) aon (DOT) at> writes:
In "ISO/IEC 14882:1998(E)" gibt es keine groß geschriebenen
Klassen. Das sind alles Kontaminationen aus anderen Sprachen.
Wieso erlaubt ISO/IEC 14882:1998(E) groß geschriebene Klassen, wenn
das doch nur "Verschmutzungen" sind?
Es kann einmal vorkommen, daß bei der maschinellen Erzeugung
von C++-Quelltext (aus anderen Sprachen) groß geschriebene
Bezeichner auftauchen.
Extra fuer maschinelle Erzeugung von C++ Quelltexten wurde diese
Erlaubnis eingefuehrt? Wo kann man das nachlesen?
Was soll den der Blödsinn? Nur weil eine Sprache, in der ein Unterschied
zwischen Groß- und Kleinbuchstaben gemacht wird, bei der reservierte
Wörter und in den dazugehörigen Bibliotheken keine Großbuchstaben
verwendet werden, soll die Sprache Großbuchstaben verbieten?
|
Habe ich das behauptet? Ich habe gefragt, wieso eine Sprache Dinge
erlaubt, die doch nur Verschmutzungen sind. *Wenn* Großbuchstaben
Verschmutzungen sind, *dann* gehoeren sie besser verboten. Wenn
Großbuchstaben aber keine Verschmutzungen sind, sieht es natuerlich
anders aus.
| Quote: | Im übrigen gibt es eine Klasse in der C++ library die mit einem
Großbuchstaben anfängt: std::ios_base::Init
|
So weit ist die Verschmutzung schon fortgeschritten? ;-)
Helmut
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Spiro Trikaliotis Guest
|
Posted: Sat Apr 24, 2004 9:57 am Post subject: Re: Namensgebung für Memberfunktionen undVariablen |
|
|
Hallo,
Marco Budde <mb-news-a (AT) linuxhaven (DOT) de> schrieb:
| Quote: | Was mir ganz und garnicht gefällt sind die Windows Freunde mit
Ihren Prefixen wie "pf_" usw. Das ist extrem unübersichtlich.
|
Das ist Geschmacks- und Gewöhnungssache. Ich selbst benutze sie zwar
auch nicht, ich habe aber auch schon Fälle erlebt, wo diese geholfen
haben, Fehler schneller zu finden.
| Quote: | Genauso doof finde ich überflüssige typedef (z.B. für Pointer), wo man
dann erst Du zig Files browsen muß, um dessen Typ zu ermitteln.
|
Da ich häufiger mit Anfängern zu tun habe möchte ich hier ergänzen, dass
ich die Erfahrung gemacht habe, dass dies Anfängern sehr hilft.
Spätestens beim <structname> ** kommen viele nicht mehr mit. Wenn dann
hingegen ein P<structname> * steht, geht das schon viel besser.
Ich selbst benutze solche "überflüssigen" Typedefs gerne dann, wenn das
ganze schon so unübersichtlich wird, dass ich selbst nicht mehr weiß,
wie ich den Compiler überreden kann es zu kompilieren. Ein oder zwei
eingeführte Typedefs helfen mir bei der Strukturierung, und dann klappt
es zumeist auch recht schnell mit dem Compiler. ;-)
Kind regards,
Spiro.
--
Spiro R. Trikaliotis
http://www.trikaliotis.net/
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Daniel Albuschat Guest
|
Posted: Sat Apr 24, 2004 1:20 pm Post subject: Re: Namensgebung für Memberfunktionen und Variablen |
|
|
helmut zeisel wrote:
----8<------------
| Quote: | Habe ich das behauptet? Ich habe gefragt, wieso eine Sprache Dinge
erlaubt, die doch nur Verschmutzungen sind. *Wenn* Großbuchstaben
Verschmutzungen sind, *dann* gehoeren sie besser verboten. Wenn
Großbuchstaben aber keine Verschmutzungen sind, sieht es natuerlich
anders aus.
|
In C++ gibt es einiges, was als `Verschmutzung' angesehen werden kann.
So z.B. Ellipsen oder andere C-Ekligkeiten.
Trotzdem gibt es sie. C++ Programmierer haben selbst dafuer zu sorgen,
dass ihr Code ordentlich ist. Die Sprache zwaengt dem Programmierer
keine `Ordentlichkeit' auf.
Als `Verschmutzung' wuerde ich Grossbuchstaben auch nicht bezeichnen.
Ich verstehe ehrlich gesagt auch nicht, was sie genau verschmutzen
sollten.
Wie man seine Namen haelt, ist jedem selbst ueberlassen. Hier
gibt es gute und es gibt weniger gute Moeglichkeiten. Im allgemeinen
wuerde ich `Grossbuchstaben benutzen' nicht zu den weniger Guten
zaehlen. Wichtig finde ich nur, dass es konsistent bleibt.
MfG,
Daniel Albuschat
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
helmut zeisel Guest
|
Posted: Sat Apr 24, 2004 2:55 pm Post subject: Re: Namensgebung für Memberfunktionen und Variablen |
|
|
Daniel Albuschat wrote:
| Quote: | In C++ gibt es einiges, was als `Verschmutzung' angesehen werden kann.
So z.B. Ellipsen oder andere C-Ekligkeiten.
|
Das wuerde ich weniger als "Verschmutzung" bezeichenen, sondern als
erbliche Belastung.
| Quote: | Als `Verschmutzung' wuerde ich Grossbuchstaben auch nicht bezeichnen.
Ich verstehe ehrlich gesagt auch nicht, was sie genau verschmutzen
sollten.
Wie man seine Namen haelt, ist jedem selbst ueberlassen. Hier
gibt es gute und es gibt weniger gute Moeglichkeiten. Im allgemeinen
wuerde ich `Grossbuchstaben benutzen' nicht zu den weniger Guten
zaehlen. Wichtig finde ich nur, dass es konsistent bleibt.
|
Da stimme ich zu,
Helmut
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Marco Budde Guest
|
Posted: Sat Apr 24, 2004 3:02 pm Post subject: Re: Namensgebung für Memberfunktionen und Variablen |
|
|
Spiro Trikaliotis wrote:
| Quote: | Was mir ganz und garnicht gefällt sind die Windows Freunde mit
Ihren Prefixen wie "pf_" usw. Das ist extrem unübersichtlich.
Das ist Geschmacks- und Gewöhnungssache. Ich selbst benutze sie zwar
auch nicht, ich habe aber auch schon Fälle erlebt, wo diese geholfen
haben, Fehler schneller zu finden.
|
Ich kenne aus dem persönliche Umfeld div. Fälle, wo diese Prefixe
Fehler verursacht haben. Wenn man z.B. in der Doku sowas lesen kann
void foo (PMYTYPE a);
Dann macht man schnell aus Versehen sowas:
PMYTYPE z;
foo (z);
Richtig wäre aber:
MYTYPE z;
foo (z);
Da ist ein Interface wie
void foo (MYTYPE *a);
wesentlich aussagekräftiger. Das sieht man auf einen Blick, was gemeint
ist.
| Quote: | Da ich häufiger mit Anfängern zu tun habe möchte ich hier ergänzen, dass
ich die Erfahrung gemacht habe, dass dies Anfängern sehr hilft.
Spätestens beim <structname> ** kommen viele nicht mehr mit. Wenn dann
hingegen ein P<structname> * steht, geht das schon viel besser.
|
Das ist IHMO kein Argument. typedefs sollte man IHMO sehr sparsam
einsetzen, da sie oftmals eher hinderlich sind.
| Quote: | Ich selbst benutze solche "überflüssigen" Typedefs gerne dann, wenn das
ganze schon so unübersichtlich wird, dass ich selbst nicht mehr weiß,
wie ich den Compiler überreden kann es zu kompilieren. Ein oder zwei
eingeführte Typedefs helfen mir bei der Strukturierung, und dann klappt
es zumeist auch recht schnell mit dem Compiler.
|
Vielleicht aber auch ein Zeichen dafür, daß das Interface zu kompliziert
ist .
cu, Marco
--
S: Minolta: Winkelsucher (VN), VC-9
E-Mail: mb-news-b<ät>linuxhaven.de
Deutsches Linux HOWTO Projekt: http://www.linuxhaven.de
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Spiro Trikaliotis Guest
|
Posted: Mon Apr 26, 2004 1:08 pm Post subject: Re: Namensgebung für Memberfunktionen undVariablen |
|
|
Hallo,
Marco Budde <mb-news-a (AT) linuxhaven (DOT) de> schrieb:
| Quote: | Was mir ganz und garnicht gefällt sind die Windows Freunde mit
Ihren Prefixen wie "pf_" usw. Das ist extrem unübersichtlich.
Das ist Geschmacks- und Gewöhnungssache. Ich selbst benutze sie zwar
auch nicht, ich habe aber auch schon Fälle erlebt, wo diese geholfen
haben, Fehler schneller zu finden.
Ich kenne aus dem persönliche Umfeld div. Fälle, wo diese Prefixe
Fehler verursacht haben. Wenn man z.B. in der Doku sowas lesen kann
|
[... snipp ...]
Ich dachte, du meintest die Präfixe der ungarische Notation, also so
etwas wie chVar, pchVar, usw. Die ..._p gibt es ja auch noch als
Suffixe, eher im Unix-Umfeld zu finden.
Wenn man sich daran einmal gewöhnt hat ist es gar nicht mehr so
fehleranfällig, wie man vielleicht denkt. Klar, der Anfänger braucht
dafür etwas Zeit, aber dann geht das schnell.
| Quote: | Da ich häufiger mit Anfängern zu tun habe möchte ich hier ergänzen, dass
ich die Erfahrung gemacht habe, dass dies Anfängern sehr hilft.
[...] |
| Quote: | Das ist IHMO kein Argument. typedefs sollte man IHMO sehr sparsam
einsetzen, da sie oftmals eher hinderlich sind.
|
Hm, die Lesbarkeit ist kein Argument? Dann frage ich mich, wieso
überhaupt typedefs benutzt werden, IMHO ist ihr einziger Zweck die
Lesbarkeit. Vielleicht habe ich da ja auch etwas falsch verstanden?
| Quote: | Vielleicht aber auch ein Zeichen dafür, daß das Interface zu kompliziert
ist .
|
Eben, genau das. Genau darauf wollte ich hinaus. ;-)
Kind regards,
Spiro.
--
Spiro R. Trikaliotis
http://www.trikaliotis.net/
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Helmut Zeisel Guest
|
Posted: Tue Apr 27, 2004 6:57 am Post subject: typedefs Re: Namensgebung für Memberfunktionen und Variable |
|
|
Spiro Trikaliotis wrote:
| Quote: | Hm, die Lesbarkeit ist kein Argument? Dann frage ich mich, wieso
überhaupt typedefs benutzt werden, IMHO ist ihr einziger Zweck die
Lesbarkeit.
|
*Einziger* Zweck sicher nicht; mir fallen noch ein
1) Portabilitaet (z.B. size_t, time_t)
und noch wichtiger
2) Template Programmierung (z.B. vector<T>::iterator), ohne typedefs
geht da fast gar nichts mehr.
Helmut
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|