Qual è la convenzione di denominazione di controllo consigliata per il markup XAML?


10

Quando si lavora con WPF o Silverlight, come si possono usare le convenzioni di denominazione di controllo? Denominate i controlli nel markup XAML? Ho visto esempi di progetti su codeplex con nomi di controllo come "selectButton" o "btnSelect". Cosa raccomanderesti?


1
Qualunque schema tu scelga, sii coerente con la tua applicazione.
ChrisF

Risposte:


8

Microsoft ha pubblicato le linee guida qui sul loro sito web. La linea di fondo è che le convenzioni di denominazione ungherese sono fuori.

MODIFICARE

Per chiarire questo aspetto, Microsoft ha eliminato la notazione ungherese da tutte le convenzioni di denominazione, inclusi gli elementi dell'interfaccia utente. TUTTAVIA, MS non ha documentato alcuna raccomandazione per gli elementi dell'interfaccia utente. Ci sono molti link là fuori che notano questo e offrono i loro suggerimenti, ma la linea di fondo è che con gli elementi dell'interfaccia utente, sei da solo. Link di esempio .

Nel nostro standard abbiamo eliminato la notazione ungherese e stiamo usando la denominazione esplicita, il che significa che un pulsante chiamato OK si chiamerebbe ButtonOK, un blocco di testo chiamato Commenti sarebbe TextblockComments. Il rovescio della medaglia è che i nomi possono diventare lunghi, il positivo è che TUTTI sanno esattamente quale sia l'elemento.

Finché stabilisci ciò che funziona per te e usi questo standard in modo coerente, non puoi sbagliare.


2
Queste sono le linee guida per nominare i membri nelle librerie, non gli elementi dell'interfaccia utente.
Robert Harvey,

@Robert - buon punto. Non avevo notato che la loro linea guida escludesse gli elementi dell'interfaccia utente. Modificherò la mia risposta.
Walter,

4

Di solito non denomino i miei controlli in XAML, come sarebbe, la maggior parte delle volte, inutilizzati considerando che tutto è impostato o controllato attraverso i binding. Fonte: Pete Brown


Lo stesso articolo afferma che dovrai nominare tutti gli elementi di immissione dei dati (caselle di testo, caselle di controllo, combo) in ogni caso, poiché verranno indicati altrove (un archivio di dati, ad esempio). Gli elementi cromati (linee, forme e simili) non devono essere nominati, ed è bello che XAML non ti costringa a farlo.
Robert Harvey,

@Robert Harvey: Dall'articolo: "Controlli dell'interfaccia utente interattiva come TextBox, ListBox, Pulsanti ecc. Puoi scappare senza nominarli se stai usando comandi / comportamenti e un buon modello come MVVM, ma trovo che la denominazione sia utile da un punto di vista della documentazione. Non è assolutamente un requisito, ma utile ". Mentre andavo con MVVM e non dovevo comunicare il mio xaml a un designer per un lavoro misto, non ho trovato alcun uso per questo nome. I miei controlli sono molto semplici, la documentazione fornita da questi nomi sarebbe eccessiva. Ma sono d'accordo che su un'interfaccia utente più complessa, potrebbe essere diverso.
Matthieu,

Uso MVVM e raramente nomina i miei controlli. È abbastanza evidente cosa siano per contesto e con il designer VS. Occasionalmente inserirò un commento in XAML.
M. Dudley,

2

Non conosco XAML ma per le vecchie ASP.NET normali le convenzioni che ho visto sono:

  1. Buon vecchio ungherese (es. TxtFirstName, ddlState, chkAcceptsTerms)
  2. Denominazione esplicita (ad es. TextFirstName, DropdownState, CheckAcceptsTerms)

Non so quale preferisco, onestamente. Ho visto un sacco di codice come il n. 2 ma invertito (ad esempio FirstNameTex, StateDropdown, AcceptsTermsCheck) ma mi piace il contrario poiché raggruppa i controlli correlati.

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.