Revisão de código: você faz?

No livro “97 things every programmer should know” Mattias Karlsson diz que “Você deve fazer revisão de códigos. Porquê? Porque elas tendem a aumentar a qualidade do código e reduzir o índice de erros”. Pode parecer óbvio, mas você lembra da última vez que revisou seu código?

Melhorando o código.

Revisar seu código é uma excelente forma de melhorar trechos que foram escritos há muito ou até mesmo pouco tempo atrás, há sempre pequenos detalhes que passam desperbecidos no momento em que você estava programando.

Porém o objetivo da revisão não é apenas melhorar ou corrigir o código programado e sim compartilhar ideias e definir um “guia” comum de como programar. Vale ressaltar que a revisão de código não deve ser vista como uma mesa julgadora, é apenas um processo que visa melhorar o sistema como um todo. Seja gentil, os comentários devem ser construtivos.

Vá com calma, fera.

Vá com calma, fera.

Evitando erros

Outra vantagem da revisão de código é detectar trechos que possam vir a causar futuros problemas, um delete sem where, um loop infinito, um objeto não inicializado etc. Uma revisão de código bem feita pode reduzir drasticamente o número de erros além de facilitar o trabalho do tester.

Jesus Cristo, o que é isso?

Jesus Cristo, o que é isso?

Dicas para uma boa revisão de código

No livro, Mattias descreve várias dicas para se fazer uma boa revisão de código:

  • Gaste um dia da semana para fazer uma revisão de código;
  • Escolha pessoas para se especializar em determinado tipo de revisão. Por exemplo, escolha uma pessoa que irá verificar as consultas, outra para exceções, uma terceira para as funcionalidades e assim por diante;
  • Envolva os estagiários ou recém contratados. Pessoas que estão há pouco tempo tendem a ter visões diferentes sobre determinado assunto, trazê-los para revisão pode resultar em novas perspectivas e novas ideias;
  • Revisões podem ser mais rápidas se o time possuir uma ferramenta que faça checagem automática de determinadas convenções de código. Desta forma, a indentação nunca será um assunto a ser discutido durante uma revisão.
Indenta com tab Não, é com espaço

Indenta com tab
Não, é com espaço

Conclusão

A revisão de código pode parecer chata e improdutiva, porém uma ou duas horas gastas por semana pode resultar numa melhora significativa no código escrito e reduzindo o número de possíveis bugs e falhas.

Anúncios

Programar é praticar.

Muitos me perguntam como eu me tornei “fera” (não que eu seja, longe disso) em programação e sempre respondo: praticando.

É muito comum eu ver na faculdade pessoas que acham que ao entrar no curso já se tornarão programadores de verdade, algumas que logo irão se sentir frustradas e trocarão de curso no fim do semestre. É bem verdade que pode haver outras causas, professores que não motivam os alunos ou uma grade curricular fraca (particularmente na faculdade onde estudo eu a considero, sorte que já sabia programar quando ingressei).

frustration-600x450_1-100521350-orig
Pois bem, além de fazer os exercícios e tarefas propostos pelo professor é sempre bom procurar desafios que não são vistos em sala. Você pode procurar por listas de exercícios, procurar sistemas ou algoritmos prontos e analisar seu código fonte (há milhares no github).

gato_guitar

Programar é como tocar violão, praticar muito é essencial.

Na medida em que você vai adquirindo prática e confiança parta para desafios mais complexos. Aprendeu a trabalhar com matrizes? Desenvolva um sudoku ou jogo da velha. Programar jogos (mesmo que seja no console) é uma ótima maneira de utilizar tudo o que você aprendeu.

Por fim, se você está começando agora não desista! Lembre-se que os erros fazem parte do processo e ajudam na sua formação.

Se você quer aprender a programar on-line de forma interativa, existem vários sites que podem te auxiliar:

http://www.codecademy.com/

http://www.codeschool.com/

http://www.khanacademy.org/cs
Abraço e até a próxima.

Informações do tempo com o Open Weather [Exemplo em Python]

Há algum tempo atrás, postei aqui no blog um artigo de como usar a Google Weather API, só que infelizmente esse projeto foi descontinuado. Na busca de uma nova forma de obter essas informações facilmente acabei encontrando o Open Weather.

Open Weather

O Open Weather é um projeto que visa disponibilizar informações do clima de praticamente todas as cidades do planeta, com ele é possível obter informações da temperatura atual, nebulosidade, umidade relativa do ar e até mesmo a hora do nascer e pôr do sol!

Utilizando na minha aplicação

Você pode obter as informações de duas formas: JSON e XML. Para obter os dados basta você efetuar uma requisição conforme abaixo:

Retornando em JSON:

http://api.openweathermap.org/data/2.5/weather?q=Itajai,BR

Retornando em XML:

http://api.openweathermap.org/data/2.5/weather?q=Itajai,BR&mode=xml

Os exemplos acima são por nome e país, mas existem também a possibilidade de se fazer a requisição utilizando a latitude e longitude:

http://api.openweathermap.org/data/2.5/weather?lat=35&lon=139

