Lavoro su una piccola squadra, circa 10 sviluppatori. Non abbiamo standard di codifica. Ci sono alcune cose che sono diventate la norma, ma alcuni modi di fare le cose sono completamente diversi. Il mio grande è indentazione. Alcuni usano schede, alcuni usano spazi, altri usano un numero diverso di spazi, il che crea un enorme problema. Mi capita spesso di avere conflitti quando mi unisco perché qualcuno ha usato il loro IDE in formato auto e usano un carattere diverso da indentare rispetto a me. Non mi interessa quale usiamo, voglio solo che usiamo tutti lo stesso.
Oppure aprirò un file e alcune linee hanno parentesi graffe sulla stessa riga della condizione mentre altre le hanno sulla riga successiva. Di nuovo, non mi importa di quale fintanto che sono tutti uguali.
Ho sollevato la questione degli standard per il mio diretto manager, uno a uno e nelle riunioni di gruppo, e lui non ne è troppo preoccupato (ce ne sono molti altri che condividono la stessa opinione di me stesso). Ho sollevato la mia specifica preoccupazione per i caratteri di indentazione e ha pensato che una soluzione migliore sarebbe stata "creare una specie di script che potesse convertire tutto ciò quando spingiamo / tiriamo dal repository". Sospetto che non voglia cambiare e questa soluzione sembra eccessivamente complicata e soggetta a problemi di manutenzione lungo la strada (inoltre, questo risolve solo una manifestazione di un problema più grande).
Qualcuno di voi si imbatte in una situazione simile al lavoro? Se sì, come hai fatto a gestirlo? Quali sarebbero alcuni buoni punti per aiutare a vendere il mio capo sugli standard? Avviare un movimento di base per creare standard di codifica, tra quelli di noi che sono interessati, sarebbe una buona idea? Sono troppo particolare, dovrei lasciarlo andare?
Grazie a tutti per il vostro tempo.
Nota: Grazie a tutti per l'ottimo feedback finora! Per essere chiari, non voglio dettare uno stile per domarli tutti. Sono disposto a concedere il mio modo preferito di fare qualcosa a favore di ciò che si adatta a tutti il meglio. Voglio coerenza e voglio che questa sia una democrazia. Voglio che sia una decisione di gruppo su cui tutti sono d'accordo. È vero, non tutti otterranno la loro strada, ma spero che tutti saranno abbastanza maturi per scendere a compromessi per il miglioramento del gruppo.
Nota 2: alcune persone vengono coinvolte nei due esempi che ho fornito sopra. Sono più dopo il nocciolo della questione. Si manifesta con molti esempi: convenzioni di denominazione, enormi funzioni che dovrebbero essere suddivise, se qualcosa dovesse andare in un util o servizio, se qualcosa dovesse essere una costante o iniettata, dovremmo tutti usare versioni diverse di una dipendenza o la stessa, dovrebbe l'interfaccia deve essere utilizzata per questo caso, come dovrebbero essere impostati i test unitari, cosa dovrebbe essere testato sull'unità, (specifico per Java) se dovessimo usare annotazioni o configurazioni esterne. Potrei andare avanti.