Com a quantidade de ferramentas e técnicas disponíveis e conhecidas nos dias de hoje, é possível aumentar drásticamente a velocidade com que se programa em qualquer linguagem, seja ela PHP, CSS, HTML ou mesmo jQuery. Em projectos mais pequenos, programar mais rápida ou mais lentamente não vai surtir uma diferença significativamente notável, mas em projectos de maior escala vai efectivamente fazer uma diferença enorme. Como se costuma dizer, tempo é dinheiro, e no final do mês o dinheiro tem de entrar. Seja criativo, se durante a sua carreira enquanto programador conseguir otimizar os seus processos, programando mais rápido e melhor, os seus índices de produtividade irão ser muito melhores. Assim, e como exemplo, enquanto fazia 3 projectos em um mês, melhorando a sua técnica e utilizando certas ferramentas disponíveis, poderá fazer 4 projectos no mesmo espaço de tempo. O que significa isto? Mais produtividade, mais capacidade, a sua reputação irá aumentar e acima de tudo os seus rendimentos irão de certeza melhorar!
1. ZEN CODING

Com Zen Coding é possível combinar o poder e a especificidade dos selectores CSS com HTML. Assim, poderá ver isto:
div#container>div#contents>ul#nav>li*4
Convertido em:
<div id="container">
<div id="contents">
<ul> id="nav">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
</div>
No último ano o Zen Conding ganhou bastante notoriedade e o seu suporte foi extendido a programas como Espresso, Vim, Netbeans, Textmate e Komodo Edit.
Pode baixar o Zen Coding aqui e ver um vídeo explicativo aqui.
2. JANELAS DIVIDIDAS

Para muitos, a experiência de programação usando separadores pode ser a mais adequada, no entanto há sempre quem prefira uma abordagem mais avançada, utilizando janelas divididas. Infelizmente nem todos os editores de código têm esta funcionalidade, mas conhecemos um que o faz de uma forma exímia: Vim. Este editor oferece capacidades sem precedentes, com combinações de janelas: utilizando :sp e :vsp cria novas janelas apartir do modo normal. Além do Vim existem também outros editores de código que têm a capacidade de janelas divididas, como o Coda e o Komodo Edit.
3. INTEGRE A PROGRAMAÇÃO SOCIAL

Nos último anos a ideia de programação social ganhou uma significativa popularidade. Da mesma forma que é divertido partilhar fotografias no Flickr, Picasa e outros, também poderá ser divertido partilhar código. Existem alguns websites para o efeito, como o Snipplr, Github e Forrst, onde poderá não só partilhar os seus trechos de código como também poderá obter ajuda e melhorias nos seus códigos. Como se costuma dizer, 2 cérebros pensam melhor que um. E se forem 20,000+ ?
4. FERRAMENTAS DE GESTÃO DE CÓDIGO

As redes de programação social são fantásticas, mas acabam por nos custar demasiado tempo quando as acedemos para ir buscar código que usamos frequentemente. A solução para minimizar a perda de tempo neste processo, é utilizar uma das várias ferramentas de gestão de código disponíveis, algumas gratuitas e outra não. A aplicação mais recomendada é a Snippets App (Mac OSX), que através de uma combinação de teclas é possível inserir qualquer trecho de código no projecto que estiver a trabalhar. Além disso integra a capacidade de exportar código para o Snipplr, Snipt e Pastie. Como alternativa poderá utilizar o Code Collector Pro ou Snippley.
5. COMO ESCOLHER UM EDITOR APROPRIADO
O ponto chave na edição de código é a escolha do editor. Esta escolha irá ter um enorme efeito na sua velocidade de programação, e infelizmente ainda não se conseguir chegar a um consenso relativamente a este tema, quer seja pela simples questão de que nem toda a gente gosta de programar da mesma maneira quer seja pela variedade de editores existentes no mercado. A sua decisão irá depender essencialmente de alguns itens:
- Quais as linguagens que programa?
- Qual o seu sistema operativo?
- Qual o interface de utilizador que prefere?
- Qual é a sua habilidade em trabalhar em linha de comandos?
Adicionalmente deverá questionar-se a si mesmo:
- Qual a importância da velocidade?
- O editor oferece conteúdos integrados?
- Os atalhos do teclado são fáceis de memorizar?
- As minhas extensões favoritas estão disponíveis para este editor? (Como Zen Coding)
- Prefiro velocidade e não um visual atrativo?
Depois de responder a estas questões irá ter uma base sobre a qual irá escolhe o editor de código mais adequado ao seu estilo.
6. UTILIZE BUNDLES
Editores como TextMate e E Text Editor popularizaram os bundles. Nem todos os editores fornecem os mesmos bundles, e por isso mesmo podem variar imenso de editor para editor. Mas afinal, qual a vantagem de os utilizar?
A vantagem de utilizar bundles prende-se com o facto de que é desnecessário estar sempre a escrever o mesmo pedaço de código, quando se trata de código genérico. Isto poderá ser uma função ou uma estrutura de um qualquer plugin jQuery. Ao evitar escrever sempre estes pedaços, está a poupar imenso tempo. Escrever menos é sempre ótimo para otimizar o seu tempo!
Como exemplo experimente fazer download do Bundle TextMate CodeIgniter em que poderá tirar partido de vários métodos e trechos de código. Com este bundle instalado só precisará de escrever o atalho e clicar na tecla Tab e o código irá ser expandido.
7. UTILIZE LESS.JS