O Open Weather também possui suporte multi-línguas, para retornar os dados em português basta adicionar na URL a query string &lang=pt

http://api.openweathermap.org/data/2.5/forecast/daily?id=524901&lang=pt

Por padrão, o Open Weather retorna as informações de temperatura em Kelvin, para obter em Celsius basta adicionar na URL a query string units:

http://api.openweathermap.org/data/2.5/forecast/daily?id=524901&units=metric&

Exemplo em Python

Para exemplificar melhor o uso do Open Weather, aqui vai um pequeno script em Python onde leio os dados no formato JSON.


import urllib2 #para efetuar a requisicao
import json #para ler o JSON

data = urllib2.urlopen('http://api.openweathermap.org/data/2.5/weather?q=Itajai,BR&units=metric&lang=pt')
html = data.read()
weather = json.loads(html)
temperatura = str(weather['main']['temp']) + ' graus'
nebulosidade = str(weather['clouds']['all']) + ' %'
umidade = str(weather['main']['humidity']) + ' %'
print "Em Itajai %s. Nebulosidade: %s. Umidade relativa do ar: %s." % (temperatura, nebulosidade, umidade)

Por hoje é só!
Abraço

Rabbit CVS – O Tortoise SVN para Linux

Quem desenvolve no Windows e (ainda) usa o SVN geralmente utiliza o Tortoise SVN, uma excelente ferramenta que agiliza nas tarefas de checkout, update, commit etc. Pois bem, quero usar no Linux mas não tem disponível. E agora? Eis o Rabbit CVS.

Rabbit CVS

Como falei anteriormente, o Rabbit CVS é um software com as mesmas funcionalidades do Tortoise SVN, o seu grande diferencial é que também dá suporte ao Git e Mercurial.

O Rabbit CVS possui integração com os gerenciadores de arquivos Nautilus 3 e Thunar. Também há integração com GEdit que pode ser facilmente instalada via repositório.

Além do Ubuntu, o Rabbit CVS também está disponível em pacotes nativos para outras distros como Fedora, Arch, Open Suse e outras. Além de contar também com a opção de instalar a partir do fonte.

Utilizando o Rabbit CVS com o SVN

Utilizando o Rabbit CVS com o SVN

Instalação

Para instalar o Rabbit CVS no Ubuntu (e derivados) é bem simples, você pode utilizar a PPA oficial do projeto:


sudo add-apt-repository ppa:rabbitvcs/ppa
sudo apt-get update && sudo apt-get update && sudo apt-get install rabbitvcs-nautilus3 rabbitvcs-gedit rabbitvcs-cli

Após a instalação talvez seja necessário reiniciar a sessão para que as alterações tenham efeito.

Rabbit CVS com Git.

Rabbit CVS com Git.

Página oficial: http://rabbitvcs.org/

Por hoje é só.
Abraço.

Tweak para o Elementary OS

Quem está acostumado a usar o Ubuntu, geralmente instala o Ubuntu Tweak para fazer uma alteração ou outra no sistema onde não é possível por vias normais (leia-se configuração do sistema). E para o Elementary OS não poderia ser diferente, eis o Elementary Tweak!

Como no Ubuntu Tweak ou Gnome Tweak, o Elementary Tweak permite alterar temas, ícones, ter acesso a opções avançadas do Plank, arquivos de configuração e até do Slingshot.

Continuar lendo

Coisas que usuários e chefes deveriam saber sobre os profissionais de TI!

1) PROFISSIONAL DE TI dorme.

Pode parecer mentira, mas PROFISSIONAL DE TI precisa dormir como qualquer outra pessoa. Esqueça que ele tem celular e telefone em casa, ligue só para o escritório.

2) PROFISSIONAL DE TI come.
Parece inacreditável, mas é verdade. PROFISSIONAL DE TI também precisa se alimentar e tem hora para isso.

Continuar lendo

Conheça o Fuduntu, uma distro pra quem sente saudades do Gnome 2.

[UPDATE: Infelizmente essa distro foi descontinuada 😦 ]

Quem é que não sente saudades do bom e velho Gnome 2? Pois, é! Na era do Gnome Shell e Unity, muitos fãs do Ubuntu (eu sou um deles) que sentem falta da rapidez e simplicidade do Gnome 2 podem parar de chorar, conheçam o Fuduntu!

O Fuduntu é uma distro focada na rapidez e estética agradável ao usuário. De suas características, as principais são:

  • Rolling release ;
  • Codecs multimídia já inclusos na ISO;
  • Suporta Steam e Netflix;
  • Provê um tempo de duração maior da bateria em notebooks.

O Fuduntu já vem com os seguintes softwares pré-instalados:

  • Chromium;
  • LibreOffice;
  • Thunderbird;
  • Gimp;
  • VLC.

image00 image01 image03

Além destas características, o Fuduntu utiliza como padrão o gerenciador de pacotes YUM (padrão no Fedora / Red Hat).

Baixe em: http://www.fuduntu.org
Testem, vale a pena!

Fontes: http://www.fuduntu.org