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.

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.

Resolvendo problemas na impressão da DANFe – ACBr

Esta semana eu e um colega de trabalho passamos um sufoco com a impressão da DANFe com ACBr e Fast Report. Sempre que chamava o método de visualização do pdf, ocorria o erro:

cdsIdentificacao: Missing dataset provider

 

Na primeira ocasião, o problema estava no formulário que estava sendo criado automaticamente na inicialização do projeto. Até aí tudo bem, mas como a tela seria usada num outro módulo o erro voltou a ocorrer.

O que fazer? Simples, na unit ACBrNFeDANFEFRDM.pas, no componente frxReport carregue o arquivo danfe.fr3 e salve. Refaça um build do projeto e estará tudo ok.

Espero ter ajudado 😉

Organize seu dia com Any.do, um excelente app de TODO List.

Você é como eu que vive esquecendo as coisas que tem a fazer? Ou precisa lembrar diariamente de tomar seu remédio? Existem muitas apps para Android que podem te ajudar a lembrar você na suas tarefas diárias, semanais ou mensais. Porém a melhor de todas que já testei até hoje é a Any.do.

anydo

Disponível no Google Play (na App Store da Apple também), possui integração com Google Chrome através de extensão que permite adicionar e executar tarefas que são sincronizadas nos seus gadgets que possuem o any.do instalado.

Diferente dos outros apps de TODO list que usei, o any.do avisa no horário que você definiu com um sinal sonoro. Há também uma função que em determinada hora do dia (que você configura) ele pede que você “tire um tempo” para organizar suas tarefas do dia.

Baixar pelo Google Play

Aumentado o volume dos seus mp3 com Easy MP3 Gain

Com certeza você já deve ter feito o download de algum mp3 que toca legal no computador mas quando toca no celular/mp3 player/ipod/whatever fica quase inaudível?

Pois bem, para contornar este problema, temos o easy mp3 Gain, que é um frontend do mp3gain – software que é usado para aumentar ou diminuir o volume de seus arquivos mp3.
Continuar lendo

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