Posts de February, 2009

[Emerson Macedo] Assine seus códigos

Tuesday, February 10th, 2009

Quem nunca chegou numa empresa ou projeto, deu de cara com um código horroroso e logo disse: Que droga, quem foi o infeliz que fez esse código tosco? Ou o contrário: Quem foi o cara que fez esse código maneiro?

Essas situações são muito frequentes, principalmente a primeira, com códigos fedorentos. Por isso, eu adoto uma postura: Sempre assino meus códigos.

O que seria assinar o código? Bem, assinar o código é aquela simples documentação que vem logo acima do arquivo, como por exemplo em Java, usando o famoso javadoc:


package xpto;
import x;
/**
* @author Emerson Macedo
*/
public class Abc {
// ...
}

Assinar o código pode parecer meio arrogante mas o objetivo não é esse. O propósito de assinar o código e se expor. Quando você assina alguma coisa, explicitamente está colocando a sua autoria naquilo, ficando sujeito tanto a críticas, quanto a elogios.

Quando algum pintor faz um quadro, ele sempre vem assinado em alguma parte. Dificilmente o autor dessa obra de arte vai terminar esse quadro antes que ele tenha certeza que está com ótima qualidade (pelo menos na visão dele).

E no que isso implica? Isso implica que você (1) vai pensar 2 vezes antes de colocar aquela habitual gambiarra no seu código, (2) vai pensar bem antes de concluir alguma coisa sem devidos testes automatizados e (3) vai ser muito mais responsável com o código que você está desenvolvendo.

Conclusão

Como qualquer desenvolvedor, já desenvolvi códigos ruins em diversos projetos pelos quais passei. Aquele que nunca desenvolveu código fedorento que atire a primeira pedra. Hoje em dia, não desprezo a qualidade daquilo que desenvolvo. Acredito muito que quando assinamos nossos códigos e nos damos conta que outro desenvolvedor/programador irá utiliza-lo futuramente, isso gera um maior cuidado com a qualidade.

[Bernardo Heynemann] Pyccuracy 0.1.0

Monday, February 9th, 2009

First of all I want to say that I’m sorry for the infamous name that I gave this project, but I simple couldn’t resist converting Accuracy to Pyccuracy (watch out for Accuruby, lol). Anyway, the project is here. I got almost a version that could be released,…(read more)

[Bernardo Heynemann] Django Gotchas

Friday, February 6th, 2009

Hey guys, I´m in Python land now! Doing Django development! Thought I’d share some gotchas I got. I’m reading the very good book “The Definitive Guide to Django – Web Development Done Right”, and since it’s a little outdated I got some issues that I thought…(read more)

[Tiago Peczenyj] Literate Programs

Monday, February 2nd, 2009

Descobri uma wiki muito interessante sobre algoritmos, programação e linguagens: Literate Programs

Eles estão abertos a contribuições (em inglês) e utilizam um formato bem interessante para descrever os problemas e soluções: infelizmente não é tão completo quando poderia ser por isso precisa da contribuição de pessoas bem intencionadas como nós. Não é um repositorio de códigos e sim artigos elaborados explicando alguns detalhes interessantes.

Um bom exemplo são as 9 versões de 99 Bottles of Beer, porém vc encontra calculo de numeros primos, fibonacci, quicksort, o interessante exponentiation by squaring e muito mais. Vc encontra implementações em muitas linguagens como C, Java, AWK, Erlang entre outras.

Quem procura coisas mais basicas em linguagens mais populares (Java, C#, ActionScript) como “gravar em arquivo”, “ler xml”, etc, pode procurar no java2s.