Come si denominano i controlli della GUI?


12

È generalmente considerata una cattiva pratica utilizzare la notazione ungherese , ma è comune trovare controlli GUI denominati userNameTextBoxe userNameLabel.

Metti il ​​tipo di controllo nel suo nome? Non è una specie di notazione ungherese?


nel complesso la mia non ha nomi in quanto non ne ha bisogno in WPF
jk.

Risposte:


12

Come dici tu. In generale, la notazione ungherese è una cattiva pratica. Mi piace mantenere i miei nomi il più vicino possibile al dominio, ma a volte quello che stai cercando di dire è che questa è la casella di testo e questa è l'etichetta .

Vedi la risposta di Kramii a un'altra domanda per la sua ragionevole presa sul perché usa ancora l'ungherese in determinate situazioni.

Come per tutto il codice, la coerenza e l'autovalutazione sono fondamentali. Se tu e il tuo team siete d'accordo su come sono etichettati i diversi controlli della GUI e quali elementi necessitano di etichette, starete bene :)


8

In realtà uso la notazione ungherese, solo per i controlli della GUI. Uso qualcosa come lblText, rbGroup1, lvTable ecc. Per etichette, pulsanti di opzione e visualizzazioni elenco.

Non tendono mai a cambiare comunque ed è chiaro quale variabile sia un controllo della GUI e cosa no.

Tuttavia, poiché utilizzo WPF con possibilità di associazione, non è più necessario nominarli, poiché è associato a una proprietà C #.

A proposito, non commettere l'errore di chiamare un controllo lvListViewPersons come vedo di tanto in tanto. Se una variabile è preceduta da lv, puoi vedere che è già una visualizzazione elenco.


3
Sono d'accordo con questo. I controlli della GUI sono l' unico posto in cui la notazione ungherese non è un peccato cardinale (IMO ovviamente)
Wayne Molina,

4

Il nostro team sta usando la notazione ungherese per i controlli della GUI, non per il resto del codice.

Esempio tipico, un'etichetta seguita da una casella di testo:

  • lblFirstName
  • txtFirstName

Inoltre semplifica la ricerca della casella di testo, basta digitare "txt" e intellisense farà il resto.


1

Sto usando la notazione ungherese per gli elementi della GUI. E 'davvero il dolore quando si chiude QtDesigner, aprire Visual Studio e quando si desidera il testo insieme sul pulsante se si dispone di testo nome username, passwordecc Quando si utilizza Qt, non è grosso problema, perché tutti gli elementi della GUI sono avvolti all'interno uioggetto ( ui.username), ma quando utilizzo Windows Forms, la casella di testo denominata nome utente blocca solo lo spazio dei nomi.

In tal caso, txtUsername, btnLogin, lblStatus, ecc, sono le opzioni chiaramente migliori.


1

Evito di usare la notazione ungherese per i controlli della GUI - Eviterei di nominare un controllo come `lblFirstName 'perché non mi interessa davvero che sia un'etichetta - dal punto di vista dell'associazione dei dati è solo qualcosa da associare.

Per i controlli che richiedono un nome, di solito aggiungo il prefisso uxper "esperienza utente". Ciò chiarisce che l'elemento è destinato solo all'utente con cui interagire. Ad esempio il mio modello di vista potrebbe avere una proprietà chiamata FirstNamee la vista potrebbe avere un controllo chiamato uxFirstName. Questo ha l'ulteriore vantaggio che tutti i miei controlli nominati sono ben raggruppati nel mio IDE.


3
Il uxprefisso stesso non è notazione ungherese? Forse l'altro tipo (dimentico i nomi dei due) che indica significato e non tipo, ma comunque una forma di ungherese ;-)
Wayne Molina,

Penso che ti riferisci al apps hungariancontrario systems hungarian. Le app ungheresi non sono considerate dannose quasi quanto i sistemi, ma penso che il significato di'ux 'potrebbe essere di livello troppo alto per essere considerato anche app. Credo che si potrebbe chiamare strato ungherese o qualcosa :)
MattDavey

1

So che la gente non sopporta la notazione ungherese in generale, ma la trovo ancora molto utile in molti posti. Per la GUI uso almeno il prefisso wnd.

Il problema di non usare la notazione ungherese è semplice, una volta che lasci le acque lisce di MSVS, la navigazione fa un tuffo nel naso. Vedi una specie di SomeValue = SomeOtherValuee non hai idea di cosa stia succedendo a meno che non guardi ogni dannata cosa. Tramite grep o una buona vecchia ricerca, che di solito uccide la produttività proprio lì, IDE diversi da QT e MSVS sono davvero pessimi nelle ricerche.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.