Em busca da (feli|simpli)cidade

You can see this post in english too.

Olá!

Escrever e manter um programa deve ser uma tarefa prazerosa. Nada de código complicado, difícil de ser entendido por terráqueos.

Se o entendimento de seu programa necessita de conceitos que vão além dos algoritmos clássicos, use os recursos de comentários de sua linguagem para alertar ao(s) futuro(s) mantenedor(es) sobre o que ele precisa saber para manter o código. Ajuda muito pensar que o próximo mantenedor pode ser outra pessoa. Pense no simples, naquela velha história do KISS (Keep It Simple, Stupid).

Pense na língua portuguesa. Ela possui um dicionário, regras para semântica e sintaxe de sua escrita. Há milhares de recursos para escrever diferentes tipos de texto: narrativas, poesias, dissertações e muitos outros tipos. E cada tipo possui suas regras. Nesta analogia, sua linguagem (PHP, Python, etc.) é a lingua portuguesa. Algoritmos e padrões de projeto (em moda hoje em dia) são seus tipos de texto disponíveis. Cada tipo de texto (algoritmos e padrões de projeto) têm sua aplicação, vai de as conhecermos e além disso, saber aplicá-las no momento certo. Há também a questão da preferência: Evito poesias assim como evito certos algoritmos e padrões.

Responda a si o que é um bom texto. Para mim, um bom texto é direto, bem focado em seu tema, mais ligado a fatos constatáveis do que idéias abstratas. Utiliza palavras simples, as mais simples que consigam expressar o sentido requerido.

Hoje em dia, qualquer código-fonte é escrito quase que da mesma forma com que falamos com alguém. Manipular dados agora desobrigou-nos daqueles loops intermináveis em tabelas que precisavam ser manualmente “lockadas” e “indexadas”. Aplicações agora são orientadas a objeto, precisam estar disponibilizadas na web, no celular, no XBox do filho do patrão, nos smartphones, em telões de 52″.

A interação humano-computador agora é uma disciplina fundamental, fractalizada pela engenharia de software. Aliás, tudo relacionado ao desenvolvimento de um software é fractalizado hoje em dia: podemos complicá-lo a níveis absurdos, desnecessário até. É comum ouvir em “camadas de abstração de dados” em aplicações que nunca trocaram de SGBD em mais de 10 anos (e cujo fornecedor ainda tem contrato por outros 10).

Este é o objetivo deste post: Um pedido a todos os envolvidos num projeto de software para que mantenham as coisas simples, legíveis e explícitas. Tim Peters (guru do Python) já disse isso. Disponha um tempo de sua vida lendo livros de algoritmos e design patterns. Desbloqueie sua criatividade. Toda vez que desenvolver web, pense na acessibilidade de sua aplicação, e ao fazê-lo, atravesse as fonteiras de seu navegador: afinal, o futuro de sua aplicação é imprevisível, e desconhece quando ela será utilizada na tela de um celular ou num telão de 52″. Utilize javascript com muito cuidado (desconfie sempre dele, e se puder, evite-o).

Até!

About Adriano Laranjeira

Software engineer & developer See more at http://about.me/arglbr
This entry was posted in Português and tagged . Bookmark the permalink.

1 Response to Em busca da (feli|simpli)cidade

  1. Pingback: Adriano Laranjeira » Blog Archive » The pursuit of (happy|plain)ness

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 )

Google photo

You are commenting using your Google 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 )

Connecting to %s