Namngivnings-konventioner


C#


Jag gjorde en liten efterforskning med dels ChatGPT , dels genom att söka på olika källor, och jag fann ingenting oriktigt i min dialog med ChatGPT. Slutsatsen vi kan dra är att man som utvecklare ofta får komma på egna lösningar som stämmer överens med de riktlinjer och rekommendationer som finns

Jag:

 

I Microsofts riktlinjer för namngivning står det "ANVÄND INTE ungersk notation." Kan du ge mig ett exempel på ungersk notation?  

 

ChatGPT:

 

 Absolut! Ungersk notation är en namngivningskonvention där en variabels namn indikerar dess typ eller avsedda användning. Detta var vanligare i språk som inte hade stark typkontroll, eftersom det hjälpte programmerare att hålla reda på variabeltyper. Men moderna utvecklingsmiljöer och språk med stark typkontroll har gjort detta mindre nödvändigt.
 

Exempel på ungersk notation:

 
  • Systemungersk notation: Prefixet indikerar variabelns typ.
  • strName för en strängvariabel som innehåller ett namn
  • intCount för en heltalsvariabel som används för räkning
  • dblPrice för en dubbelvariabel som representerar ett pris
  •  

Varför det är avrått nu:

 
  • Läsbarhet: Det kan göra koden svårare att läsa, särskilt för dem som inte är bekanta med notationen.
  • Typändringar: Om en variabels typ ändras blir namnet vilseledande om det inte också ändras.
  • Överflödighet: Moderna utvecklingsmiljöer kan enkelt visa en variabels typ, vilket gör notationen överflödig.

 

Jag:

"strName för en strängvariabel som innehåller ett namn, intCount för en heltalsvariabel som används för räkning, dblPrice för en dubbelvariabel som representerar ett pris" ... så en knapp som heter "btnStart" bör döpas om till vad?

 

ChatGPT:

I linje med moderna namngivningskonventioner som undviker ungersk notation, kan du byta namn på knappen för att bättre återspegla dess syfte snarare än dess typ. Till exempel, om knappen används för att starta en process, kan du döpa den till StartButton eller helt enkelt Start. Detta gör koden mer läsbar och självförklarande, utan att behöva indikera att det är en knapp genom ett prefix som btn.

 

Här är en jämförelse:

  • Ungersk notation: btnStart
  • Modern namngivning: StartButton eller Start

 

Jag:

Så StartButton är att föredra framför BuStart som föreslogs i en annan chatt med dig?

 

ChatGPT:

Ja, StartButton är generellt att föredra framför BuStart i linje med moderna namngivningskonventioner som prioriterar läsbarhet och beskrivning. Namnet StartButton indikerar tydligt både knappens syfte ("Start") och dess typ ("Button") på ett sätt som är lätt att förstå.

 

Jag:

Så namngivningskonventionen bör vara något i stil med detta med några exempel: StartButton, EndButton, StartDateTimePicker, DownloadProgressBar .. etc?

 

ChatGPT:

Exakt, du har fattat det! Namngivningskonventionen du har skissat—StartButton, EndButton, StartDateTimePicker, DownloadProgressBar—är i linje med moderna bästa praxis. Dessa namn är beskrivande och indikerar tydligt både syftet och typen av kontrollen, vilket gör koden lättare att läsa och underhålla.






Den här sidan designades av 21C: