Sono appena entrato a far parte di un (relativamente) piccolo team di sviluppo che ha lavorato a un progetto per diversi mesi, se non un anno. Come con la maggior parte degli sviluppatori che si uniscono a un progetto, ho trascorso i miei primi due giorni a rivedere la base di codice del progetto.
Il progetto (una linea di business interna ASP.NET WebForms di medie e grandi dimensioni) è, per mancanza di un termine più descrittivo, un disastro. Esistono tre problemi immediatamente evidenti con gli standard di codifica:
- Lo standard è molto lento. Esso descrive più di quello che non lo fanno (non usare la notazione ungherese, ecc ..) per quello che a fare.
- Lo standard non è sempre seguito. Ci sono incoerenze con la formattazione del codice ovunque .
- Lo standard non segue le linee guida di stile di Microsoft. A mio avviso, non ha alcun valore deviare dalle linee guida stabilite dallo sviluppatore del framework e dal maggior collaboratore alla specifica del linguaggio.
Per quanto riguarda il punto 3, forse mi disturba di più perché mi sono preso il tempo per ottenere il mio MCPD focalizzato sulle applicazioni web (in particolare ASP.NET). Sono anche l'unico professionista certificato Microsoft del team. A causa di ciò che ho imparato in tutto il mio apprendimento scolastico, autodidatta e sul posto di lavoro (compresa la mia preparazione per gli esami di certificazione) ho anche individuato diversi casi nel codice del progetto in cui le cose semplicemente non sono fatte nel miglior modo.
Faccio parte di questa squadra da una settimana, ma vedo così tanti problemi con la loro base di codice che immagino che passerò più tempo a combattere con ciò che è già scritto per fare le cose a modo loro di quanto farei se lo fossi lavorando su un progetto che, ad esempio, ha seguito standard di codifica, schemi di architettura e best practice più ampiamente accettati. Questo mi porta alla mia domanda:
Dovrei (e se sì, come devo) proporre al mio project manager e al mio team di condurre la necessità di rinnovare il progetto?
Non voglio entrare nel loro ufficio, agitando i miei certificati MCTS e MCPD, dicendo che la base di codice del loro progetto è una schifezza. Ma non voglio nemmeno tacere e scrivere il codice kludgey sopra il loro codice kludgey, perché in realtà voglio scrivere software di qualità e voglio che il prodotto finale sia stabile e facilmente gestibile.