A C# megenged az azonosítók elnevezésénél és a kódod tagolásánál nagyon sok mindent, de a Microsoft, a C# megalkotója extra javaslatokat tesz ezen téren. Ezeket betartva érhető el, hogy a programkód könnyen értelmezhető legyen mindenki számára, aki hozzászokott C# kód olvasásához. Erősen javasolt magunkat tartani ezekhez a javaslatokhoz.
Csak pár ilyen konvenciót veszünk át.
(A lenti kódok mindegyike pontosan ugyanúgy végrehajtható, mint a párja.)
Kód tagolása
- Minden parancsot külön sorba írjunk!
- Minden blokkot külön sorban kezdünk és zárunk
- Minden blokkot egy tabulátorral beljebb írjunk! Ezt akkor is szigorúan tartsuk, ha nem írjuk ki a kapcsos zárójelet!
int a = 5; int b= 6; int c = a + 6; // Így NE! ⛔
int a = 5, b= 6; // Ez még megengedett.
int c = a + 6; // Így szép. 👍
if (variable == 1){ // Így NE! ⛔
Console.WriteLine("Do Something");}
if (variable == 1) // Így szép. 👍
{
Console.WriteLine("Do Something");
}
class MyClass
{
void MyMethod(int n)
{
if (n > 0)
{
for (int i = 0; i < n; i++)
Console.WriteLine(i);
}
}
}
// Így NE! ⛔
class MyClass
{
void MyMethod(int n)
{
if (n > 0)
{
for (int i = 0; i < n; i++)
Console.WriteLine(n);
}
}
}
// Így szép. 👍
Formázni a kódot automatikusan a Ctrl+ K+ D billentyűparanccsal lehet
Az azonosítók (elnevezések) megválasztása
- Minden programozási elemet (osztályt, metódust, változót…) angolul nevezz el!
- Minden programozási elemnek adj olyan nevet, ami jól kommunikálja a funkcióját!
- Az osztályoknak (egyéb típusneveknek) és a metódusoknak NAGY betűvel kezdődő nevet adj!
- Az metódusoknak és Property-knek NAGY betűvel kezdődő nevet adj!
- A változóknak (field-eknek és lokális változóknak egyaránt) KIS betűvel kezdődő nevet adj!
- A privát változók nevét kezd alulvonás ( _ ) karakterrel!
- Minden programozási element, ha több szóból áll tevepúpos módszerrel tagold! (Nincs szóköz. Minden új szó nagy betűvel kezdődik.)
class MyClass // Így szép. 👍
{
int _myPrvateField = 3;
public int myPublicField = 3;
public int MyProperty
{
get { return _myPrvateField; }
set { _myPrvateField = value; }
}
public void MyMethod()
{
int myLocalVariable = 5;
Console.WriteLine(myLocalVariable);
}
}
A csupa nagy kezdőbetűs szóköz nélküli írásmódot camelCase-nak nevezik. 🐪
Az először kis- majd utána csak nagy kezdőbetűs szóköz nélküli írásmódot PascalCase-nak nevezik.
Visual Studio .editorconfig
Javasolt egy .editorconfig fájl használata is, amivel egyszerűbb betartani a fenti szabályokat (és még jóval többet is).
Mellékelem az általam használtat .editorconfig fájlt, ami kifejezetten Unity fejlesztéshez készült:
A fájllal nincs más dolgotok, mint bemásolni a Projekt mappa gyökerébe. (.csproj és .sln kiterjesztésű fájlok mellé.)