Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

Usi la notazione ungherese/ungara?

Il forum per tutti i developer. Leggere attentamente il regolamento di sezione prima di postare.

Usi la notazione ungherese?

Sì, aiuta la leggibilità del codice
5
56%
Sì, lo faccio più per abitudine che per altro
0
Nessun voto
Sì, perché fa figo
0
Nessun voto
No, complica la leggibilità del codice
1
11%
No, non ha più senso con la OOP
0
Nessun voto
No, la odio
3
33%
 
Voti totali : 9

Usi la notazione ungherese/ungara?

Messaggioda Silver Black » mer nov 15, 2006 8:19 pm

Questa è la domanda del giorno.

Vedo molte discussioni a questo proposito, di sviluppatori pro o contro l'uso della celeberrima notazione ungherese in giro sulla Rete, allora vorrei lanciare questo piccolo sondaggio. Magari potete motivare qui la vostra risposta. E se sì, che suffissi usate?
Sergio Pappalardo aka Silver Black
https://www.silvercybertech.com
Avatar utente
Silver Black
Silver Member
Silver Member
 
Messaggi: 1148
Iscritto il: gio gen 06, 2005 8:50 pm
Località: Italia

Messaggioda Ices_Eyes » mer nov 15, 2006 8:29 pm

Mi son documentato per sapere cos'era, perché non ne avevo la più pallida idea pur usandola...Anche se come prefissi uso int, str, dbl, eccetera, e non quelli che ho trovato qui [:-D]
Avatar utente
Ices_Eyes
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 5543
Iscritto il: ven ott 24, 2003 10:37 am
Località: Prov. di Venezia

Messaggioda Silver Black » mer nov 15, 2006 8:44 pm

Ices_Eyes ha scritto:Mi son documentato per sapere cos'era, perché non ne avevo la più pallida idea pur usandola...Anche se come prefissi uso int, str, dbl, eccetera, e non quelli che ho trovato qui [:-D]


La "notazione ungherese" e non è definita strettamente.
Guarda qui:

http://it.wikipedia.org/wiki/Notazione_ungara

Dove si legge:

"Sebbene la notazione usi codici mnemonici, non vi alcuna prescrizione su quali codici usare. Vi sono perciò diverse convenzioni, ma può essere utilizzato qualsiasi insieme di lettere. Ciò che è più importante è che l'uso dei codici sia consistente in una data porzione di codice."

Più avanti:

"Nel mondo informatico, come su ogni convenzione che si rispetti, si trovano pareri discordanti sull'utilità della notazione ungara: [...]".

Ci sono parecchie considerazioni e argomentazioni molto valide sul "perché NO"...
Sergio Pappalardo aka Silver Black
https://www.silvercybertech.com
Avatar utente
Silver Black
Silver Member
Silver Member
 
Messaggi: 1148
Iscritto il: gio gen 06, 2005 8:50 pm
Località: Italia


Messaggioda thomas » mer nov 15, 2006 9:30 pm

Da quando il Prof. Ollari di Sistemi, alle superiori, ci dettò le regole di naming al tempo del C++... non sapevo però si identificasse come notazione ungherese....
"Am too late to get too high to get, too late to wash my face and hands "
Mr Hudson and the Library - Too Late Too Late
Avatar utente
thomas
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 6858
Iscritto il: mer lug 09, 2003 6:30 pm
Località: Parma

Messaggioda M@ttia » mer nov 15, 2006 10:06 pm

Io personalmente non la condivido molto... Al limite se lavorassi in un'azienda e devo passare il codice ad un collega che deve capirlo in fretta, ma se lo scrivo "per me" (anche Open Source ma comunque per me) la notaz. Ungherese proprio no... [^]
</IE><FIREFOX>
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero

Messaggioda Silver Black » gio nov 16, 2006 1:08 am

M@ttia ha scritto:Io personalmente non la condivido molto... Al limite se lavorassi in un'azienda e devo passare il codice ad un collega che deve capirlo in fretta, ma se lo scrivo "per me" (anche Open Source ma comunque per me) la notaz. Ungherese proprio no... [^]


Secondo me invece aiuta a leggere il codice: anche se puoi commentare le variabili e il compilatore sa sempre di che tipo è una variabile, se puoi fare clic sulla variabile a andare direttamente alla dichiarazione, oppure passare sopra con il puntatore e farti vedere tipo di parametri e variabili (come in Delphi), secondo me a colpo d'occhio è molto meglio e più leggibile.

Non uso la ungherese solo quando dichiaro le proprietà di una classe, nè ovviamente per nomi di metodi, funzioni e procedure. Nemmeno per i campi di un record, ma per variabili globali e locali sì.

