Sto lavorando a un'applicazione abbastanza grande e buggy - e a causa del modo in cui è scritto (ti risparmierò i dettagli, ma viola le regole nella maggior parte delle aree a cui puoi pensare), è quasi impossibile svilupparlo senza importanti refactoring.
Una parte significativa dell'app è stata creata da stagisti, n00bs ecc .; ma c'è stato anche un programmatore nel rango di Master Developer, e con tutta umiltà, anche il codice che ha lasciato alle spalle è dubbio, in un modo diverso, ma forse ancora.
Certo, il suo codice tende a portare a termine il lavoro - la maggior parte delle volte - ma è tipicamente criptico, reinventando la ruota (ad es. Un grande metodo personalizzato che esegue un backup db SQL piuttosto ordinario) ecc. Fondamentalmente, inutile confusione più molta ingegnosità
E mi ha fatto pensare che essere un programmatore altamente qualificato (deliberatamente non uso la parola "sviluppatore", supponendo che indichi un insieme più ampio di abilità), se non accompagnato da altre qualità, può effettivamente essere velenoso.
Supponendo che sia vero, alcuni dei motivi che mi vengono in mente sono:
- se stai programmando con facilità, sembra (o in realtà lo è, a breve termine) solo più veloce di estrarre le tue soluzioni sul posto, senza ricorrere a librerie, funzionalità preesistenti ecc.
- se uno ha esperienza sufficiente per mantenere facilmente un'immagine mentale di un programma complesso, è meno propenso a dividerlo in moduli, livelli ecc.
Quindi il mio punto è che se un programmatore fluente sembra essere un cattivo sviluppatore, la loro fluidità non solo non compensa quest'ultimo, ma in realtà fa ancora più danni.
Cosa ne pensi? È vero (fino a che punto se sì)?
I.ThinkOf(this).KindOfThing()