Confissões de programador

Eu reformato o código dos outros para ler e “entender melhor”. Também renomeio variáveis.

E quando eu renomeio as variáveis para algo mais legível (principalmente variáveis booleanas num if), fico pensando “eu sou um gênio”. Ex.:
if(executouActionComSucesso) { avancarTela(); } é bem melhor do que
if(avancarProximaTela) { avancarTela(); }

Se eu escrevi algo conciso e inteligente, o código é expressivo. Se foi outra pessoa que escreveu, é ilegível.

Se eu escrevi código bagunçado, é porque preferi evitar uma solução over-engineered. Mas eu deixo um comentário assumindo a culpa.

A primeira vez que eu vejo um código de outra pessoa, logo penso é “WTF!!??”. Aí eu refatoro e vejo que minha solução não funciona. Então eu reverto minhas alterações.

Por isso eu acho que um dos comentários mais úteis do mundo é: “Eu tentei do jeito simples e não funcionou por isso, isso e aquilo. Então tive que fazer desse jeito mesmo.”

Uma vez quando eu fiz um switch que não precisava de um break num dos casos, eu pensei: “Uau, finalmente um bom caso para usar esse fall through do switch”. Aí eu percebi que não estava tratando uma situação, e não dava mais para usar o fall through. Revertendo… Isso me lembra o que o Douglas Crockford fala do fall through — simplesmente evite. Certamente se eu fizesse uma linguagem de programação, não copiaria do C essa necessidade de usar break. O caso mais comum deve ser o mais fácil de usar.

Anúncios