Allman eller K & R? Det här är Open Mike, en serie diskussionsposter för att kasta katten bland duvorna. Dessa inlägg handlar om dig - vi vill höra era åsikter, idéer och tankar. För att sparka upp saker, låt oss prata om konsoler.
"Cuddling" braces betyder att skriva dem så här:
funktion showCuddlingExample (): void if (example) // gör något annat // gör något annat
Alternativt finns Allman-stil:
funktion showAllmanExample (): void if (example) // gör något annat // gör något annat
Den här Wikipedia-posten visar andra vanliga stilar. Vilket använder du?
Jag gillar Allman eftersom du kan göra det här:
// om (someCondition) doSomething ();
Jag kan enkelt ändra den villkorliga kontrollen genom att helt enkelt kommentera "if" -förklaringen. Om jag knuffade, skulle jag antingen skriva en ny spärr för att ersätta "if", eller kommentera motsvarande stängningsstång.
Jämför alla dessa:
// tight funktion exampleFunction (arg1: int, arg2: String): void
// space före parentes funktion exampleFunction (arg1: int, arg2: String): void
// mellanslag mellan variabel- och typfunktionsexempelFunktion (arg1: int, arg2: String): tomrum
// vadderade parenteser funktion exampleFunction (arg1: int, arg2: String): void
Jag har sett alla dessa, i olika kombinationer. Jag brukade använda "vadderade parenteser", eftersom det verkade lättare att se argumenten och deras typer, men nu föredrar jag "tight". Hur är det med dig?
För mig känns det som "korrekt" att skriva:
om ((villkor1) || (villkor2))
… hellre än:
om (villkor1 || villkor2)
... även om den första tar upp mycket mer utrymme. Parametrarna klargör var separationen ligger. Men är den lilla skillnaden värt det?
En sista sak: tack vare Sergio från www.artua.com för den fantastiska mikrofonikonen!