Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Notazione ungara

49 views
Skip to first unread message

Davide Benassi

unread,
Jul 14, 1999, 3:00:00 AM7/14/99
to
Sapete dirmi cos'è o dove posso trovare informazioni su questo tipo di
notazione...

grazie
Davide Benassi

P.S. Per favore rispondete anche via e-mail

--
Davide Benassi
davide_...@bigfoot.com

Marco Natoni

unread,
Jul 14, 1999, 3:00:00 AM7/14/99
to
Ciao Davide, come va?

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

Andrea Laforgia

unread,
Jul 14, 1999, 3:00:00 AM7/14/99
to
Entro nella stanza e...cosa ti vedo ? sette lettini.
Su uno di essi c'era scritto Marco Natoni :

# 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.
----------------------------------------------------

Marco Natoni

unread,
Jul 14, 1999, 3:00:00 AM7/14/99
to
Ciao Andrea, come va?

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

Andrea F.

unread,
Jul 14, 1999, 3:00:00 AM7/14/99
to
Puoi trovare informazioni sulla notazione ungherese sparse in giro su
internet usando come chiave di ricerca 'hungarian notation' o 'Simonyi',
oppure su carta in 'The hungarian revolution' di Simonyi e Teller, Byte,
Agosto 1991 oppure 'Notazione ungherese' di G. Lo Russo, Computer
programming, Settembre 1993


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 Benassi

unread,
Jul 14, 1999, 3:00:00 AM7/14/99
to
Grazie a tutti quanti per le "preziose"informazioni,
ma č davvero cosě inutile ?

Davide

Andrea Laforgia

unread,
Jul 14, 1999, 3:00:00 AM7/14/99
to
Entro nella stanza e...cosa ti vedo ? sette lettini.
Su uno di essi c'era scritto Davide Benassi :

#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.

Enrico Maria Giordano

unread,
Jul 14, 1999, 3:00:00 AM7/14/99
to
Davide Benassi wrote:
>
> Grazie a tutti quanti per le "preziose"informazioni,
> ma è davvero così inutile ?

Secondo me in un linguaggio fortemente tipizzato come il C/C++ si, è
inutile.

EMG


Paolo Marotta

unread,
Jul 14, 1999, 3:00:00 AM7/14/99
to
On Wed, 14 Jul 1999 15:16:43 -0700, Enrico Maria Giordano
<e.m.gi...@flashnet.it> wrote:

>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
-----------------------------------------------------------------

Paolo Marotta

unread,
Jul 14, 1999, 3:00:00 AM7/14/99
to
On Wed, 14 Jul 1999 14:37:35 +0200, "Davide Benassi"
<davide_...@bigfoot.com> wrote:

>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.

Daniele Pallastrelli

unread,
Jul 14, 1999, 3:00:00 AM7/14/99
to
> Grazie a tutti quanti per le "preziose"informazioni,
> ma è davvero così inutile ?

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."

Andrea Laforgia

unread,
Jul 15, 1999, 3:00:00 AM7/15/99
to
Entro nella stanza e...cosa ti vedo ? sette lettini.
Su uno di essi c'era scritto Paolo Marotta :

#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.

Andrea Laforgia

unread,
Jul 15, 1999, 3:00:00 AM7/15/99
to
Entro nella stanza e...cosa ti vedo ? sette lettini.
Su uno di essi c'era scritto Daniele Pallastrelli :

#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.

Luca Menegotto

unread,
Jul 15, 1999, 3:00:00 AM7/15/99
to
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!!!

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


Marco Natoni

unread,
Jul 15, 1999, 3:00:00 AM7/15/99
to
Ciao Luca, come va?

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

Andrea Baruzzo

unread,
Jul 15, 1999, 3:00:00 AM7/15/99
to

Daniele Pallastrelli ha scritto nel messaggio <7minst$oq6$1...@nslave1.tin.it>...

>> Grazie a tutti quanti per le "preziose"informazioni,
>> ma è davvero così inutile ?
>
>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.
>(Omissis)

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

Andrea Foco

unread,
Jul 15, 1999, 3:00:00 AM7/15/99
to
Andrea Laforgia <andrea_...@bigfoot.com> wrote:
[ snip ]
AL># Non l'ho mai visto utilizzato da nessuno all'infuori dell'SDK di MS
AL>#Windows. Questo fatto dovrebbe essere *altamente* indicativo... ;)

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)


Enrico Maria Giordano

unread,
Jul 16, 1999, 3:00:00 AM7/16/99
to
Andrea Foco wrote:
>
> Questo e' quello che ne pensa Linus Torvalds:
> [...]

E io condivido pienamente. :-)

EMG

Daniele Pallastrelli

unread,
Jul 16, 1999, 3:00:00 AM7/16/99
to
"Andrea Baruzzo" <andrea....@ud.nettuno.it> wrote:
>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 ;-)

Concordo.

Daniele.


0 new messages