Existe uma prática padronizada para solicitar atributos em tags HTML?


13

Estou trabalhando em um projeto AngularJS e os atributos são numerosos em muitos dos meus elementos HTML:

  <button type="submit" 
          ng-click="Page.UI.DetailView.ExecuteFunction()" 
          ng-disabled="step5.$invalid" 
          class="btn btn-success pull-right">
      Submit this Product
  </button>

Existe uma convenção padronizada para a ordem desses atributos? Alfabética? Agrupados por significado (por exemplo, todos os atributos angulares juntos)? Atributos HTML padrão ("tipo", por exemplo) primeiro?


6
Não, não há padrão. O W3C diz que a ordem dos atributos não importa. Encontre alguns exemplos de código Angular em algum lugar da Internet ou em um livro Angular e siga as convenções que eles estabeleceram lá; é provável que esteja próximo de "correto", se não estiver realmente "correto".
Robert Harvey

Acho que não. Mas se você olhar para o dom no console, ele é ordenado alfabeticamente.
Abel D

1
Além disso, você pode encontrar muitos conselhos pesquisando no Google "Solicitando atributos em tags HTML".
Robert Harvey

Obrigado AbelD e @RobertHarvey. Na verdade, estou encontrando muitas opiniões via Google, mas esperava que houvesse uma abordagem mais padrão. Obrigado novamente.
Matt Cashatt

1
@AbelD A ordem alfabética dos atributos HTML parece a pior ideia de todos os tempos, para um desenvolvedor.
Alternatex

Respostas:


13

Não existe um padrão. Otimize para facilitar a compreensão e tente ser consistente.

Pessoalmente, acho que também é bom sempre colocar o idatributo em primeiro lugar, para que seja mais fácil para os testadores encontrá-lo.


3
Acho que o mais importante é ser conciso. Se estiver trabalhando em equipe, siga o mesmo padrão pelo motivo acima mencionado. I tendem a manter a type, id/ for, name, class. Se eu estiver usando angular, todos os ng-atributos-irão primeiro. É uma preferência pessoal.
die maus
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.