Book Review: Refatorando HTML – Como melhorar o projeto de aplicações web existentes
Por:
Thursday 06 May 2010 às 13:04Categoria: HTML / CSS / JavaScript, Reviews
Já ouviu falar de refatoração? Refatoração é a melhoria gradual de trechos de código sem alterar o comportamento da aplicação web, site, sistema, etc. O objetivo é remover problemas de código antigo e/ou ilegível (difícil de dar manutenção) para código mais moderno, claro e mais fácil de manter e de realizar manutenções evolutivas.
Dentre as razões para refatorar código podemos notar, por exemplo, a melhoria da acessibilidade, otimização de mecanismos de busca, performance, redução do tamanho de arquivos de HTML e CSS, tornar o código mais claro e fácil de dar manutenção, dar suporte a um novo browser, etc. Refatoração se faz necessária quando você precisa evoluir uma aplicação web mas você não tem dinheiro, tempo ou pessoal suficiente para reescrever a aplicação do zero. Estou falando de aplicação web, mas pode muito bem ser um blog, site institucional, etc.
Li recentemente o livro Refatorando HTML – Como melhorar o projeto de aplicações web existentes (Do original Refactoring HTML: Improving the Design of Existing Web Applications, Ano 2010, 360 páginas, ISBN 9788577806317) do autor Elliotte Rusty Harold publicado pela editora Bookman e achei muito bom e tenho algumas considerações.
Refatoração se faz necessária quando você precisa evoluir uma aplicação web mas você não tem dinheiro, tempo ou pessoal suficiente para reescrever a aplicação do zero.
O livro pode ser encarado como guia de consultas rápido ou um livro de estudo com uma abordagem muito curiosa. Ele tem uma abordagem focada em problemas a serem resolvidos e não na teoria. Ao invés de focar em conceitos, o livro pega dezenas de problemas do mundo real que precisam ser resolvidos e traça estratégias de resolução associando aos conceitos necessários.
Essa abordagem faz com que esse livro não seja indicado a iniciantes. Se você quer começar no mundo do desenvolvimento existem livros mais apropriados. Este é um livro para desenvolvedores intermediários e avançados. E acredite, o Refatorando HTML tem muitas abordagens maduras relacionadas a semântica de HTML, acessibilidade, performance, cache, validação etc.
O livro tem uma divisão lógica excelente. Veja abaixo a estrutura de capítulos:
Capítulo 1 – Refatoração: Descreve o que é refatoração e as razões contra e a favor. Uma aula conceitual sobre o assunto.
Capítulo 2 – Ferramentas: Analisa várias ferramentas de desenvolvimento e a contribuição de cada uma no processo de refatoração. São ferramentas de expressão regular, edição de HTML, validação, etc.
Já os capítulos 3 a 8 são divididos respectivamente pelos assuntos Documentos bem formados, Validade, Layout, Acessibilidade, Aplicações web e Conteúdo. E todos esses capítulos seguem a seguinte estrutura de tópicos:
- Descrição / Problema: explica qual é o tipo de problema relacionado ao assunto do capítulo
- Motivação: considerações e defesa sobre o porque é importante refatorar nesse tipo de situação / problema
- Potenciais perdas e ganhos: considerações que não podem ser ignoradas ao refatorar determinado tipo de problema.
- Mecânica: Descrição prática (com exemplos de código) de como resolver o problema descrito.
Enfim, achei o livro excelente e me surpreendeu. No início achei bem chato, pra ser sincero, devido a essa abordagem muito prática. Mas depois que você entende a razão e a organização do livro, percebe que é a abordagem que faz toda a diferença. Vale a pena adquirir principalmente se você trabalha com equipes de desenvolvimento que dão manutenção em aplicações web.
O livro “Refatorando HTML” pode ser adquirido no site da própria Bookman ou no Submarino.

A história mostrou para aqueles vovôs da internet na pele algo que doía muito. Gastar tempo e esforço criando códigos redundantes por causa da indústria dos browsers. As pessoas das gerações seguintes, muitas delas, aderiram ao movimentos dos web standards e começaram a desenvolver de forma criativa seguindo os padrões de HTML e CSS da W3C. Surgia uma nova era.
Desculpe também não atribuir estes avanços aquelas pessoas que bravamente lutaram em seus blogs para divulgar os padrões web (até mesmo porque me coloco nessa lista), mas o Google foi fundamental para este processo. Obviamente o papel dos blogs foi importante. Importante porque eles praticamente são a fonte de estudo da grande maioria dos desenvolvedores. Mas o papel do Google foi o de mostrar na prática (na pele e no bolso) para quem tem dinheiro (empresas e chefes empresários) os benefícios de estar nos primeiros resultados.


O Revolução Etc é o site pessoal do Henrique C. Pereira que trabalha com design de interfaces, planejamento, arquitetura da informação e desenvolvimento para web. Ele escreve aqui sobre várias coisas relacionadas com acessibilidade, web standards, tecnologia, desenvolvimento e o que mais der na telha, além de eventualmente escrever alguma coisa ou outra para o Webinsider. 
