ti-enxame.com

Devo seguir estritamente cada padrão HTML e CSS?

Há alguns anos eu me considerava um desenvolvedor web, conhecendo as 3 linguagens básicas (HTML, CSS, JS) e muito PHP. Mudar de texto simples para sites reais foi uma dor por causa dos chamados "padrões" por aí, que na época eram ridiculamente complicados para mim. Basicamente, tudo se resumia a isto (menos o IE coisas relacionadas):

Web development in a pie chart

Os padrões existem para substituir as velhas maneiras de fazer as coisas de uma maneira mais simples. No entanto, ao tentar realmente implementar algumas das coisas (layout totalmente baseado em CSS, por exemplo), levei 10 vezes mais tempo para realmente fazer isso do que se eu fizesse a solução mais simples e ainda funcional. Se renderizar da mesma forma, por que devo usar o exemplo mais complicado que leva 10 vezes mais tempo e se interrompe quando você muda de navegador? Isso gerou muitos debates religiosos longos em ## php, ## css e ## js em Freenode IRC e na verdade me baniu do ## css porque eu baguncei o mundinho deles lá.

Minha pergunta: Devo seguir todos os padrões e convenções de codificação, mesmo que demorem 10 vezes mais, mas obtenham o mesmo resultado que o simples?


Para a tag de enquete, aqueles de vocês que têm sites de qualquer tamanho (grande ou pequeno), você segue todos os padrões?

11
TheLQ

Os redatores de padrões pensaram em coisas que não ocorreram a você, como questões de acessibilidade. Os padrões existem por uma razão. E, com HTML5, os padrões são bastante fáceis de seguir.

Pode haver, ocasionalmente, razão para não seguir o padrão, mas segui-lo deve ser seu comportamento padrão.

12
TRiG

Primeiro o produto, depois o polimento.

Faça seu site/aplicativo/jogo fazer o que deve fazer. Coloque-o em funcionamento e faça com que as pessoas se interessem.

Então, quando você tiver tempo, volte e dê um polimento. Mas apenas porque você se preocupa, não porque alguém mais se importa.

Obviamente, se os problemas de não conformidade significarem que as pessoas não podem visualizá-lo, ou se ele é terrivelmente feio, ou leva um mês para carregar, ou é difícil de manter, ou travar o navegador, este é um grande problema. Mas ainda seria um grande problema, mesmo se você fosse compatível com os padrões.

Os usuários comuns não procuram na origem um site que não está carregando e dizem: "Bem, não está exibindo as imagens, mas é totalmente compatível com W3C". Eles simplesmente navegam para outro site e nunca mais retornam.

Resumindo, os padrões existem para facilitar a escrita de navegadores e para fechar potenciais brechas de segurança. Amazon, Penny-Arcade e Stack Overflow não ganham dinheiro executando um site compatível com os padrões. E a menos que você esteja em uma competição de redação de sites, você também não vai.

12
deworde

A preguiça não é desculpa para não seguir o padrão. Às vezes, se o padrão for estúpido, esse é um motivo para não segui-lo. Como você sabe quando o padrão é estúpido? Quando você tem feito um esforço de boa fé por um longo período para seguir todos os padrões relevantes na letra e no espírito e você chega a uma conclusão razoável e bem fundamentada de que o padrão em algum nicho é realmente o culpado, não vocês.

Na maioria das vezes, isso não será aplicável.

7
Tom Morris

Eu diria que 'adere' aos padrões da melhor maneira possível - mas não perca muito tempo criticando, às vezes você pode projetar um HTML/CSS padrão em busca da perfeição dos padrões e ficar no pior estado.

Como exemplo, em um de nossos aplicativos web temos uma página de faturamento. A página lista uma longa lista de itens a serem faturados e contém várias colunas. O desenvolvedor original exagerou tanto com a síndrome "Tables are evil" que projetou toda a estrutura de 'table' em CSS.

Muito impressionante, até que você precise adicionar algumas colunas extras ao relatório, observe essas colunas se espalharem porque você precisa reajustar as configurações de CSS, largura, etc ... pesadelo.

Se o desenvolvedor não fosse tão severo em seguir os chamados padrões até o limite, ele teria percebido que, na verdade, uma tabela html regular faria muito mais sentido, pois a data da fatura é, afinal, tabular.

Isso me leva ao HTML semântico. Eu acredito que seu HTML deve conter apenas elementos que descrevem sua página. Os estilos devem ser armazenados em CSS e, na pior das hipóteses, inseridos no atributo 'Estilo' da tag HTML, quando aplicável.

Também não vejo razão válida para não colocar o HTML em um validador - desde que você esteja obtendo um HTML válido, você está praticamente lá.

5
Dal

Sua primeira consideração deve ser oferecer suporte aos navegadores que seus clientes usam. Em segundo lugar, você deve aderir aos padrões quando aplicável.

Por exemplo, em um projeto recente, o único navegador que tínhamos para oferecer suporte era o Firefox 3.5. Isso significava que podíamos usar as propriedades css -moz sem nos preocupar com a aparência da página em outro navegador. Realmente teria valido a pena fazer cantos arredondados no caminho longo, só para usar o CSS padrão?

Dito isso, ao criar sites para vários navegadores, os padrões geralmente irão ajudá-lo, ao invés de atrapalhar. Eu tentaria seguir a maioria dos padrões, mas não perderia o sono se tivesse que mudar para compatibilidade do navegador.

Para a enquete, minha resposta é não.

3
Lang Sharpe

Não siga os padrões cegamente. Alguns padrões são bons, outros são ruins. Eles servem a vários propósitos e alguns, como os rascunhos do HTML5, servem para empurrar uma coleção dos grandes fabricantes de navegadores e desenvolvedores da web em uma direção específica que parece boa. Mas lembre-se sempre que há muitas coisas terríveis por aí que foram padronizadas ...

COBOL também era um padrão.

0
Kevin Cantu