Qual é a convenção de nomenclatura de controle recomendada para a marcação XAML?

10

Ao trabalhar com o WPF ou o Silverlight, como usar as convenções de nomenclatura de controle? Você nomeia os controles na marcação XAML? Eu vi exemplos de projetos no codeplex com nomes de controle como "selectButton" ou "btnSelect". O que você recomendaria?

Mamta D
fonte
11
Qualquer que seja o esquema que você escolher - seja consistente em seu aplicativo.
ChrisF

Respostas:

8

A Microsoft tem diretrizes publicadas aqui em seu site. A linha inferior é que as convenções de nomes húngaras estão fora.

EDITAR

Para deixar isso mais claro, a Microsoft retirou a notação húngara de todas as suas convenções de nomenclatura, incluindo elementos da interface do usuário. No entanto, a MS não documentou nenhuma recomendação para elementos da interface do usuário. Existem muitos links por aí que observam isso e oferecem sugestões, mas o ponto principal é que, com os elementos da interface do usuário, você fica por conta própria. Link de exemplo .

Em nosso padrão, eliminamos a notação húngara e estamos usando nomes explícitos, o que significa que um botão chamado OK seria chamado ButtonOK, um bloco de texto chamado Comentários seria TextblockComments. A desvantagem é que os nomes podem ficar longos, o positivo é que TODOS sabem exatamente qual é o elemento.

Contanto que você estabeleça o que funciona para você e use esse padrão de forma consistente, não poderá dar errado.

Walter
fonte
2
Essas são diretrizes para nomear membros em bibliotecas, não elementos da interface do usuário.
Robert Harvey
@ Robert - bom ponto. Eu não tinha notado que suas diretrizes excluíam elementos da interface do usuário. Vou editar minha resposta.
25410 Walter Walter
4

Normalmente, não nomeio meus controles em XAML, pois, na maioria das vezes, eles não são utilizados, considerando que tudo é definido ou controlado por meio de ligações. Fonte: Pete Brown

Matthieu
fonte
O mesmo artigo diz que você precisará nomear todos os seus elementos de entrada de dados (caixas de texto, caixas de seleção, combos) de qualquer maneira, pois eles serão referidos em outro lugar (um repositório de dados, por exemplo). Os elementos cromados (linhas, formas e outros) não precisam ser nomeados, e é bom que o XAML não force você a fazê-lo.
Robert Harvey
@ Robert Harvey: do artigo: "Controles interativos da interface do usuário, como TextBoxes, ListBoxes, Buttons etc. ponto de vista da documentação. Não é um requisito de forma alguma, mas é útil. " Como eu fui com o MVVM, e não tenho que comunicar meu xaml a um designer para o trabalho de mistura, eu não encontrei nenhum uso para esses nomes. Como meus controles são realmente simples, a documentação fornecida por esses nomes seria um exagero. Mas concordo que na interface do usuário mais complexa, pode ser diferente.
Matthieu 25/11
Eu uso o MVVM e raramente nomeio meus controles. É bastante evidente o que eles são por contexto e com o designer do VS. Ocasionalmente, colocarei um comentário no XAML.
M. Dudley
2

Eu não sei sobre o XAML, mas para o ASP.NET antigo, as convenções que eu vi são:

  1. Bom húngaro antigo (por exemplo, txtFirstName, ddlState, chkAcceptsTerms)
  2. Nomeação explícita (por exemplo, TextFirstName, DropdownState, CheckAcceptsTerms)

Não tenho certeza qual eu prefiro, honestamente. Eu costumava ver muitos códigos como o nº 2, mas invertidos (por exemplo, FirstNameTex, StateDropdown, AcceptsTermsCheck), mas gosto da outra maneira, pois agrupa os controles relacionados.

Wayne Molina
fonte