Sto lavorando su un'applicazione abbastanza grande e bacata - e per il modo in cui è scritta (ti risparmierò i dettagli, ma viola le regole nella maggior parte delle aree a cui puoi pensare), è quasi impossibile svilupparla senza importante refactoring.
Parte significativa dell'app è stata creata da stagisti, n00bs ecc .; ma c'è stato anche un programmatore nel grado di Master Developer, e con tutta l'umiltà, il codice che ha lasciato è dubbia, in un modo diverso forse, ma ancora.
Certo, il suo codice tende a portare a termine il lavoro - il più delle volte - ma è tipicamente criptico, reinventare la ruota (ad esempio un grande metodo personalizzato che realizza un backup db SQL piuttosto comune) ecc. Fondamentalmente, inutile confusione più lotti di overengineering
E mi ha fatto pensare che essere un programmatore altamente qualificato (io deliberatamente non uso la parola "sviluppatore", supponendo che indichi un insieme più ampio di abilità), se non accompagnato da altre qualità, può effettivamente essere una sorta di velenoso.
Supponendo che sia vero, alcuni dei motivi per cui potrei pensare sono:
- se stai codificando con facilità, ti sembra (o in realtà è, a breve scadenza) solo più veloce per scattare le tue soluzioni sul posto, senza ricorrere alle librerie, funzionalità preesistenti, ecc.
- se uno è esperto abbastanza da mantenere facilmente l'immagine mentale di un programma complesso, uno è meno incline a dividerlo in moduli, livelli ecc.
Quindi il mio punto è che se un codificatore fluente capita di essere uno sviluppatore malvagio, la loro fluidità non solo non compensa il secondo, ma in realtà fa anche più danno.
Cosa ne pensi? È vero (fino a che punto è così?)