Código Limpo — O Código

Rafael Antonio Lucio
rafaelantoniolucio
2 min readDec 27, 2017

--

Alguns podem dizer que a programação deixou de ser uma preocupação e que devemos nos preocupar com modelos e requisitos. Outros até mesmo alegam o fim do código , ou seja, da programação, esta próximo; que logo todo código será gerado e não mais escrito. E que não precisarão mais de programadores, pois as pessoas criarão programas a partir das especificações.

Bobagem! Nunca nos livraremos dos códigos, pois eles representam os detalhes dos requisitos. Em certo nível, não há como ignorar ou abstrair esses detalhes; eles precisam ser especificados. E especificar requisitos detalhadamente de modo que uma máquina possa executá-los é programar — e tal especificação é o código.

Espero que o nível de abstração de nossas linguagens continue a aumentar e que o número de linguagens específicas a um domínio continue crescendo. Isso será bom, mas não acabará com a programação. De fato, todas as especificações escritas nessas linguagens de níveis mais altos e específicas a um domínio serão códigos! Eles precisarão ser minuciosamente exatos e bastante formais e detalhados para que uma máquina possa entendê-los e executá-los.

As pessoas que pensam que o código um dia desaparecerá são como matemáticos que esperam algum dia descobrir uma matemática que não precisa ser formal. Elas esperam que um dia descubramos uma forma de criar máquias que possam fazer o que desejamos em em vez do que mandamos. Tais máquinas terão de ser capazes de nos entender tão bem de modo que possam traduzir exigências vagamente especificadas em programas executáveis perfeitos para satisfazer nossas necessidades.

Isso jamais acontecerá. Nem mesmo os seres humanos, com toda sua intuição e criatividade, têm sido capazes de criar sistemas bem sucedidos a partir das carências confusas de seus clientes. Na verdade, se a matéria sobre especificação de requisitos não nos ensinou nada, é porque os requisitos bem especificados são tão formais quanto os códigos e podem agir como testes executáveis de tais códigos!

Lembre-se de que o código é a linguagem na qual expressamos nossos requisitos. Podemos criar linguagens que sejam mais próximas a eles. Podemos criar ferramentas que nos ajudem a analisar a sintaxe e unir tais requisitos em estruturas formais. Mas jamais eliminaremos a precisão necessária — portanto, sempre haverá código.

Escrito por Robert C. Martin em seu livro “Código Limpo: habilidades práticas do Agile Software”, publicado pela Alta Books Editora — 2011

--

--