grazie
Davide Benassi
P.S. Per favore rispondete anche via e-mail
--
Davide Benassi
davide_...@bigfoot.com
Davide Benassi ha scritto:
> Sapete dirmi cos'è o dove posso trovare informazioni su questo
> tipo di notazione...
Intanto si chiama notazione *ungherese*, e non "ungara"... ;)
E` un paradigma di denominazione dei simboli (variabili e costanti, ma
anche funzioni) in un sorgente di un programma che prevede un l'utilizzo
di un prefisso indicante il tipo del simbolo stesso sviluppato da un
tizio di origine ungherese. Ad esempio:
<CODE>
int iIntegerVar;
unsigned int uiUnsignedIntegerVar;
double dDoubleVar;
double *pdPointerToDoubleVar;
</CODE>
Non l'ho mai visto utilizzato da nessuno all'infuori dell'SDK di MS
Windows. Questo fatto dovrebbe essere *altamente* indicativo... ;)
Alla prossima,
Marco
# Non l'ho mai visto utilizzato da nessuno all'infuori dell'SDK di MS
#Windows. Questo fatto dovrebbe essere *altamente* indicativo... ;)
A dire il vero, Peter Norton spesso consiglia di utilizzare questo
tipo di notazione, utilizzando tre caratteri di prefisso (int, bln,
str, ecc...ecc...).
Andrea Laforgia (andrea_...@bigfoot.com)
----------------------------------------------------
There is nothing better for understanding a kangaroo
than seeing it jump.
----------------------------------------------------
Andrea Laforgia ha scritto:
>> Non l'ho mai visto utilizzato da nessuno all'infuori dell'SDK di
>> MS Windows. Questo fatto dovrebbe essere *altamente*
>> indicativo... ;)
> A dire il vero, Peter Norton spesso consiglia di utilizzare
> questo tipo di notazione, utilizzando tre caratteri di
> prefisso (int, bln, str, ecc...ecc...).
Bene, cio` non fa che rafforzare la mia idea sull'utilita` della
notazione "ungara". :)
Alla prossima,
Marco
Davide Benassi ha scritto nel messaggio <7mhkgd$lu$1...@nslave1.tin.it>...
>Sapete dirmi cos'è o dove posso trovare informazioni su questo tipo di
>notazione...
>
Davide
#Grazie a tutti quanti per le "preziose"informazioni,
#ma č davvero cosě inutile ?
E' una questione riguardante lo stile di programmazione e per questo
prettamente riguardante i gusti di ogni singolo programmatore.
Si suppone che essa consenta una migliore lettura e comprensione del
codice, ma sinceramente io non scrivo "iIndice" o "intIndice", se
posso scrivere "Indice" e basta.
Secondo me in un linguaggio fortemente tipizzato come il C/C++ si, è
inutile.
EMG
>Secondo me in un linguaggio fortemente tipizzato come il C/C++ si, č
>inutile.
Credo che al piu` un numero molto limitato di prefissi e suffissi possa
ancora essere di aiuto, ad esempio la classica C o T per i nomi di tipo.
Io personalmente uso un insieme molto ridotto di regole:
1) Prefisso T per i tipi,
2) Suffisso Ptr per i puntatori
3) identificatori scritti nella forma TList TAssociativeArray,
utilizzando
maiscole e minuscole per renderli piu` comprensibili
4) Nomi in inglese per uniformita` con il linguaggio di programmazione
e una due altre regole al massimo piu` che altro a carattere stilistico.
Paolo
-----------------------------------------------------------------
Paolo Marotta
Computer Science, University of Pisa
home: http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------
>Grazie a tutti quanti per le "preziose"informazioni,
>ma č davvero cosě inutile ?
In C++ sicuramente, il sistema di tipi impedisce i classici errori
del C. Inoltre e` molto contorta e (IMO) genera nomi astrusi e
poco leggibili e comprensibili.
Citando C. Pescio "C++ Manuale di Stile":
..."Hungarian è nata come supporto alla programmazione in un periodo
storico in cui nel linguaggio C non esisteva il type checking statico.
Per risolvere tale problema, la notazione usata espone direttamente
l'implementazione delle variabili: se una variabile ha tipo intero, il
suo identificatore inizierà per i: ciò aiutava il programmatore ad
evitare assegnazioni errate, ma oggi è soltanto una cattiva pratica di
programmazione, contraria ai principi di information hiding che
permeano il C++, il quale peraltro dispone di un type checking statico
che sicuramente non richiede l'esposizione dell'implementazione e lo
sforzo del programmatore. Pertanto, mentre si può considerare una
convenzione accettabile per il C, è ampiamente criticabile nel caso
del C++: se sostituite un intero con un enumerato, o con una classe,
dovrete cambiare nome a tutte le variabili che contengono tali
valori."
#Io personalmente uso un insieme molto ridotto di regole:
#1) Prefisso T per i tipi,
#2) Suffisso Ptr per i puntatori
Io invece, allo stesso modo, adopero il suffisso "_t" per i tipi e
"_p" per i puntatori.
#sforzo del programmatore. Pertanto, mentre si può considerare una
#convenzione accettabile per il C, è ampiamente criticabile nel caso
#del C++: se sostituite un intero con un enumerato, o con una classe,
#dovrete cambiare nome a tutte le variabili che contengono tali
#valori."
E' vero.
In effetti anche per il C e' piuttosto fastidiosa.
Ciao!
Luca Menegotto
P.S. Ma tu non sei quel Marco Natoni che qualche anno fa bazzicava in
fidonet?? se si, ben ritrovato!!! :)))
On Wed, 14 Jul 1999 12:14:21 +0200, Marco Natoni <mna...@dada.it>
wrote:
>Ciao Davide, come va?
>
> Intanto si chiama notazione *ungherese*, e non "ungara"... ;)
>
> E` un paradigma di denominazione dei simboli (variabili e costanti, ma
>anche funzioni) in un sorgente di un programma che prevede un l'utilizzo
>di un prefisso indicante il tipo del simbolo stesso sviluppato da un
>tizio di origine ungherese. Ad esempio:
>
><CODE>
> int iIntegerVar;
> unsigned int uiUnsignedIntegerVar;
> double dDoubleVar;
> double *pdPointerToDoubleVar;
></CODE>
>
> Non l'ho mai visto utilizzato da nessuno all'infuori dell'SDK di MS
>Windows. Questo fatto dovrebbe essere *altamente* indicativo... ;)
>
>
> Alla prossima,
> Marco
Luca Menegotto ha scritto:
> Oh, bella.... io la applico e l'ho vista applicare in > modo estensivo.... e ti semplifica non poco la vita quando poi vai
> a fare manutenzione del codice!!!
Mah... De gustibus non disputandum est: a me i simboli con i nomi
troppo lunghi non mi piacciono affatto ma non nego che a qualcuno possa
far comodo diversamente. ;)
> P.S. Ma tu non sei quel Marco Natoni che qualche anno fa
> bazzicava in fidonet?? se si, ben ritrovato!!! :)))
Lo sono. E bazzico ancora. ;)
Alla prossima,
Marco
Non sono certo un fan della "Hungarian", tanto più se uso il C++. Comunque, lo stesso
libro citato dice anche: "Le vostre convenzioni influenzeranno anche la comprensibilità da
parte di chi non le adotta: la diffusione è forse l'unico vero vantaggio di una
convenzione discutibile come Hungarian"
Così, giusto per completezza di informazione ;-)
Andrea
AL>A dire il vero, Peter Norton spesso consiglia di utilizzare questo
AL>tipo di notazione, utilizzando tre caratteri di prefisso (int, bln,
AL>str, ecc...ecc...).
Questo e' quello che ne pensa Linus Torvalds:
--------------------------------------------------------------------------
[...]
Encoding the type of a function into the name (so-called Hungarian
notation) is brain damaged - the compiler knows the types anyway and can
check those, and it only confuses the programmer. No wonder MicroSoft
makes buggy programs.
[...]
--------------------------------------------------------------------------
(da: /usr/src/linux/Documentation/CodingStyle )
Ciao ciao,
Andrea
--
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and
the Ugly)."
(by Matt Welsh)
E io condivido pienamente. :-)
EMG
Concordo.
Daniele.