Funciona mais ou menos assim. São 3 passos básicos, bem simples e fáceis de serem decorados:
- Não gaste muito tempo pensando qual a melhor maneira de implementar algo. Faça o que for mais rápido, só faça funcionar. Não importa como.
- Faça o que for necessário para entregar. E não confunda as coisas, "entregar" não tem nada a ver com qualidade, a regra é passar a bola para frente ou para o futuro.
- Para os bugs que aparecerão, utilize os passos 1 e 2 para tentar minimizar os efeitos.
Existe também uma variação da técnica chamada "Extreme Bug Oriented Programming". Neste caso, no passo 3 você não age no bug imediatamente mas procura alguém para "resolver" por você. Basicamente, aplica-se a regra "passar a bola para frente" ao extremo.
A grande vantagem da Bug Oriented Programming é que ela se adere muito bem a qualquer projeto, em qualquer fase do desenvolvimento.
Apesar de muito atraente e amplamente utilizada, são muito raros - eu particularmente não conheco nenhum - os casos de projetos que aplicaram tal técnica com sucesso do início ao fim, ou por um longo tempo.
Meus alunos tentam muito aplicar essa técnica, e é muito difícil convencê-los de que se você gastar tempo com refatoração pra levar a um código de maior qualidade, na verdade eles estarão economizando tempo no futuro.
ResponderExcluirTive um aluno em particular que toda vez que eu falava o termo "ciclo de vida" ele levantava a mão perguntando se podia ser "codifica-e-remenda". Assim foi durante a graduação inteira.
otimo post Ademir! Bug Oriented Programming casa muito bem com certos tipos de projetos pra ontem
ResponderExcluirDri