sexta-feira, 9 de março de 2012

Análise do livro – SQL Antipatterns

Acabei de ler o livro “SQL Antipatterns: Avoiding the Pitfalls of Database Programming” (http://www.amazon.com/SQL-Antipatterns-Programming-Pragmatic-Programmers/dp/1934356557/ref=cm_cr_pr_product_top) e deixo aqui meus comentários...

O livro não aborda uma tecnologia em especial, ele cita diversos recursos do SQL Server, Oracle, DB2, mysql, SQLite e Postgre. Os exemplos são em MySql e PHP, mas simples e não impactam em nada para quem não possui conhecimento destes.

Eu comecei um pouco cético em relação ao livro, principalmente porque não considero alguns antipatterns citados no início e algumas alternativas eram piores do que o antipattern que o autor cita, eu chamaria de brutal antipatterns. Nesse momento o livro tinha no máximo duas ou três estrelas, mas a coisa melhora...

Na parte I (Logical Database Design) o livro começa a mostrar seu valor, abordando cenários divertidos, como Entity-Attribute-Value (EAV), Polymorphic Attributes e metadata tribbles. Alguns anti-padrões são resolvidos com uma modelagem básica e normalização.

Nas partes II (physical database design) e III (query anti-patterns) são onde encontramos os anti-patterns mais básicos e diversas vezes pensei: mas isso é ridículo, um livro nem precisa falar que isso é ruim! Na verdade precisa sim, mesmo havendo cenários com itens grotescos, são anti-padrões, já vimos eles por aí e vamos continuar vendo, então devem ser registrados.
Depois que coloquei o livro contra essa ótica de que anti-pattern é um anti-pattern, a leitura foi mais agradável e diversas vezes o autor consegue ser engraçado, o que faz o livro fluir rapidamente.

A parte IV (application development) fecha o livro com maestria e possui três capítulos que valem o investimento: See no evil, diplomatic Immunity e Magic Beans.
O diplomatic immunity ressalta um problema grave, os desenvolvedores aplicam melhores práticas mas quando chegam no código SQL acham que não é necessário, uma imunidade diplomática. :-) Testes unitários? Controle de versão? Documentação? Comentários? Qual a razão disso? Uma verdade que precisa ser combatida.

Deixei meu primeiro comentário na Amazon (4 estrelas) e concluo:

- Discordo do autor em alguns pontos ao longo do livro, então não aconselho a levar como verdade extrema tudo o que está escrito lá, mas é interessante para uma reflexão de implementações que você já fez ou já encontrou.
- Os iniciantes no mundo SQL podem tirar lições valiosas desse livro, para eles a leitura será um pouco mais lenta.
- Os profissionais mais experientes vão achar alguns capítulos bem simplórios, mas podem tirar mais valor de outros capítulos mais densos.
- O autor cita muitas outras referências que merecem uma leitura, como o fantástico Patterns of Enterprise Application Architecture (PEAA) do Martin Fowler, então ainda deixa gancho para continuar seus estudos.

Não acho que é um livro que você deva sair correndo e comprar, mas é uma leitura rápida e agradável, que pode agregar valor para o profissional e evitar que este cometa alguns erros que podem custar caro.

No momento estou trabalhando em um novo treinamento “Arquitetura de dados e modelagem avançada” e com certeza esse livro vai ajudar a agregar ainda mais valor a este treinamento.

Happy Reading...

[]s
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

Nenhum comentário:

Postar um comentário