Può esserci troppa uniformità negli standard di codifica?

12

Esiste una troppa uniformità? Dove lavoro, naturalmente, abbiamo degli standard che includono convenzioni di denominazione, architetture, strutture da sfruttare ecc. Tuttavia ultimamente c'è stato un sacco di critiche su cose che prenderei in considerazione più stile.

Ad esempio scrivendo if istruzioni in più righe rispetto a una riga, utilizzando il c # ?? operatore null-coalescing invece di dire == null , quantità di spaziatura per rientri ecc.

Mi sembra che questo cominci a diventare più una scelta di stile personale e non ha bisogno di essere uniforme in tutta una squadra o azienda. Ciò che una persona pensa legge più chiaramente un'altra no. C'è qualche valore in questa "extra" uniformità?

    
posta Gratzy 21.01.2011 - 19:50
fonte

5 risposte

16

Uniformity non è un problema (è buono) ma rigidità o inflessibilità può essere. Se nella lotta per l'uniformità diventi dogmatico, il danno che stai facendo alla squadra può essere maggiore del bene derivante dall'uniformità (forse) risultante.

È meglio impostare lo stile di base per le cose più importanti (standard di denominazione e capitalizzazione, rientranza, allineamento di nuove righe e parentesi ecc.), impostare raccomandazioni per cose meno importanti (se formato di istruzione, altri spazi tra parentesi, ecc.), quindi non preoccuparti per il resto.

    
risposta data 21.01.2011 - 19:59
fonte
7

Quando potenzialmente dozzine di persone stanno lavorando a un progetto nel corso degli anni della sua vita, a volte diventa confuso quando devi saltare gli stili. Immagina di leggere un libro in cui diversi capitoli sono scritti da diversi autori che solo un po ' mantengono lo stile di scrittura. È possibile, ma è fastidioso.

La maggior parte degli IDE è in grado di imporre stili in questi giorni, quindi se necessario è possibile distribuire (come parte del codice sorgente del progetto) un file di preferenze IDE che specifica lo stile di codifica scelto e farli installare da tutti e usarlo per formattare il codice stai scrivendo. Scommetto che c'è persino un modo per avere il codice riformattato / disegnato al momento del check-in (anche se non ho ancora dovuto indagare su questo).

    
risposta data 21.01.2011 - 19:53
fonte
3

Un caso di eccessiva uniformità che ho visto è di avere uno standard unico che si applica a tutti i linguaggi di programmazione indipendentemente dall'adeguatezza:

  • Scoraggiare goto anche in lingue come C senza try ... catch .
  • Uso dei nomi di InitialCaps (come in Microsoft MFC e C #) in JavaScript dove la libreria standard è initialLowerCase .
risposta data 22.01.2011 - 18:19
fonte
2

Non penso che esista una troppa uniformità. Tuttavia, trovo spesso troppa specificità negli standard di codifica. I vantaggi di tutti coloro che mettono il tutore di apertura su una linea separata sono discutibili nel migliore dei casi e non superano il tempo speso a discuterne oa correggere problemi estetici nel codice.

    
risposta data 21.01.2011 - 20:00
fonte
2

Avrei 2 argomenti per l'uniformità:

  • Promozione della proprietà collettiva. Che qualcuno possa andare a modificare il codice di qualcun altro senza temere che il "bambino" di qualcuno stia per essere ferito dal cambiamento. Una sorta di mentalità "Siamo tutti in questo insieme".

  • Facilità di aggiunta. Se qualcosa è già stato fatto altrove, questo può essere preso e riutilizzato possibilmente. Alcune convenzioni possono aiutare a rendere le cose più facili da leggere o modificare a volte, quindi questo è un altro vantaggio per la mia mente.

risposta data 21.01.2011 - 20:01
fonte

Leggi altre domande sui tag