Prenderò l'opinione controversa e dirò di no, non è necessario uno standard di codifica . O le regole sono, come dici tu, linee guida esecutive IDE, best practice generali che tutti in ogni azienda dovrebbero seguire, o sono chiamate di giudizio caso per caso che dovrebbero essere fatte da più di una persona in un team capace tramite programmazione in coppia o revisioni del codice.
Cose come Come dovremmo chiamare questa variabile? Quali funzionalità linguistiche dovremmo usare? Dovremmo evitare? Qual è il test migliore? È meglio lasciarli senza risposta fino a quando non incontriamo il problema strettamente definito a cui stiamo lavorando in questo momento .
Cristallizzati da queste minime decisioni, possono sorgere standard / modelli informali all'interno dei team, in base all'intersezione con l'attuale dominio problematico e le tecnologie in uso. Codificare questi significa che pensiamo che cose come lo standard di denominazione, il sottoinsieme linguistico appropriato, ecc. Utilizzati su questi progetti, basati su centinaia di micro decisioni e adottati in modo informale da questi team dovrebbero guidare ogni progetto a progredire.
In linea di principio sembra una cosa grandiosa, ma in realtà diventa solo una calamita per la politica. Quali strumenti possiamo costringere tutti a usare? Cosa voglio costringere altre persone a evitare? Se tutti fossero d'accordo su queste domande, non avremmo bisogno di uno standard. Lo faremmo e basta. Nella mia esperienza, gli standard nascono dal desiderio che un sottoinsieme degli sviluppatori eserciti il controllo su un altro sottoinsieme. In genere questo tipo di politica e la politica di polizia che ne segue soffocano solo l'innovazione anziché fornire una guida.
Se vuoi una vera guida , invece di leggere uno standard con un sacco di regole inutili, vai a trovare membri capaci della tua squadra e chiedi loro cosa ne pensano. Da cosa sono stati bruciati? Come ti suggeriscono di scrivere il codice? Riceverai una varietà di risposte utili con molta esperienza preziosa per il backup. Vedrai molte intersezioni basate sull'esperienza comune. Invece della monocoltura applicata dallo standard, vedrai anche molta diversità che può solo aiutarti a vedere molti modi validi per risolvere i problemi.
E quando qualcuno ti dice di non fare qualcosa causa di una regola nello "standard" ma non ha esperienza o backup ragionevole per la sua affermazione, ignorali. Qui lo standard non è servito a nessuno o ha reso nessuno uno sviluppatore migliore.