📖 Namngivningskonventioner i programmering
Att ge saker namn i kod är lite som att döpa sina husdjur: gör du det slarvigt blir det snabbt kaos. Tänk dig att alla i klassen har en katt som heter Misse – hur ropar man in rätt katt då? 🐈 Namngivningskonventioner är vårt sätt att skapa ordning och förutsägbarhet i koden.
Varför bry sig om namnstilar?
- Läsbarhet: andra (och ditt framtida jag) förstår vad du menade.
- Konsekvens: projektet ser enhetligt ut, även om många kodar.
- Standarder: stora språk och plattformar har officiella rekommendationer.
📋 Vanliga konventioner
| Konvention | Utseende | Typiskt användningsområde | Exempel i C-Sharp |
|---|---|---|---|
| PascalCase | Stor bokstav på varje ord | Klasser, metoder, publika egenskaper, konstanter | public class CustomerOrder { }public void PlaceOrder() { }public const int MaxUsers = 100; |
| camelCase | Första ordet liten bokstav, sedan stor bokstav | Lokala variabler, parametrar, privata fält | int orderCount;string customerName; |
| snake_case | Alla ord små, separerade med _ | Vanligt i databaser, Python, JSON-fält | total_price, customer_id |
| kebab-case | Alla ord små, separerade med - | Filnamn, webbadresser, CSS-klasser | my-style-class, user-profile-page |
| UPPER_CASE | Alla bokstäver stora, _ som separator | Historiskt för konstanter i C/C++. Förekommer ibland i blandade kodbaser. | MAX_USERS, PI |
| HungarianNotation (historisk) | Prefix som talar om typ eller syfte | Förr i VB6/C, används sällan idag | strName, btnSubmit |
🎯 Snabbguide (minnesknep)
- PascalCase → “Pascal är stilig” → allt börjar med stor bokstav.
- camelCase → “kamel med puckel” → börjar lågt, sedan pucklar.
- snake_case → “en orm slingrar sig med streck”.
- kebab-case → “kebabspett med streck mellan bitarna”.
- UPPER_CASE → “skrikstil”, användes mycket förr men inte längre standard i C-Sharp.
🔍 UPPER_CASE – varför dyker det upp?
Många studerande undrar: “Varför skriver vissa MAX_USERS istället för MaxUsers?”
- C/C++ tradition: Förr definierades konstanter med
#define, ochUPPER_CASEgjorde dem lätta att se. - C-Sharp/.NET tradition: Microsoft rekommenderar PascalCase för
constochreadonly, både publika och lokala (Microsoft docs). - Verkligheten: blandade kodbaser innehåller båda stilarna – särskilt om kodare har bakgrund i C/C++ eller JavaScript.
Exempel i C#
// Rekommenderad stil (Microsoft .NET guidelines)
public const int MaxUsers = 100;
public static readonly double Pi = 3.14159;
// Äldre/alternativ stil (inspirerad av C/C++)
public const int MAX_USERS = 100;
public static readonly double PI = 3.14159;
🧩 Övning för studerande
Skriv om följande namn till rätt stil:
| Ursprungligt namn | PascalCase | camelCase | snake_case |
|---|---|---|---|
customer name | CustomerName | customerName | customer_name |
order total | OrderTotal | orderTotal | order_total |
max users | MaxUsers | maxUsers | max_users |
✅ Sammanfattning
- PascalCase för klasser, metoder, properties och konstanter.
- camelCase för variabler och parametrar.
- snake_case i databaser och JSON.
- kebab-case i filnamn, webbadresser, CSS.
- UPPER_CASE lever kvar av historiska skäl – men är inte Microsofts rekommendation i C-Sharp.
👉 Viktigast: Följ teamets stilguide och håll dig konsekvent.
🕰️ En kort historielektion
C (1970-talet)
- Konstanter definierades med
#define. Exempel:
#define MAX_USERS 100- Motivering: “Vi skriker ut värdena så vi inte missar dem!”
- Resultat: ALL_CAPS blev standard.
- Konstanter definierades med
C++ (1980-talet)
- Tog med sig samma vana:
MAX_USERS,PI,BUFFER_SIZE. - Programmerarna var nöjda: “Så har vi alltid gjort!”
- Tog med sig samma vana:
Java (1990-talet)
- Höll fast vid ALL_CAPS för
final statickonstanter. Exempel:
public static final int MAX_USERS = 100;- Kommentar från Java-gänget: “Visst, vi kunde ändra – men nää, vi kör vidare på CAPS.”
- Höll fast vid ALL_CAPS för
C-Sharp (2000-talet)
- Microsoft ville vara lite mer stilrena: “Nu blir det PascalCase för allt publikt!”
Exempel:
public const int MaxUsers = 100; public static readonly double Pi = 3.14159;- Argument: “Varför ska konstanter se ut som om de är arga? Vi vill ha harmoni.”
Verkligheten (idag)
- Resultatet? Kodbaser är blandade.
- Vissa kör
MaxUsers, andra envisas medMAX_USERS. - Eleverna frågar: “Men… vilket är rätt?”
- Lärarens svar: “Det beror på vem som hade kaffet sist när guiden skrevs. Följ den standard som gruppen/företaget kör med bara. When in Rome…” ☕