quarta-feira, 7 de outubro de 2009

A Arte de Programar

A cada dia que passa, chego a mais conclusões interessantes sobre programação de computadores. Existem “n” fatores, “n” não, trocentos na verdade que determinam se o projeto (o programa em si) vai ser um sucesso ou então se vai ser mais um esquecido no fundo de um disco rígido velho qualquer. Não basta somente saber programa e conhecer uma ferramenta ou linguagem. Tem que possuir um “feeling” para coisa! Eu sempre gostei de uma máxima que li em algum lugar há um bom tempo atrás, na época que trabalhei na Chocolates Garoto como programador: “Programas são desenvolvidos para pessoas e não para computadores!” Essas palavras sempre estiveram (e estão) cravadas em minha mente quando estou desenvolvendo alguma coisa! Não adianta nada se o programa é rápido, funcional e cumpre com o seu objetivo principal se o usuário (aquele cara chato que vai usar o programa) não saber como usá-lo! Não adianta nada você ter um programa muito bom e o usuário precisar de 1 semana ou mais para entender como ele funciona! Pode até dar certo, mas então terá que ter uma equipe só para treinamento e isso pode não ser intere$$ante. O ideal mesmo é aquele programa que o usuário bata o olho e já saiba usá-lo. É muito difícil atingir este patamar, principalmente quando o programa chega a um nível de complexidade (não em uso) e sim nas soluções para os problemas nos quais ele se propõe a resolver. Porém, o que mais vejo por aí são programas excelentes com uma usabilidade e interface péssimos! E agora há pouco cheguei a grande conclusão de que programar é uma arte mesmo! Olhando o programa de um conhecido (via compartilhamento de área de trabalho), pude perceber o quanto o cara é ruím na hora de criar interfaces. Ele é um excelente programador! Vi o código dele e fiquei encantado com algumas rotinas que fez para agilizar alguns processos internos, mas a interface, prefiro não tecer nenhum comentário! Simplesmente não existe. Parece aquelas telas da primeira versão do Windows 95! E olha que eu, que sabia do que se tratava e já conhecia(?) o produto, tive a maior dificuldade para entender o que ele quis dizer com aquele monte de coisa “amontadoada” na tela. Mais uma vez: Programação 10 x 0 Interface! E é por isso que eu perco tanto tempo (perder não, ganho na verdade) criando interface para os meus produtos. Muitas vezes escrevo o código em 30 minutos e levo de 3 a 4 horas criando a telinha. Como virginiano, sou extremamente detalhista com os meus programas. Tudo tem que estar no seu devido lugar e muito bem alinhado, com as cores certas e seguindo o padrão determinado no projeto. Se não puder ser assim, sinceramente, prefiro não fazer! Aqui na empresa, procuro impor a seguinte premissa aos programadores: “Se o programa pode ser bonito e funcional, por que não fazer?” Mesmo que se gaste um pouco mais de tempo para seguir esta filosofia, o resultando final acaba por compensar todo o trabalho! E o prazer então, de ver algo bem feito é muito, mas muito bom mesmo!

Em tempo:

“ Uma interface de usuário é bem projetada quando o programa se comporta exatamente como o usuário pensa que ele se comportaria. “ – Joel On-Software

2 comentários:

Thompson Dias Viana disse...

Poww Didi, meu TCC vai ser todo falando de GUI. Muito interessante esse seus post. Concordo com tudo que vc disse. Programar não é pra qlq um não. Não mesmo!
Um grande abraço!

Unknown disse...

Eu que o diga!! rsrs