Código “bonito”

Há uns dias vi este video no Channel 9, em que um tal Bob Martin fala sobre fazer código bonito e fácil de ler, e a importância que isso pode ter. A ideia dele é, tal como o entrevistador resume, "As professional developers, we need to write code in a professional way". Ainda não sou professional, mas já sou developer (uhmm..=P) e concordo plenamente com o senhor. Quando estou a programar tento ter alguns cuidados…mas mesmo assim quantas vezes não acontece chegar ao fim do semestre..pegar naquele trabalho que nunca mais ligámos..e "eh pá..o que é que este código fazia mesmo?", "porque é que estava aqui esta variável? e aquele teste?"…pois! A ideia do "isto é só um trabalho da universidade" está muito errada, a meu ver. O tal senhor diz também no video "software design has to be a engineering discipline"; da minha parte não me posso queixar muito, porque me tem sido ensinado como tal, na maioria das vezes. Mas já tenho ouvido alguns relatos do mundo do "trabalho" e penso como é que é possível alguém escrever aquele código…tipo escolher a pior das más hipóteses =\ Ou de outro ponto de vista…"isso tem é que estar pronto a horas..sempre a andar!". Compreendo que os prazos "matam"…mas provavelmente esse mesmo código no futuro ainda dá dores de cabeça porque não foi minimamente cuidado e..lá se vai o tempo ganho antes. Aqui já não falo só de código organizado, mas também minimamente pensado! O Bob Martin defende que vale a pena aguentar prazos se sabemos que o código conseguido é de qualidade…Era bom que mais responsáveis de empresas pensassem assim, para combater o que ele chama de "bad code epidemic". Mas também os programadores devem ter em conta que no futuro alguém (mesmo eles próprios) pode ter de pegar no código que estão a escrever. Um simples comentário pode facilitar a vida a muita gente =P
 
Ele toca ainda noutro ponto: as linguagem oferecem cada vez mais sintaxes expressivas e que podem facilitar bastante a clareza do código. Tenho ideia que muitas vezes as capacidades das linguagens/tecnologias não são aproveitadas; faz parte (ou devia fazer) do desenvolvimento conhecer bem as ferramentas com que se trabalha e isso pode aumentar bastante a qualidade (ou talvez a simplicidade) do código..e até a produtividade (gestão de projectos..alguém? =P).
 
como diziam os outros no rap da FEUP…"incrementa o i um quito, faz um código bonito"
 
 
Nota – gostei do comentário sobre os genéricos: "we could argue about wether or not it is implemented well" =P
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s