Livro Refatoração - Fowler

Adquiri nesta semana este livro do Fowler. Mais um da minha lista que é baseada na ótima lista do blog do Shoes.

Dei uma folheada, pois ainda não acabei o do Braude, e fiquei encantado com as possibilidades de melhoria no código e no pensamento de desenvolvedor.

Blz. Levei o livro para o trabalho e mostrei para um colega que considero de rara inteligência. Ele ficou analisando o livro e no final de quase 30min, tirou os fones de ouvido e sacramentou:

Depois fez uma passagem por alguns capítulos que achou interessante. E a avaliação geral dele foi razoável.

Bem, ainda sinto que meu pensamento na hora de arquitetar as soluções é muito arcaico. Só depois que implemento, vejo que poderia ter usado um polimorfismo, que um laço poderia ser mais eficiente ou que classes ficariam mais claras em certas abordagens ou alguns métodos precisavam ser quebrados, etc. Conclusão, além de não querer pular estes capítulos, meu conceito com relação ao livro aumentou.

Sou fã do Fowler a admiro muito os conceitos que ele expressa e acompanho religiosamente o site que ele mantém.

Gostaria que alguém pudesse dizer alguma coisa com relação a este livro.

E/T. Li no blog do Shoes que o livro Spring In Action não valeria muito a pena. Uma menina do trabalho comprou um exemplar, dei uma olhada rápida e não me pareceu tão ruim. Seria bom ler algumas opniões, já que tenho lido algumas boas resenhas sobre o livro. Estou trabalhando com o Spring pela primeira vez e notei muitos pontos fortes e outros nem tanto. Gostaria de me aprofundar um pouco mais nesse framework.

E/T2. Será que não seria interessante a criação de um fórum para discussão de livros? Se não tiver volume para isso blz, foi só uma idéia.

Abraços

gostaria mto de saber o q significa “muito anos 90” hehehe
e o que ele acha que eh mais “seculo 21” que se contrapoe a refatoracao.

solta, a frase do seu amigo nao faz muito sentido. talvez ele tenha tido um bom motivo para falar isso.

mas eu nao considero refactoring ultrapassado, nem as tecnicas e justificativas que o fowler da para evolucao do codigo. pra mim isso eh bem atual

ah sim e pra mim vc pode eh pular a parte do livro DEPOIS do cap 5 hehehe que eh a parte que ele fica falando de cada refactoring e como fazer.

hj em dia qq IDE (eclipse, netbeans, intellij etc) consegue fazer esses passos pra vc. talvez uma folheada apenas para ver a definicao de cada refatoracao seja suficiente

Cara, pelo que ele disse foi mais no sentido de sair do pensamento estruturado para OO. Como o livro é de 2000, achei até que seria bem natural.

E/T (Para não perder a mania). Parabéns pelo seu artigo na MJ31.

Abraços

mas sair do pensamento estruturado e ir pra OO e coisa do passado?! isso que ele quis dizer?
nada mais “sec 21” que usar OO e usar direito!

ps. valeu :slight_smile:

Eu acho que o que ele tentou dizer era que todo mundo deveria já estar no pensamento OO.

Como ele se formou há algum tempo ele até comentou o seguinte: “Na faculdade já devem estar entrando direto em OO”. E eu disse: “Cara, nos dois primeiros períodos ainda se mostra estruturado com Pascal ou C”.

Certa vez discuti (no bom sentido) com um professor se não seria mais interessante introduzir o aluno, teoricamente cru, direto no pensamento OO. Bem, o resultado desse bate-papo foi que isso confundiria o aluno. Não sai convencido do debate e tinha que voltar para casa. Depois desse dia discutimos mais algumas vezes com o mesmo resultado.

Bem, creio que seja mais um assunto ainda não sacramentado.

Abraços

[quote=Sergio Lopes]ah sim e pra mim vc pode eh pular a parte do livro DEPOIS do cap 5 hehehe que eh a parte que ele fica falando de cada refactoring e como fazer.

hj em dia qq IDE (eclipse, netbeans, intellij etc) consegue fazer esses passos pra vc. talvez uma folheada apenas para ver a definicao de cada refatoracao seja suficiente[/quote]

