Effective Programming: More Than Writing Code

1559_thumbComo programador que sou, dedico boa parte do meu tempo escrevendo para um computador e tentando me aperfeiçoar nisto. No entanto, isto não é tudo que se espera de mim como profissional. Grande parte do meu trabalho não está relacionada ao código que escrevo. Por mais que me tornar um escritor de código melhor seja essencial para o meu trabalho, existem outros pontos tão essenciais quanto (ou mais) e é disto que Effective Programming: More Than Writing Code se trata.

Este ebook é um apanhado de posts do famoso blog Coding Horror de Jeff Atwood  — um dos meus blogs favoritos, devo admitir — é comercializado pela hyperink por justos US$ 2,99, e você ainda pode enviar para os amigos de graça no momento da compra! Claro que tudo isso é possível porque a “editora” sabe que você já tem esse conteúdo gratuitamente, mas acredite, só o trabalho de separar e organizar estes posts já vale mais do que o simbólico preço.

O Coding Horror é um blog publicado desde sempre 2004 e embora eu até já conhecesse alguns dos posts no livro, a maioria foi inédita para mim. Eu recomendo muito a leitura, mas se você não estiver planejando comprar, considero os seguintes posts altamente interessantes:

I Repeat: Do Not Listen to Your Users: Muito perceptível no dia-a-dia. Ouvir cegamente seu usuário chega a ser frustrante, mas isto não significa que devemos ignorá-lo.

Listen to Your Community, But Don’t Let Them Tell You What to Do: Sobre como receber o feedback da comunidade ao redor do seu software ou projeto.

Low-Fi Usability Testing: “You don’t know if your application truly works until you’ve performed usability tests on it with actual users.”.

I Pity The Fool Who Doesn’t Write Unit Tests: “Whenever you are tempted to type something into a print statement or a debugger expression, write it as a test instead.”

The Ultimate Unit Test Failure: Seu usuário não liga muito para sua cobertura de testes de 100%.

Meetings: Where Work Goes to Die: Me fez fazer a minha “lição de casa” antes das reuniões do trabalho.

Sharpening the Saw: “Sharpening the saw is shorthand for anything you do that isn’t programming, necessarily, but (theoretically) makes you a better programmer.”

Como o próprio título do livro já diz, eu aprendi mais do que escrever um código melhor.

Anúncios

Pro Javascript Design Patterns

Mais um livro de JavaScript lido. Desta vez foi Pro Javascript Design Patterns de Dustin Diaz e Ross Harmes. Fiquei interessado pelo título logo de cara, não conseguia enxergar como certas convenções populares em  outras linguagens iriam se encaixar no estilo “diferente” do JS.

O livro cumpre bem seu papel de apresentar os Design Patterns de forma fácil e mostrar como é possível adaptá-los ao Javascript. Confesso que resisti bastante às concessões feitas para tornar possível a implementação de alguns conceitos, como namespaces, ainda que seja claro o potencial benéfico que têm.

Embora os exemplos sejam bem enfáticos quanto à separação de responsabilidades, o que já era esperado dado que o intuito é ensinar Design Patterns, fiquei incomodado com o estilo do código-fonte. Boa parte das funções e métodos são bem extensos e sem boa legibilidade. Algumas vezes eu simplesmente desisti de entender o que cada linha de código fazia e deduzi pelo nome do método. Provavelmente, não há algum problema de design neles, mas o jargão do Uncle Bob ecoou na minha cabeça algumas vezes.

Se você já não gosta de JavaScript, por qualquer motivo, provavelmente este livro não vai mudar a sua opinião. Mas, se você já conhece a liguagem, está acostumado a desenvolver tudo o que precisa sem muita orientação a objetos e separação de reponsabilidades, e já percebeu que isto não é suficiente, este livro pode te ajudar muito.

Livros para ler em 2009

Ao ler o post no blog empirical empire com as dicas para ler mais livros por ano, comecei a aplicar alguns dos conselhos listados. Graças a aquele post, e ao meu gosto pela leitura, passei a me organizar melhor e tirar mais proveito dos estudos. Sendo assim, já listei alguns livros que pretendo ler em 2009. São eles os seguintes:

Programming Collective Inteligence: Building Smart Web 2.0 Applications

Li alguns capítulos deste livro, em 2008, porque fazia parte da bibliografia do curso de Inteligência Artificial na faculdade. Fiquei impressionado de ver que aplicações que parecem simples (folksonomia, por exemplo) são completamente baseadas em inteligência artificial.

Programming Python
Em 2006 alguns colegas de serviço começaram a falar para mim sobre Python, não dei muita importância. Hoje estou correndo atrás do tempo perdido. Programming Python é um livro com bastante conteúdo escrito por quem realmente entende do assunto. O livro tem mais de 1200 páginas, ou seja, dá pra se divertir bastante!

Building Scalable Web Sites: Building, scaling, and optimizing the next generation of web applications
Trabalhei em um portal que recebe milhões de visitantes únicos por mês. Neste período, aprendi que o ideal é que o software seja planejado para ser escalável desde o início. Embora eu nunca tenha folheado o livro, tomando por base as avaliações da amazon, parece ser uma leitura excelente.

O Restaurante no Fim do Universo
Nem só de TI vive um homem. Em 2008 li o fantástico O guia do mochileiro das galáxias e agora preciso dar continuidade na série. Aliás, o guia do mochileiro das galáxias e Os mercadores da noite foram os melhores livros que li em 2008.

Com certeza não vou me limitar a ler apenas os livros descritos acima, mas com certeza estarei com eles em mãos em 2009. De qualquer forma, indicações de boas leituras são sempre bem vindas, até porque, nunca se sabe o qual a novidade que pode surgir no decorrer do ano.