Per molto tempo ho sostenuto che avevano lo stesso valore, o che erano così vicini alla pari che il possibile guadagno facendo la scelta giusta era molto, molto, al di sotto del costo della discussione .
Essere coerenti è importante , comunque. Quindi ho detto di lanciare una moneta e di iniziare a scrivere il codice.
Ho visto programmatori resistere al cambiamento in questo modo prima. Farsene una ragione! Ho cambiato molte volte nella mia carriera. Uso persino stili diversi nel mio C # rispetto a PowerShell.
Qualche anno fa stavo lavorando su un team (~ 20 sviluppatori) che ha deciso di chiedere input, quindi prendere una decisione e quindi applicarlo su tutta la base di codice. Avremmo 1 settimana per decidere.
Molti gemiti e strabilianti. Un sacco di "Mi piace la mia strada, perché è meglio" ma nessuna sostanza.
Mentre stavamo studiando i punti più fini della domanda, qualcuno ha chiesto come affrontare questo problema in stile controvento:
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
Si noti che non è immediatamente ovvio dove finisce l'elenco dei parametri e inizia il corpo. Paragonare a:
void MyFunction(
int parameterOne,
int parameterTwo)
{
int localOne,
int localTwo
}
Abbiamo fatto alcune letture su come le persone in tutto il mondo hanno affrontato questo problema e abbiamo trovato lo schema di aggiungere una riga vuota dopo la parentesi graffa aperta:
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
Se hai intenzione di fare una pausa visiva, puoi anche farlo con un tutore. Quindi anche le interruzioni visive diventano coerenti.
Modifica : due alternative alla soluzione 'extra blank line' quando si usa K&R:
1 / Rientra gli argomenti della funzione in modo diverso dal corpo della funzione
2 / Posiziona il primo argomento sulla stessa riga del nome della funzione e allinea altri argomenti su nuove righe a quel primo argomento
Esempi:
1 /
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
2 /
void MyFunction(int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
/Modificare
Continuo a sostenere che la coerenza è più importante di altre considerazioni, ma se non abbiamo un precedente stabilito , allora la parentesi graffa sulla linea successiva è la strada da percorrere.