Foi a sensação que tive também. De ser mais um guia de referência. Mas acho que essa folheada ajuda na hora de arquitetar uma solução.

“Anos 90”.
Se o cara ainda não tinha lido esse livro até o momento --final de 2008–, que na minha op. é uma leitura obrigatória, ele é que deve ter estacionado nos anos 90. (com todo respeito ao seu amigo).

[quote=Java Vinicius Machine]“Anos 90”.
Se o cara ainda não tinha lido esse livro até o momento --final de 2008–, que na minha op. é uma leitura obrigatória, ele é que deve ter estacionado nos anos 90. (com todo respeito ao seu amigo).[/quote]

ele falou que os primeiros 5 capitulos é muito anos 90 , po vcs tão mt mal de interpretação de texto ein, e logicamente oque ele deve ter dito com isto é que todo mundo já sabe programar OO claro isso na cabeça dele já deve ser normal a ponto de achar que todo mundo utiliza os conceitos de OO perfeitamente, oque não é verdade nem de longe.
o livro é muito bom ainda tou só na metade, tambem peguei na lista do shoes assim como o DDD do E. Evans

Shoes deveria começar a ganhar comissão por vendas de livros do Fowler aqui no brasil.

mais o livro do fowler esse de refatoracao, ele é um livro que é usado desde 1999, ja foi usando em doutorados etc…e a tecnica de refactoring é aplicada ate hoje, e no livro de fowler a tecnica é aplicada em linguagens OO ate pq linguagens nao O.O é mais dificil aplicar a tecnica de refatoração como o proprio autor aborda no capitulo 2. Não entendi o que seu colega quis dizer “anos 90”.

O livro é muito bom! porem é um livro diferente nao aquele livro que vc ler todos os capitulos e diz aprendir tal coisa… tera q le-lo varias vezes e em outros momento será um livro de consulta… vai depender da situação… principalmente o capitulo 5 que é o catalogo de refatoracoes que é um capitulo para consultar e nao para “leitura”

Eu estou usando esse livro como referencia principal para minha monografia, claro que existem outros livros sobre refactoring que estou usando tb… porem todos que encontrei sempre estao com referencia a Fowler ja que ele foi o pioneiro em ter uma referencia bibliografica…sobre o tema…

Vc fez uma boa compra!

Ia ganhar uma boa grana, acho que nem o shoes sabe o tamanho da influência que ele já tem aqui no brasil.

[quote=WillyKocher][quote=Java Vinicius Machine]“Anos 90”.
Se o cara ainda não tinha lido esse livro até o momento --final de 2008–, que na minha op. é uma leitura obrigatória, ele é que deve ter estacionado nos anos 90. (com todo respeito ao seu amigo).[/quote]

ele falou que os primeiros 5 capitulos é muito anos 90 , po vcs tão mt mal de interpretação de texto ein
[/quote]

Vcs não… me inclua fora dessa. =)

Ainda não dei um veredicto (apenas tive uma ótima impressão durante a minha folheada) e o tempo que ele ficou detido no texto não cabe uma avaliação sobre a capacidade dele de interpretar.

[quote=WillyKocher]
, e logicamente oque ele deve ter dito com isto é que todo mundo já sabe programar OO claro isso na cabeça dele já deve ser normal a ponto de achar que todo mundo utiliza os conceitos de OO perfeitamente, oque não é verdade nem de longe.
o livro é muito bom ainda tou só na metade, tambem peguei na lista do shoes assim como o DDD do E. Evans[/quote]

Sim. Era exatamente essa a minha avaliação sobre o comentário dele.

Meu pensamento “em termos de objetos”, minha modelagem, está muito longe de ser perfeita e correr atrás dessa perfeição é o meu atual objetivo.

Na minha lista, o livro do Evans estava em posição anterior ao do Fowler. Mas o do Evans está quase 50,00 mais caro.

Ainda confundo conceitos de VO, DTO e os diabo a quatro. Consegui entender bem o conceito de DAO, aí vem o tal do Repository. Daí que num dia chuvoso chega a minha MJ e dou de cara com uma introdução de DDD que o Sergio Lopes escreveu. A linguagem simples na hora de introduzir os conceitos desfez muitas das minhas nuvens, principalmente com relação ao VO. O quadro, na última folha do artigo, conseguiu desfazer a minha confusão entre Repository e DAO. Vamos ver se com essa introdução a anta aqui consegue evoluir nesses conceitos.