Un oggetto è obj<nome oggetto> una classe (o un tipo) è T<nome classe>. Vuoi mettere avere

Codice: Seleziona tutto
TPersone
objPersona


quanto più chiaro è di Perone e Persona semplicemente? A colpo d'occhio si vede subito la differenza. Poi si può avere un

Codice: Seleziona tutto
strCodice
intCodice


Ecco che nel primo caso si capisce che si richiede un codice stringa (es. un codice fiscale o un id), nel secondo un codice numerico.

Questi sono solo esempi, ma dimostrano come la notazione ungherese sia un aiuto non da poco per il MIO cervello. Poi, ognuno è libero di scrivere come meglio crede il SUO codice! [:-D]
Sergio Pappalardo aka Silver Black
https://www.silvercybertech.com
Avatar utente
Silver Black
Silver Member
Silver Member
 
Messaggi: 1148
Iscritto il: gio gen 06, 2005 8:50 pm
Località: Italia

Messaggioda Mr.TFM » gio nov 16, 2006 1:44 am

No, odio le ungheresi! [:-D]
MegaLab è una potentissima droga virtuale.
"Nella setta del Codice Macintosh si può entrare, ma non se ne può uscire." V. ZUCCONI
Avatar utente
Mr.TFM
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 23387
Iscritto il: gio mar 18, 2004 11:46 am
Località: Livorno Ferraris (Vercelli)

Messaggioda Silver Black » gio nov 16, 2006 1:54 am

Mr.TFM ha scritto:No, odio le ungheresi! [:-D]


Ma se sono così carine... [cuore] [cuore] [cuore]
Sergio Pappalardo aka Silver Black
https://www.silvercybertech.com
Avatar utente
Silver Black
Silver Member
Silver Member
 
Messaggi: 1148
Iscritto il: gio gen 06, 2005 8:50 pm
Località: Italia

Messaggioda Mr.TFM » gio nov 16, 2006 1:57 am

Silver Black ha scritto:
Mr.TFM ha scritto:No, odio le ungheresi! [:-D]


Ma se sono così carine... [cuore] [cuore] [cuore]
Io intendevo le Birre! Che avevi capito!?!?!?! [devil] [devil] [devil] [devil]
MegaLab è una potentissima droga virtuale.
"Nella setta del Codice Macintosh si può entrare, ma non se ne può uscire." V. ZUCCONI
Avatar utente
Mr.TFM
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 23387
Iscritto il: gio mar 18, 2004 11:46 am
Località: Livorno Ferraris (Vercelli)

Messaggioda Silver Black » gio nov 16, 2006 2:03 am

Mr.TFM ha scritto:Io intendevo le Birre! Che avevi capito!?!?!?! [devil] [devil] [devil] [devil]


Ah beh certo, come ho fatto a non capirlo!!! [:-D]
Sergio Pappalardo aka Silver Black
https://www.silvercybertech.com
Avatar utente
Silver Black
Silver Member
Silver Member
 
Messaggi: 1148
Iscritto il: gio gen 06, 2005 8:50 pm
Località: Italia

Messaggioda Xerex » gio nov 16, 2006 3:44 am

La userei...se fossi ordinato...purtroppo quando scrivo codice uso le mie notazioni, le mie codifiche e i miei standard [...]

Chi ha avuto a che fare con codice scritto da me a lavori in corso è sempre rimasto scioccato...tanto per rendere l'idea difficilmente indento!
Fare la grigliata, è sempre una figata!
Avatar utente
Xerex
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 5948
Iscritto il: lun ago 05, 2002 9:36 am
Località: Parma(Pr)

Messaggioda Ices_Eyes » gio nov 16, 2006 10:06 am

Noooooo...la non indenazione noooooo (stile mai dire grande fratello o giù di lì... [:-D] )
Guarda, se ci son due cose che non sopporto quando leggo codice altrui sono: la non indentazione e le parentesi messe appicicate all/if/for/while di turno o a capo...
E' tanto carino e leggibile scrivere
Codice: Seleziona tutto
if(pippo == "pippo") {
       ...;
}

invece di
Codice: Seleziona tutto
if(pippo=="pippo"){
...;}

IMHO [:-D]
Avatar utente
Ices_Eyes
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 5543
Iscritto il: ven ott 24, 2003 10:37 am
Località: Prov. di Venezia

Messaggioda M@ttia » gio nov 16, 2006 10:26 am

Ices_Eyes ha scritto:E' tanto carino e leggibile scrivere
Codice: Seleziona tutto
if(pippo == "pippo") {
       ...;
}

IMHO [:-D]

