Perché le squadre insistono ancora su una politica di stile del codice? [chiuso]

4

Molti team (come Google hanno regole su come dovrebbe essere il codice, incluso come dovrebbe essere fatto il rientro, come molti spazi, in cui l'ordine dovrebbe essere incluso, ecc.

Alcune di queste cose non possono essere automatizzate. Belle. Ma alcuni sicuramente possono.

Tutti gli IDE (principali) al giorno d'oggi supportano il codice di riformattazione.

Perché Google non scrive semplicemente uno script che su git commit o git push, è riformulato nello standard principale di Google e consente a tutti di programmare come vogliono.

Ad esempio, alcuni come due intenti spaziali, alcuni come schede e altri come quattro spazi. Rendi lo "due" standard, (quindi se lavori in vi sei bloccato) ma perché i singoli sviluppatori non possono modificare i loro rientri di layout privati a 6 se lo desiderano?

    
posta Charles Shiller 03.03.2016 - 03:52
fonte

3 risposte

7

Facile, perché una guida di stile (non una guida allo stile) copre molto di più dell'imposizione di 2 o 4 spazi.

Prendi ad esempio il codice google java styleguide .

Sì, ci sono alcuni paragrafi sull'indentazione, ma molti altri argomenti sono trattati.

    
risposta data 03.03.2016 - 11:17
fonte
4

Why doesn't Google just write a script that upon git commit or git push, it re-formated to Google's main standard, and let everyone program how they want.

Perché non importa quanto sia buono un riformattatore, in fin dei conti si tratta di uno strumento stupido e automatizzato, privo di informazioni, intelligenza e creatività. Il risultato finale quando si applica un programma di formattazione a un progetto senza stili di codifica è assolutamente orribile.

Un altro problema è che la riformattazione spesso introduce modifiche artificiali nel repository CM. Supponiamo di aver apportato una piccola modifica a una riga di un file lungo 1000 righe. Supponiamo di aver anche riformattato da un rientro di 2 caratteri a un rientro di 8 caratteri, mantenendo un limite di 80 caratteri. Trovare quale linea hai cambiato non è un compito da poco. git blame dirà che hai cambiato ogni singola riga nel file.

Lo stile di indentazione, in un certo senso, è "roba piccola" e una delle prime regole guida di stile dovrebbe essere la regola "Non ingannare le piccole cose". Questa regola si applica agli autori delle guide di stile e ai programmatori. Gli autori delle guide di stile non dovrebbero creare regole che facciano sudare le piccole cose; le persone rimarranno contro quelle regole e le ignoreranno. (La maggior parte delle guide di stile per la codifica sono piene zeppe di regole che fanno sudare le piccole cose.)

Per quanto riguarda i programmatori, quei programmatori che devono riformattare il codice in base al loro stile personale per comprendere il codice non sono dei buoni programmatori. Un buon programmatore dovrebbe essere in grado di leggere, capire e modificare il codice che è formattato in modo coerente con uno stile ragionevole, e fare a meno di dover cambiare indentazione, parentesi graffe, ecc.

Le mie regole sono state semplici nelle occasioni in cui ero stato il re della collina ed ero in grado di scrivere gli standard per un progetto: coerenza tra i moduli, con stile di indentazione e importo scelto da un ragionevole insieme di opzioni.

    
risposta data 03.03.2016 - 14:15
fonte
2

Penso che il problema riguardi davvero la qualità delle guide di stile. C'era un famoso C ++ che era lungo centinaia di pagine - uno scherzo di curiosità e minuzie che non avrebbe mai aiutato il lavoro di squadra. Ho visto una guida di stile complessa che conteneva tutti i tipi di regole, assolutamente inutile (tranne quando il tizio che ha scritto la guida non ha seguito le sue stesse regole ... è stato divertente).

Ma questo tipo di guide è utile ad un certo punto: il codice dovrebbe almeno provare ad apparire uguale così non ci sono stili strani e meravigliosi che qualcuno introduce perché ne ha voglia (ho visto tutti i tipi di chiamate di funzioni, parentesi qui e lì, rientri 2 spazi, 3 spazi, schede ecc.). Questa mancanza di stile rende difficile la lettura del codice. Provalo qualche volta - la prossima volta che aggiungi una modifica al tuo codice, scegli una larghezza di rientro diversa. Garantisco che non sarai in grado di tracciare i blocchi di codice dopo solo 2 o 3 modifiche.

Personalmente penso che le guide di stile dovrebbero essere "fai come appare il codice al momento" quindi non c'è bisogno di piccole restrizioni e consente eccezioni leggibili alla regola (come sarà sempre presente)

    
risposta data 03.03.2016 - 11:47
fonte

Leggi altre domande sui tag