Ferramentas como Less.js ou Scass podem aumentar incrivelmente a sua velocidade de programação. Em termos de comparação, são ambos excelentes. Less.js é particularmente impressionante porque corre 100% no motor Javascript do browser.
Para referência: Less.js
8. UTILIZAR FIREBUG PARA FAZER PROTÓTIPOS

O processo é conhecido: escrever código, ir ao browser e actualizar, ver os erros, voltar ao editor para corrigir, ir ao browser e actualizar, e assim continua. Embora todos o façamos, existem outras maneiras de lidar com isto, e é assim que surgem os protótipos, neste caso utilizando Firebug. Trabalhando directamente no browser poupa imenso tempo e trabalho. Dave Ward tem um vídeo explicativo muito bom que poderá visualizar aqui .
QUAIS OS SEUS MÉTODOS DE PROGRAMAÇÃO?
Gostaria de partilhar os seus métodos de programação, que lhe permitem programar de forma mais rápida e eficiente? Partilhe com a comunidade de criativos e conheça a opinião de outros leitores!
Obrigado aos colegas do Nettuts pela inspiração.
Abraço























Tiago Facco
Muito bem lembrado a rotina básica do escrever código e atualizar o browser! rsrs
Um dos métodos listados que adotei a pouco tempo é trabalhar com janelas divididas no editor e outro foi explorar mais o recurso Spaces do Mac para não carregar a tela com tantos aplicativos que dificultam o foco do que se está fazendo.
Como editor eu usava o ZendStudio p/ programar em PHP no windows. Quando migrei para o Mac não gostei de nenhuma das opções e me adaptei a usar o Dreamweaver CS5 que agora possui alguns dos recursos que mais utilizava no Zend como por exemplo os helper das funções do PHP e classes de objetos, métdos e atributos.
A um tempo atrás precisei desenvolver um projeto grande e adotei o framework CakePHP. Gostei tanto que passei a usar ele para aumentar a produtividade em cerca de 70% do código. Um recurso muito interessante dele é o Bake que a partir de uma base de dados definida pode criar um protótipo completo do sistema sem utilizar Scaffold.
Abraços
Diogo Espinha
Olá Tiago Facco, obrigado pela sua contribuição, foi muito útil! Brevemente iremos fazer uma abordagem também do framework Cake PHP, que tanto jeito faz aos programadores.
Agradeço seu comentário, abraço!
André
Parece que o Dreamweaver da Adobe está virando um ‘Windows’, recentemente a grande maioria dos desenvolvedores estão chamando o ‘DREAM’ de lixo…
Recentemente aconteceu algo bem parecido comigo, tive que migrar do ‘eclipse @ linux’ para o dream @ windows e kra, sem brincadeira, amei o cs5, ele deixa as variaveis coloridas e a fonte parece ser + ‘arredondada’ sem falar que ele mostra alguns bugs de string…
Abraços e até mais
Tiago
Bela DICA!!!
Diogo Espinha
Olá Tiago, obrigado pelo seu comentário
Abraço!
Nícholas André
Muito bom, é disso que precisamos e não de uma IDE que faça tudo (errado) pra você!
Algumas já utilizava outras estava em processos de utilizar e algumas aprendi agora!
Parabéns!
Diogo Espinha
Olá Nícholas, muito obrigado pelo seu comentário!
Abraço
Ricardo Fernandes
Olá Diogo Espinha,
Esta área de webdesign é também uma área do meu interesse não estivesse eu tirando uma licenciatura direccionada para a programação.
No entanto não pude deixar de ficar muito espantado com este artigo onde surgiram aqui algumas “ajudas” das quais nunca ouvi falar.
Como não tenho nenhum MAC e utilizo o Windows 7, sabe-me indicar alguma aplicação para Windows que sejam tão boa e façam o mesmo que a Snippets App?!!
Outra questão que não fiquei muito esclarecido, é: “para que serve a less.js?”
Obrigado pelo seu contributo
Ricardo Fernandes
Já agora, como é que vocês se conseguem registar aqui nos sites da escola, de modo a que fique sempre a minha foto e identificação?!!