Io addirittura le indento entrambe col for [:-D]

Codice: Seleziona tutto
if(pippo == "pippo")
{
    ...;
}


Comunque ricordo questa utilissima guida [:-D] che conteneva anche un paio di punti sulla notazione ungherese [fischio]

Guida del Buon Disprogrammatore ha scritto: 21. Notazione ungherese
La Notazione Ungherese e' una vera arma nucleare nelle mani di un sapiente "offuscatore". Non c'e' sforzo di comprensione del codice che non possa essere vanificato, ne' ingegniere, programmatore o tecnico di sorta che non possa essere indotto al suicidio con un buon attacco di Notazione Ungherese.

Per chi non lo sapesse, la Notazione Ungherese e' la pratica di anteporre al "nome" vero della variabile un "prefisso" che identifica il tipo e lo scopo della variabile. Cosi' abbiamo per esempio

intValore, strTesto, objOggetto e cosi' via.

Il trucco sta' nell'utilizzare prefissi identici ma che abbiano diversi significati in vari punti del programma, cosi' abbiamo:

intXXX = Intervallo Non Trovato...
intXXX = Indice Numerico Transazione
intXXX = Informazione Non Trovata...
strXXX = Stato Transazione Ritornata...

e cosi' via.

22. Notazione Ungherese 2
Seguite l'esempio Microsoft: il tipo della variabile cambia ma il nome resta lo stesso.
</IE><FIREFOX>
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero

Messaggioda Robby78 » gio nov 16, 2006 10:39 am

Per me è fondamentale! quando apro sorgenti di persone che non la usano (tra l'altro a volte non sono neanche indentati, usano costanti o peggio numeri assoluti) mi viene un nervoso che pianterei un cacciavite nella tastiera (del programmatore che li ha scritti).
Quando non si usa, ci vuole almeno il triplo del tempo per debuggare un programma che sia un minimo complesso: devi sempre cercare nel codice se è:

_Una variabile
_Un campo di un database (e se lo è devi aprire il DB per vedere di che tipo è il campo)
_Una costante
_Una routine

Insomma, se si prende l'abitudine è un sacrificio minimo che comporta enormi vantaggi.
Povera patria! Schiacciata dagli abusi del potere di gente infame, che non sa cos'è il pudore - Franco Battiato
ricordati di pensare! - mia mamma
Avatar utente
Robby78
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3829
Iscritto il: gio gen 08, 2004 5:25 pm
Località: Emilia Romagna

Messaggioda Silver Black » gio nov 16, 2006 11:55 am

Robby78 ha scritto:Insomma, se si prende l'abitudine è un sacrificio minimo che comporta enormi vantaggi.


Anche secondo me!!!

C'è da aggiungere, però, che le nuove linee guida Microsoft vorrebbero l'abbandono di tale notazione, questo perché la OOP introdotta con l'amgiente .Net la renderebbe inutile se non dannosa alla leggibilità, a parer loro.

Io continuo a usarla, anche con Delphi che è full-OOP. perché mi agevola lo sviluppo e mi fa fare molto prima.
Sergio Pappalardo aka Silver Black
https://www.silvercybertech.com
Avatar utente
Silver Black
Silver Member
Silver Member
 
Messaggi: 1148
Iscritto il: gio gen 06, 2005 8:50 pm
Località: Italia

Messaggioda Mr.TFM » gio nov 16, 2006 12:00 pm

Xerex ha scritto:La userei...se fossi ordinato...purtroppo quando scrivo codice uso le mie notazioni, le mie codifiche e i miei standard [...]

Allora Tommy aveva ragione! [:-D]
MegaLab è una potentissima droga virtuale.
"Nella setta del Codice Macintosh si può entrare, ma non se ne può uscire." V. ZUCCONI
Avatar utente
Mr.TFM
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 23387
Iscritto il: gio mar 18, 2004 11:46 am
Località: Livorno Ferraris (Vercelli)

Messaggioda Zane » gio nov 16, 2006 12:18 pm

Se il progetto è paricolarmente complesso penso sia un grosso aiuto, anche ad oggetti! Curioso ad ogni modo che Microsoft ne sconsigli l'uso, fra le best practice

Ad ogni modo, il mio codice "nuovo" è estremamente commentato e indentato con cura maniacale, anche se ho alcune mie regole personali che non so quanto siano "universali": quello "vecchio", invece, è una porcheria, compreso le parti da me realizzate di questo sito [cry]
Avatar utente
Zane
MLI Hero
MLI Hero
 
Messaggi: 7935
Iscritto il: lun ago 05, 2002 9:36 am
Località: Ferrara


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising