Mi sono appena unito a un (relativamente) piccolo team di sviluppo che ha lavorato a un progetto per diversi mesi, se non un anno. Come per la maggior parte degli sviluppatori che hanno aderito a un progetto, ho trascorso il mio primo paio di giorni a rivedere il codice di base del progetto.
Il progetto (una linea di applicazioni interne di applicazioni Web di tipo ASP.NET di medie e grandi dimensioni) è, per mancanza di un termine più descrittivo, un disastro. Ci sono tre problemi immediatamente evidenti con gli standard di codifica:
- Lo standard è molto allentato. Descrive di più cosa non fare (non usare la notazione ungherese, ecc.) di ciò che fare fare.
- Lo standard non viene sempre seguito. Esistono incongruenze con la formattazione del codice ovunque .
- Lo standard non segue le linee guida di stile di Microsoft. A mio parere, non c'è alcun valore nel deviare dalle linee guida che sono state stabilite dallo sviluppatore del framework e il più grande contributore alle specifiche del linguaggio.
Per quanto riguarda il punto 3, forse mi disturba di più perché ho avuto il tempo di ottenere il mio MCPD con particolare attenzione alle applicazioni Web (in particolare, ASP.NET). Sono anche l'unico Microsoft Certified Professional del team. A causa di ciò che ho imparato in tutta la mia istruzione scolastica, autodidatta e sul posto di lavoro (compresa la preparazione agli esami di certificazione), ho anche individuato diverse istanze nel codice del progetto in cui le cose non sono semplicemente fatte nel modo migliore.
Sono stato in questa squadra solo per una settimana, ma vedo tanti problemi con il loro codebase che immagino trascorrerò più tempo a combattere con ciò che è già scritto per fare le cose a modo loro. se stavo lavorando a un progetto che, ad esempio, seguiva standard di codifica più accettati, modelli di architettura e migliori pratiche. Questo mi porta alla mia domanda:
Dovrei (e se sì, come faccio) proporre al mio project manager e team lead che il progetto debba essere rinnovato in modo sostanziale?
Non voglio entrare nel loro ufficio, sventolando i miei certificati MCTS e MCPD, dicendo che il codice base del loro progetto è una schifezza. Ma non voglio nemmeno stare zitto e scrivere codice kludgey in cima al loro codice kludgey, perché in realtà voglio scrivere software di qualità e voglio che il prodotto finale sia stabile e facilmente mantenibile .