Review | Javascript The Good Parts

09 January 2015

Sempre que o assunto é Javascript esse livro vem à tona, quase todos consideram um ótimo livro, então estava na lista pra ler e resumir por aqui.

Como o nome já diz, o livro foca nas partes boas da linguagem, que, indo direto ao ponto e segundo o livro são: Syntax, Objetos, Funções, Herança, Arrays, Regular Expressions e Métodos. Durante todo o livro fica clara também a preocupação com o estilo claro de escrita de código e com a preocupação de utilizar as features corretas para evitar problemas futuros, como dificuldades de manutenção do código.



Sobre os capítulos

O livro começa de forma mais subjetiva, com a visão do Douglas Crockford sobre como escrever código. Todos os capítulos começam com uma citação do William Shakespeare que, de alguma forma, se relaciona com o assunto. A primeira por exemplo é: ...setting the attractions of my good parts aside I have no other charms.

O autor fala sobre ser um melhor programador utilizando apenas as partes boas da linguagem e evitando as partes ruins. javascript tem várias partes ruins, principalmente por ter sido criada de forma muito rápida, indo do nada para uma adoção global em um período curtíssimo de tempo.

As partes boas em Javascript incluem function, loose typing e dynamic objects por exemplo. A partes ruins incluem, por exemplo, o modelo baseado em variáveis globais. Cada uma dessas partes boas e ruins é explicada a fundo e com detalhes durante todo livro, incluindo um apêndice exclusivo para as partes ruins, o que é excelente.

O livro também mostra a gramática e estrutura da linguagem em uma série de diagramas. Esse abaixo mostra sobre whitespaces:



O livro fala sempre com exemplo se como fazer algo de uma forma mais correta, evitando problemas como reduzir as chances de interações ruins com outras bibliotecas causadas pelo escopo global. Vai em detalhes também sobre as funções serem objetos e todas as suas formas de invocação (Method, Function, Constructor e Apply) mostrando inclusive alguns erros de implementação da própria linguagem.

O capítulo sobre herança também é bem interessante, falando sobre utilizar para reutilização de código e para especificação de sistemas de tipos, passando pela questão de não existir o cast em linguagens loosely typed. Javascript é uma linguagem com orientação a objetos baseada em protótipos, o que significa que sua herança é diretamente de outros objetos, e aqui uma série de práticas de herança são exemplificadas, como Object Specifiers, Prototypal e Functional.

Por fim...

O livro então assume que Javascript tem uma série de partes ruins e sugere que você saiba como achar alternativas, deixando essas partes de lado. Pra fechar o apêndice Awful Parts fala sobre Global Variables, Scope, Semicolon Insertion, Reserved Words, typeof e outras parte que não são boas e precisam ter cuidados na utilização.

comments powered by Disqus