Newsgroup: it.comp.lang.c++
Titolo: Sondaggio: come scrivete il codice?

E' stato fatto una specie di sondaggio su it.comp.giochi.sviluppo sul
modo di scrivere il codice... voi come lo scrivete?
come identate, ad esempio, un if?
if (...) {
	...
}
oppure 
if (...)
{
	...
}
le variabili come le nominate? usate la sintassi ungherese, non la
usate, la usate solo in alcuni casi, usate nomi tutti minuscoli, usate
lo stesso modo di scrivere di Java (prima minuscola per le funzioni,
ecc.)
e le classi?
alla java Classe
alla borland TClasse
alla MFC CClasse
a modo vostro?
e i membri della classe, e le variabili locali?
ecc., ecc.
]\/[ad]\/[age
"Un Maestro nell'arte della vita, non fa nessuna precisa distinzione tra lavoro
e gioco, fatica e riposo, mente e corpo, educazione e ricreazione. 
Insegue semplicemente la sua visione di Eccellenza attraverso qualunque cosa sta facendo e lascia agli altri decidere se sta lavorando o giocando. A lui sembra sempre che sta facendo entrambe le cose." - Anonimo.
.-~-.-~-. 
www.madmagelab.cjb.net
 .-~-.-~-.

 come identate, ad esempio, un if?
Gia' che ci siamo mi aggiungo anch'io e chiedo dove e' possibile
reperire su internet un set di convenzioni completo e abbastanza usato
(mi rendo conto che esistono piu' scelte, ovviamente) per la stesura del
codice.
Ah, e cos'e' la sintassi ungherese?
Saluti.

Ah, e cos'e' la sintassi ungherese?
la sintassi ungherese è quella notazione usata soprattutto da ms per i
nomi delle variabili... essa praticamente divide il nome della
variabile in due (tre) parti, la prima, iniziale, tutta in minuscolo,
indica di che variabile si tratta, la seconda (che inizia con lettera
maiuscola) indica li nome vero e proprio...
ad esempio, se hai un intero che indica quanti soldi hai, lo
chiameresti iSoldiCheHo... questo vale anche per i controlli: se hai
una label che indica la stessa cosa la chiameresti lblSoldiCheHo, ecc.
poi ci sono altre regole, tipo mi sembra che una variabile membro di
una classe si chiama m_iSoldiCheHo (secondo me orribile), ecc.



Anche se non rispondo spesso, non ho perso neanche un messaggio
--
Abruzzo Silvio
studente, 16 anni
goku_...@libero.it
http:\\
utenti.tripod.it
\abruzzosilvio
icq number =132582655
Linux Machine : 219721
^___^

 a modo vostro?
Con il nome più adatto per si possa assegnare alla classe, sempre in
minuscolo ovviamente. 
Il Ghenio
-----
ZIO : Fun and games are over with. Anyone who dares
get in my way shall perish.
DIO ci salvi dagli ocx del Viral Basic.
-----

 codice.
Manuale di Stile di C. Pescio ( 
www.eptacom.net
  - anche se non è
disponibile on-line ;-)

come identate, ad esempio, un if?
Su 10000 programmatori probabilmente nessuno usa le stesse
convenzioni.
Io ad esempio faccio così:
if (...){
    ...
}
for (...;...;...){
    ...
}
int foo(){
    ...
}
nome_variabile
NomeClasse
nome_funzione
m_variabile_membro <-- bruttissimo ma comodo
-- 
Marco Barisione (ICQ 84277092)
Su it.news.gruppi si sta discutendo della creazione di it.comp.lang
dove si parlerà dei linguaggi senza un proprio newsgroup e dei
confronti fra i diversi linguaggi.
Se sei interessato unisciti alla discussione.

allora adesso vi dico come mi regolo io:
if (...) {
	...
}
lo stesso per for, while, do, class, ecc.
ma invece:
void pippo (...)
{
	...
}
per le funzioni
nomi variabili
variabilelocaledentrofunzione
VariabileParametroDiFunzione
tvVariabileMembroDiClasse
tvVariabileGlobale
(per gli ultimi due si intende sintassi ungherese)


{
I gusti sono gusti ma mi sembra non coerente.


 I gusti sono gusti ma mi sembra non coerente.
Pensa invece che in ditta da noi è stato scelto dai responsabili del 
software di fare proprio come nell'esempio quotato. Io invece ero 
abituato a portare sempre la graffa a capo per avere allineato in colonna 
l'apertura e la chiusura.
-- 
Luc.

 modo di scrivere il codice... voi come lo scrivete?
Dichiarazioni di classi e cicli con la graffa sulla linea
if () {
   ...
} else {
   ...
}
class Class {
   ...
};
Per le funzioni la graffa a capo:
void foo()
{
   ...
}
Membri inline definiti nella classe ... dipende dallo spazio
orizzontale.
classi iniziale maiuscola, il resto iniziale minuscola. No alla
notazione ungherese. Con eccezioni a volte a questa regola.
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

 ecc.)
La sintassi ungherese la detesto, perche' e' un grave ostacolo al
refactoring, e la sua consistenza non e' verificata automaticamente. Il
linguaggio permette di qualificare ciascun nome con praticamente tutte
le informazioni che usualmente vengono codificate nei nomi in notazione
ungherese: la dichiarazione specifica il tipo, lo scope e' identificato
qualificando completamente un nome (ad es.: a::b::c), i membri possono
essere qualificati con this->nome . Il resto si evince dal contesto e se
non e' cosi' non c'e' convenzione che semplifichi codice troppo
ingarbugliato.
 
class NomeClasse {	// nei post scrivo la graffa di seguito
  public:
    int funzioneMembro();
  private:
    int membroDato;
    static const int membroDatoStatico;
};
Ciao,
Nicola

 ingarbugliato.
Difatti è proprio questo il motivo che ha portato Carlo Pescio a motivare la
sua scelta di NON
raccomandare affatto la notazione ungherese nel suo libro "C++ Manuale di
Stile" (il cui elenco di
raccomandazioni si può leggere su
http://www.eptacom.net/pubblicazioni/cpp_stile/recomm.html
)
in quanto non necessaria per un linguaggio come il C++  (in realtà Carlo
suggerisce che le informazioni
sui tipi siano tutte disponibili a compile-time e quindi raccomanda di
limitare al massimo anche la RTTI).
La notazione ungherese potrebbe avere ancora un senso probabilmente solo per
chi programma ancora
in C e utilizza il SDK di Win32.
--
--
Lello Mele
--
HOMEPAGE: 
http://www.lellomele.it
eMAIL   : 
v...@libero.it

 come identate, ad esempio, un if?
//-----------------IF ELSE----------------------------------
if ( ... ) {
}
else {
}
//----------------------WHILE-------------------------------
while ( ... ) {
}
//-----------------------FOR--------------------------------
for (  ) {
}
//-------FUNZIONI E METODI----------------------------
valore_di_ritorno
foo(....)
{
}
//--------CLASS -----------------------------------------
class NomeDellaClasse
{
            ....
    public:
            ....
    protected:
         ....
    private:
        ....
};
//-----------CTOR--------------------------------
NomeDellaClasse::NomeDellaClasse(......)
: PrimaClasseParent(...),
  SecondaClasseParent(...),
  N-EsimaClasseParent(... ),
  prima_variabile_membro(...),
  seconda_variabile_membro(...),
  n-esima_variabile_membro(....)          //nello stesso ordine di
dichiarazione
                                                           // (per ovvi
motivi)
{
}
//--------VARIABILI--------------
//variabili locali
myNomeDellaVariabile
//variabile membro
theNomeDellaVariabile
//argomenti di metodi o funzioni
aNomeDellaVariabile   ( oppure anNomeDellaVariabile )
//CHIAMATE DI FUNZIONI O MEMBRI
//Se non si usa il valore di ritorno un cast a void
(void)foo(...);
Ciao
Gaetano.
-- 
Posted from 
dell-01.mm.eutelsat.org
 [194.214.173.17] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 l'apertura e la chiusura.
anche io scrivo cosi'. mi sembra piu' comodo da leggere, anche se consuma
qualche linea in piu':
class Bar
{
protected:
    int x;
public:
    void foo();
};
void Bar::foo()
{
    x = 8;
    if(check(&x) != 5)
    {
        x = fy() % x;
        return;
    }
    // ecc...
}
ciao :: xaero

Sono contento quando un mio 3d viene seguito da cosě tante persone...
sinceramente mi state convincendo a non usare piů la notazione
ungherese per le variabili membro delle classi, ma a tenerla solo e
unicamente per le (pochissime) variabili globali... :-D
Continuerň a tenere le variabili locali delle funzioni tutte in
minuscolo per ricordarmi quando ne uso una che lo scope č locale...
Certamente trovo inutile l'utilizzo della notazione ungherese nei
parametri delle funzioni... insomma scrivere qualcosa come
int iVar
č poco utile, lo vedo a occhio che č un int!
Invece continuerň ad usare la notazione ungherese per i controlli, e
probabilmente anche per i vettori, le liste, ecc.
Ma mica dico che sono meglio queste mie scelte! De gustibus... :-D



uso lo stesso stile, nel caso delle funzioni la graffa la metto a capo
perché il nome delle funzioni è spesso lungo.