Abraços

[quote=LPJava]mais o livro do fowler esse de refatoracao, ele é um livro que é usado desde 1999, ja foi usando em doutorados etc…e a tecnica de refactoring é aplicada ate hoje, e no livro de fowler a tecnica é aplicada em linguagens OO ate pq linguagens nao O.O é mais dificil aplicar a tecnica de refatoração como o proprio autor aborda no capitulo 2. Não entendi o que seu colega quis dizer “anos 90”.

O livro é muito bom! porem é um livro diferente nao aquele livro que vc ler todos os capitulos e diz aprendir tal coisa… tera q le-lo varias vezes e em outros momento será um livro de consulta… vai depender da situação… principalmente o capitulo 5 que é o catalogo de refatoracoes que é um capitulo para consultar e nao para “leitura”

Eu estou usando esse livro como referencia principal para minha monografia, claro que existem outros livros sobre refactoring que estou usando tb… porem todos que encontrei sempre estao com referencia a Fowler ja que ele foi o pioneiro em ter uma referencia bibliografica…sobre o tema…

Vc fez uma boa compra![/quote]

Posso estar enganado, pois esse é o segundo livro do Fowler que adquiro (o primeiro foi Uml Essencial), mas a forma simples e clara como ele aborda conceitos tão nebulosos o faz ser essa referência no assunto.

Abraços.

[quote=WillyKocher][quote=Java Vinicius Machine]“Anos 90”.
Se o cara ainda não tinha lido esse livro até o momento --final de 2008–, que na minha op. é uma leitura obrigatória, ele é que deve ter estacionado nos anos 90. (com todo respeito ao seu amigo).[/quote]

ele falou que os primeiros 5 capitulos é muito anos 90 , po vcs tão mt mal de interpretação de texto ein, e logicamente oque ele deve ter dito com isto é que todo mundo já sabe programar OO claro isso na cabeça dele já deve ser normal a ponto de achar que todo mundo utiliza os conceitos de OO perfeitamente, oque não é verdade nem de longe.
o livro é muito bom ainda tou só na metade, tambem peguei na lista do shoes assim como o DDD do E. Evans[/quote]

Olha, por favor, leia mais atentamente as coisas.
Não interessa se o cara leu os primeiros cinco capítulos, dois ou três. O que interessa e o que está implicito no meu comentário é que, se essa for a primeira vez que o sujeito está folheando o livro, ele está meio atrasado. Entendeu? :roll:

Cara, rolou a maior confusão de mensagens. Agora não sei se o problema de interpretação foi das respostas da mensagem ou do cara que me deu uma resenha relâmpago.

De qualquer forma acho que a sua avaliação continua equivocada quanto ao time correto de se ler um livro. Se um cara tem 18 anos, começou a aprender Lógica de Programação agora, mesmo em 2008, seria aconselhável esse livro como uma das primeiras leituras? Creio que não.

Leio livros de Xadrez, por exemplo, que o autor já até morreu. Comecei tarde? Não sei, talvez eu tenha nascido tarde. Mas o time para cada obra, geralmente, quem sabe é a própria pessoa.

Só mais um exemplo. Quem sabe ele pode ter todos os conceitos do livro no sangue, sem nunca ter lido?

Sim. Dada essa característica de alguns livros, conforme você mesmo observou, o comentário dele não é incoerente?
Eu diria que, considerando OO, o livro do Fowler é o que poderia se considerar, em inglês, “timeless”.

[quote=Java Vinicius Machine]Sim. Dada essa característica de alguns livros, conforme você mesmo observou, o comentário dele não é incoerente?
[/quote]

Cara, sinceramente não vi nada demais no comentário dele. Inclusive se eu continuasse achando que o problema de interpretação era do meu vizinho de baia. Tirando a questão de interpretação, ele entendeu direitinho o que o cara quis dizer. (OO já estar banalizada (=corriqueira) no pensamento geral).

Bingo.