A origem de todo o mal

Um dos recursos mais simples e práticos do uso de computadores pessoais é o Recortar/Copiar-e-Colar (em inglês, Cut, copy and paste). O conceito foi inventado no Centro de Pesquisas Xerox de Palo Alto (PARC) — celeiro de outras invenções fundamentais da computação moderna, como o mouse — em 1974 por Lawrence Tesler, originalmente para edição de textos.

A funcionalidade é tão essencial e unânime que, junto com o recurso de Desfazer (Undo), as teclas associadas às ações (combinadas a uma tecla de comando como Control) foram adotadas igualmente por todos os sistemas operacionais — começando por Apple no Macintosh/MacOS e Microsoft no DOS/Windows — em seqüência no teclado: Z (desfazer), X (recortar), C (copiar), V (colar).

Com o conceito definido como Área de Transferência (Clipboard), área temporária na memória do computador para onde um conteúdo pode ser recortado (movido) ou copiado, e de lá colado em outra posição ou documento, a ação de recortar/copiar-e-colar torna fácil o processo criativo e produtivo não só de texto, mas dos mais diversos tipos de conteúdo e informação manipulados em computadores.

A operação de recortar-e-colar é uma forma prática de se mover conteúdo de um local para outro.

Já o simples copiar-e-colar dá vazão a algo muito maior: a natureza expansiva da informação, onde o conteúdo criado uma vez deve ser usado, repassado, e reaproveitado, dando alto sentido e valor à informação original. Não é à toa que muitas vezes já escutei a paródia do Princípio de Lavoisier aplicado à tecnologia: “Na informática nada se perde, nada se cria, tudo se copia”.

Copiar conteúdo facilmente é muito útil. Mas o excesso de facilidade rapidamente traz também riscos. Por exemplo, quando o conteúdo em questão é um material com direito autoral, copiar-e-colar sem o devido crédito e autorização pode significar plágio ou outra violação de direitos.

Igualmente grave é o fato de que copiar-e-colar é perfeito para a cópia de conteúdo igual, mas ocorre que muitas vezes se precisa de um conteúdo similar, mas não idêntico. Aí, depois do copiar-e-colar é preciso modificar ou adaptar o que for necessário. E se não for tudo alterado adequadamente, surgem enganos, erros e inconsistências. Quem não sabe citar exemplos de algum conteúdo errado cuja causa foi um copiar-e-colar onde se esqueceu de mudar o que não se aplicava ao conteúdo destino?

Quando analisamos o copiar-e-colar na programação, aí a coisa fica mais séria. Quase sempre o copiar-e-colar de código-fonte é indício de que alguma boa prática de desenvolvimento/programação está sendo negligenciada.

Martin Fowler fala, sabiamente, o óbvio do bom senso em seu livro “Refatoração – Aperfeiçoando o projeto de código existente” (Bookman, 2004, ISBN 85-363-0395-6):

A Regra de Três

Aqui está uma diretriz que Don Roberts me deu: na primeira vez em que faz algo, você apenas faz. Na segunda vez em que faz algo parecido, você estremece diante da duplicação, mas a faz de qualquer forma. Na terceira vez em que faz algo parecido, você refatora.

De fato, se você for copiar um trecho de código, deveria antes de tudo se perguntar: Não seria o caso de encapsular este trecho de código em um método/função e promover o correto reuso? E se você for copiar e modificar um pouco, não seria o caso de fazer uma sobrecarga de método — nas linguagens de programação orientadas a objeto — ou parametrização, tratando a situação que varia?

Da inobservância a esses riscos na prática do copiar-e-colar surgem erros de conteúdo mal reaproveitado e bugs de código mal adaptado. É por isso que costumo brincar que, principalmente no desenvolvimento de software, copiar e colar é “a origem de todo mal”.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *