In primo luogo un po 'di background: il mio attuale manager di sviluppo sta cogliendo un'altra opportunità alla fine di questa settimana, lasciando il nostro team con quattro sviluppatori a tempo pieno, uno stagista part-time e un web designer (che è tecnicamente parte del Marketing, non AppDev ). Al momento non stiamo promuovendo o assumendo un nuovo manager.
Il precedente manager non si è mai preso il tempo di elaborare una serie di standard di codifica da rispettare (per metterlo in prospettiva: il mio anniversario di un anno in questo lavoro è tra due settimane e ho parlato con lui sugli standard da quando ho iniziato). A causa di questo, tutti noi quattro sviluppatori scriviamo il codice a modo nostro: alcuni di noi seguono le convenzioni di denominazione Microsoft per .NET, alcuni usano la notazione ungherese, alcuni usano un mix (ad esempio mix PascalCase
e camelCase
per i nomi dei parametri) , ed è del tutto casuale quando apri un file di codice quale sarà lo standard che seguirà - l'unica cosa consistente è che le parentesi graffe si trovano su linee separate.
Due dei miei tre colleghi mi hanno contattato per creare un documento standard di codifica che possiamo usare e far rispettare in avanti (anche se tecnicamente non sono lo sviluppatore più anziano, il quarto sviluppatore è qui da diversi anni, due i colleghi di lavoro e lo stagista mi considerano un consiglio / orientamento, ma non abbiamo un team leader). Avevo intenzione di farlo per un po ', ma il manager che partiva ora lo metteva sempre sul backburner; la sua partenza ora ci dà la possibilità di prendere un po 'di tempo e configurare le cose correttamente per facilitare un ambiente software corretto e non il guazzabuglio affrettato che abbiamo attualmente.
Come dovrei fare questo e introdurre questo standard nella mia squadra senza causare attriti? Non voglio far sembrare che sto "rilevando", anche se mi è stata offerta la posizione di manager, l'avrei accettata. Come ho detto due su tre altri sviluppatori sono a bordo con me creando uno, ma il quarto (il vero "senior" in termini di tempo) può o non può accettarlo. Ho in programma di iniziare con le convenzioni .Net di Microsoft (ad esempio non utilizzare la notazione ungherese), aggiungere alcune preferenze personali (ad esempio _camelcase
per i campi) e richiamare in modo specifico alcune strane pratiche che usiamo qui per non essere utilizzate (ad es. una classe con un carattere di sottolineatura all'inizio), ma cos'altro dovrei includere? Non voglio entrare nelle linee guida dell'architettura perché causerà attriti e abbiamo una base di codice molto ampia e maleodorante che non aderirebbe ad essa, e non siamo affatto vicini al punto di venire con una strategia di refactoring.
Per riassumere: oltre le convenzioni di denominazione di base, cosa dovrei includere in un documento di standard di codifica (esempi sarebbero grandi - non sono riuscito a trovare esempi concreti di come dovrebbe essere un documento del genere), e come dovrei presentarlo alla mia squadra senza sembrare il nuovo dittatore.