Todos já fomos, um dia, um novato de desenvolvimento de software. Isto não é vergonha alguma. É natural, e até esperado, que os novatos cometam mais erros com frequência e encontrem mais dificuldades nas atividades diárias de desenvolvimento.
Muitos deles chegam nas empresas vindo de bons colégios técnicos, já sabendo programar em alguma linguagem, normalmente Java. O porém é que conhecer a linguagem de programação não é garantia que aquela pessoa saiba escrever um bom código. Não estou falando que ela vai precisar de anos para aprender isto também. Existe uma série de ações que poderiam ser feitas para/por esta pessoa recém-chegada na empresa, e que não é feito, que alteraria significativamente a qualidade do código escrito por ela.
Mas o que poderia ser feito? Estava eu outro dia na Amazon, olhando alguns comentários sobre um dos melhores livros de desenvolvimento de software já escritos, o Code Complete, livro este que citarei várias vezes neste blog. Foi quando me deparei com este comentário, e este trecho me chamou a atenção:
Sim, é verdade. Há muito conhecimento que poderia ser facilmente passado para um desenvolvedor em início de carreira sem exigir necessidade de experiência para adquirir este conhecimento. Mas o que ocorre com frequência é que ele começa no projeto sem preparo e, dependendo da dinâmica do desenvolvimento, começa a cometer com frequência diversos erros. As consequências alguns já imaginam:
No próximo post, vou falar da equipe e o seu envolvimento na qualidade de código. Até mais!
The most common criticism one hears about this book is that any decent software developer should already know the material covered in it. Ironically enough, this is trueEm uma tradução livre: "A crítica mais comum ouvida sobre este livro é que qualquer desenvolvedor decente de software deveria já saber do conteúdo coberto pelo livro. Ironicamente, isto é verdade".
Sim, é verdade. Há muito conhecimento que poderia ser facilmente passado para um desenvolvedor em início de carreira sem exigir necessidade de experiência para adquirir este conhecimento. Mas o que ocorre com frequência é que ele começa no projeto sem preparo e, dependendo da dinâmica do desenvolvimento, começa a cometer com frequência diversos erros. As consequências alguns já imaginam:
- Código de difícil leitura;
- Nomes ruins para variáveis, métodos, classes, etc;
- Uso de variáveis globais;
- "Reinvenção da roda";
- Necessidade de refatoração posterior;
- Estresse por parte de alguns membros mais experientes da equipe;
- Bugs que poderiam ser facilmente evitados;
No próximo post, vou falar da equipe e o seu envolvimento na qualidade de código. Até mais!