Como melhorar minhas habilidades de programação
Você precisa de uma estatística que lhe diga o quão bem você está se saindo. Pense nisso como uma conquista em um jogo, como quantos monstros você matou.
Se você tiver uma boa estatística, torna-se um desafio torná-lo melhor.
Uma habilidade de qualidade em codificação é difícil de se obter. Existem métricas de codificação, e elas ajudam alguns se você se concentrar na coisa certa, como a redução da complexidade de suas rotinas. O princípio dos KISS (não se ofenda): Keep It Simple, Stupid!
Utiliza estes, mas eles estão a medir coisas que podem ser medidas. Software de qualidade em código não apenas bom. Ele também faz a coisa certa.
Eu sugeriria o seguinte. Mantenha um log de desenvolvimento. Nele mantenha um registro do que você está fazendo, e as coisas com as quais você está lutando. Apenas que você está lutando. Quando você tiver passado por ele, faça uma breve entrada do que foi e como você passou por ele. Mantenha um registro de bugs. Use excel ou o que quer que seja para acompanhar os bugs que você descobre a cada semana, e os que você resolve a cada semana. Mantenha um gráfico de ambas as figuras e os totais para cada projeto. Boas estatísticas são:
- Poucos bugs pendentes ao final de cada semana
- Poucos novos bugs a cada semana
- É algo que você poderia ter evitado? Se sim, faça um plano para evitá-lo no futuro.
- li>Por acaso foi por lhe faltar informação? Pesquise o tema e faça anotações para o futuro. Se você encontrar bons sites, mantenha-o em um documento organizado para que você possa facilmente encontrá-los novamente.
- É algo que você fez mal e lutou para acertar? Tente entender porque você errou, para que você esteja ciente do risco quando isso acontecer novamente.
Para ilustrar este último ponto, eu tive uma rotina com a qual me esforcei. Foi um emaranhado e o que quer que eu tenha tentado só piorou as coisas. Não era nem muito grande, apenas muito complicado. Depois de dormir sobre ele, percebi que estava resolvendo dois problemas. Estava a criar um objecto e estava a armazená-lo numa estrutura de dados ao mesmo tempo. Quando o decompus em duas rotinas, uma para criar o objeto e outra para atualizar a estrutura de dados, ele funcionou.
Isto sugere meu conselho final. Tente inventar heurísticas e expressá-las como aforismos. Aqui está um dos meus favoritos:
Ao desenhar um programa, pergunte-se "O que é o mesmo? O que é diferente?"