Alguns anos atrás, eu me considerava um desenvolvedor web, conhecendo as 3 linguagens básicas (HTML, CSS, JS) e muito PHP. Passar de texto simples para sites reais foi uma dor por causa dos chamados "padrões" existentes no mercado, que na época eram ridiculamente complicados para mim. Tudo se resumia a isso (menos o material relacionado ao IE):
Os padrões existem para substituir as formas antigas de fazer as coisas de uma maneira mais simples. No entanto, ao tentar implementar algumas das coisas (layout totalmente baseado em CSS, por exemplo), demorei 10 vezes mais para fazê-lo, se eu fizesse a solução mais simples e ainda funcionando. Se ficou igual, por que devo usar o exemplo mais complicado, que demora 10 vezes mais e quebra quando você muda de navegador? Isso provocou muitos debates religiosos em ## php, ## css e ## js no IRC de Freenode e, na verdade, me baniu do ## css porque eu mexia com seu mundinho lá.
Minha pergunta: devo seguir todos os padrões e convenções de codificação, mesmo que me levem 10 vezes mais, mas tenham o mesmo resultado que o simples?
Para a tag pesquisa, aqueles de vocês que têm sites de qualquer tamanho (grande ou pequeno), faça você seguir todas as normas?
fonte
Respostas:
Produto primeiro, depois polonês.
Faça com que seu site / aplicativo / jogo faça o que deveria. Coloque-o em funcionamento e faça com que as pessoas se interessem.
Então, quando tiver tempo, volte e aprimore. Mas apenas porque você se importa, não porque mais alguém se importa.
Obviamente, se os problemas de não conformidade significam que as pessoas não podem vê-lo, ou é incrivelmente feio, ou leva um mês para carregar, ou é difícil de manter, ou trava o navegador, esse é um problema grave. Mas ainda seria um grande problema, mesmo se você estivesse em conformidade com os padrões.
Usuários comuns não procuram a fonte de um site que não está carregando e dizem: "Bem, não está exibindo as fotos, mas é totalmente compatível com o W3C". Eles simplesmente navegam para outro site e nunca retornam.
Resumindo, existem padrões para facilitar a navegação dos escritores e fechar possíveis brechas de segurança. Amazon, Penny-Arcade e Stack Overflow não lucram com a execução de um site em conformidade com os padrões. E a menos que você esteja em uma competição de criação de sites, você também não.
fonte
Os escritores de padrões pensaram em coisas que não lhe ocorreram, como preocupações de acessibilidade. Os padrões existem por um motivo. E, com o HTML5, os padrões são bastante fáceis de seguir.
Ocasionalmente, pode haver motivos para não seguir o padrão, mas deve ser o seu comportamento padrão.
fonte
Preguiça não é desculpa para não seguir o padrão. Às vezes, se o padrão é estúpido, essa é uma razão para não segui-lo. Como você sabe quando o padrão é estúpido? Quando você faz um esforço de boa-fé por um período prolongado para seguir todos os padrões relevantes em letra e espírito, e chega a uma conclusão razoável e bem fundamentada de que o padrão em alguns casos de nicho está realmente errado, não você.
Na maioria das vezes, isso não será aplicável.
fonte
Eu diria que 'aderir' aos padrões da melhor maneira possível - mas não perca muito tempo procurando, às vezes você pode criar um HTML / CSS padrão na busca da perfeição dos padrões e ficar no pior estado.
Como exemplo, em um de nossos aplicativos da web, temos uma página para faturamento. A página lista uma longa lista de itens a serem faturados e contém várias colunas. O desenvolvedor original ficou exagerado com a síndrome "Tables are evil" e projetou toda a estrutura da 'table' em CSS.
Bastante impressionante, até que você agora precise adicionar algumas colunas extras ao relatório, observe essas colunas se espalharem por todo o lado, porque você precisa reajustar as configurações de CSS, largura, etc ..... pesadelo.
Se o desenvolvedor não fosse tão perspicaz em seguir os chamados padrões, ele perceberia que, na verdade, uma tabela html normal faria muito mais sentido, afinal a data da fatura é tabular.
Isso me leva ao HTML semântico. Eu acredito que seu HTML deve conter apenas elementos que descrevam 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 nenhuma razão válida para que você não deva colocar o HTML deles através de um validador - desde que você esteja obtendo HTML válido.
fonte
Sua primeira consideração deve ser dar 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 precisávamos suportar era o Firefox 3.5. Isso significava que poderíamos usar as propriedades -moz css sem nos preocupar com a aparência da página em outro navegador. Realmente valeria a pena fazer cantos arredondados pelo longo caminho, só para usarmos o CSS padrão?
Dito isto, ao criar sites para vários navegadores, os padrões geralmente o ajudarão, em vez de atrapalhá-lo. Eu tentaria aderir à maioria dos padrões, mas não perderia o sono se precisasse desviar a compatibilidade do navegador.
Para a enquete, a resposta minha é Não.
fonte
Não siga os padrões cegamente. Alguns padrões são bons, alguns são ruins. Eles servem a vários propósitos e alguns, como os rascunhos do HTML5, servem para impulsionar uma coleção dos grandes fabricantes de navegadores e desenvolvedores da web em uma direção específica que parece ser boa. Mas lembre-se sempre de que existem muitas coisas terríveis que foram padronizadas ...
COBOL também era um padrão.
fonte