Willian Fernandes

Programador Lento x Produtividade x Cultura

Comente »

Hoje li o post do Rafael Lima e me deu vontade de falar sobre o assunto.

Conheço muita gente, incluindo donos de empresas de desenvolvimento, que confudem Programador Rápido com Qualidade/Produtividade. Além disso, essas pessoas costumam achar que quanto mais “Programadores Rápidos” forem contratados, mais rápidos seus projetos serão entregues, mais felizes seus clientes ficarão e mais projetos poderão desenvolver.

Isto é mentira!

Essas pessoas se esquecem que quanto maior a equipe mais complicado fica o gerenciamento[bb], que quanto mais rápido[bb] um programador for mais bug este código terá. Sim, sim, eu também conheço muita gente boa que programa rápido e entrega código com qualidade, mas vamos concordar que infelizmente essa não é a realidade da grande maioria.

Como o Rafael Lima disse, antes de julgar e comparar um programador rápido com um lento, vamos ver se estão fazendo testes, se estão se preocupando com a qualidade antes de entregar o produto. Prefiro entregar um produto bom com alguns dias de atraso do que entregar na data e falhar quando o cliente for usar.

E por falar em testes, essas mesmas pessoas insistem em deixar “5 horas” no final do projeto para a equipe de QA. Pensam, ou fingem pensar, que isso é o bastante para garantir a qualidade do produto e o sucesso do projeto.

Vejo isso todos os dias e só lamento.

Essas pessoas precisam ler mais sobre Getting Real, Gerenciamento de Projetos Ágeis e Gestão de Pessoas.

Concordo com o Rafael quando ele diz que prefere um programador lento do que o “rapidão da turma”.

Ambiente de desenvolvimento Ruby on Rails no Mac OS Snow Leopard

Comente »

Recentemente atualizei meu Mac para o Snow Leopard[bb] e fui logo configurar meu ambiente de desenvolvimento[bb].

Como alguns já sabem, programo em Python[bb], mas atualmente estou afastado da linguagem, utilizando 100% Rails[bb].

Uma das coisas que aproveitei quando resolvi instalar o Snow Leopard[bb] foi formatar todo o HD. Com o tempo fui acumulando alguns lixos, então juntei o útil com o agradável e fiz uma bela faxina.

Outra coisa: meu Vim estava todo bagunçado. Fiz uma cagada nele e estava difícil trabalhar com ele, então estava usando somente o TextMate[bb]. Adoro o TextMate, é um baita editor, mas não é meu Vim[bb]. Com o Vim me sinto mais em casa e não sofro quando preciso programar em uma máquina que não seja meu Mac[bb], afinal, o Vim é free e roda até no Windows[bb] (eca!).

Bom, vamos lá!

O Vim

Para facilitar sua vida, criei um repositório do meu Vim, todo configurado, pronto para uso.

Para instalá-lo, basta fazer o clone:

$ git clone git://github.com/willian/willvim.git

Entre no diretório criado pelo comando acima e execute o comando abaixo:

$ chmod +x install.sh
$ ./install.sh

Os comandos acima baixam os repositórios dos plugins e faz a instalação dos arquivos no seu diretório $HOME/.vim.

ATENÇÃO: Esses comandos não funcionarão no Windows[bb]. Em breve configurarei isso.

MacVim

Gosto de usar o MacVim[bb] (ou o gVim quando estou no Linux), pois tem uma aparência melhor do que o Vim no terminal.

Entre na página de download do MacVim e baixe a versão mais nova. A versão "stable" até a data deste post é a MacVim-7_2-stable-1_2.tbz.

Se você está no Linux[bb] e usa Ubuntu[bb], basta rodar o comando abaixo:

$ sudo apt-get install vim vim-gnome vim-full vim-python vim-rails vim-ruby

Agora basta rodar o comando mvim ou gvim (caso você esteja no Linux) no terminal para abrir o Vim no modo gráfico.

Ruby on Rails

Tanto a linguagem quando o framework já estão instalados no seu Mac, mas precisamos atualizá-los. Na verdade, você pode apenas atualizar o Rails[bb], e é exatamente isso que vou mostrar aqui.

Atualizando o RubyGems

$ sudo gem install rubygems-update

Esse comando instala a nova versão do RubyGems[bb]. Para verificar a versão instalada, rode o comando abaixo:

$ gem -v
1.3.5

Até a data deste post a versão mais nova é a 1.3.5.

Atualizando suas gems

$ sudo gem update

Atualizando o Ruby on Rails

Nesse ponto a versão do Rails já deve estar atualizada, mas caso não esteja, rode o comando abaixo:

$ sudo gem install rails

MySQL

Apesar de poder rodar o Rails com o SQLite[bb], gosto de usar o MySQL[bb] no ambiente de desenvolvimento. Para isso, acesso a página de download do MySQL e busque a versão mais nova. Na data de criação deste post a versão mais nova é a MySQL 5.1.

ATENÇÃO: Só fique atento à arquitetura escolhida. O Snow Leopard[bb] roda com 64bits[bb], então baixe a versão x86_64.

Feito isso, hora de instalar a gem do MySQL:

$ sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

Testando tudo

Vamos criar um aplicação de teste para verificar se o Rails está rodando corretamente, incluindo o MySQL:

$ rails blog -d mysql
$ cd blog/
$ script/generate scaffold Post title:string body:string
$ rake db:create
$ rake db:migrate

Se não aparecer nenhuma mensagem de erro, os procedimentos acima foram executados corretamente e você agora tem um ambiente completo para desenvolver seus aplicativos com Rails.