Åpne Mike Kapitalisering

UpperCamel, eller lowerCamel? Dette er Open Mike, en rekke diskusjonsposter for å kaste katten blant duene. Disse innleggene handler om deg - vi vil høre dine meninger, ideer og tanker. På grunn av den populære etterspørselen inneholder denne Open Mike en meningsmåling som hjelper oss med å analysere mening, så la oss høre hva du må si om store bokstaver.


De tre hovedstilene for kapitalisering

Det er tre vanlige kapitaliseringsstiler som brukes av AS3-programmerere:

  • Uppercamelcase
  • lowerCamelCase
  • ALL_UPPERCASE_WITH_UNDERSCORES

Jeg har sett andre i bruk også:

  • all_lowercase_with_underscores
  • lowercaseprefix_thenCamelCase

... men de første tre er langt den vanligste. Hvilken skal du bruke, og hvor?


Hva bruker du for variabler og Consts?

Nesten alle API og opplæring jeg har sett bruker lowerCamelCase for variabler (noen ganger med et prefiks avhengig av omfanget av varen).

Consts er vanligvis ALL_UPPER_CASE_WITH_UNDERSCORES, selv om dette ikke synes å være så hard og rask regel, av en eller annen grunn.

Hva tror du?




Hva bruker du til funksjoner og metoder?

Hvis du har sett vår Silverlight-serie, har du kanskje lagt merke til at .NET-funksjoner og metoder vanligvis bruker UpperCamelCase, mens i AS3 er det mer vanlig å bruke lowerCamelCase. Jeg aner ikke hvordan eller hvorfor denne splittelsen kom. Noen ideer?

For getter- og setterfunksjoner er det fornuftig å bruke samme type foringsrør som for offentlige variabler. Tross alt, hvorfor gjør det åpenbart at det ikke er en "ekte" eiendom?



Hva bruker du for klassenavn?

UpperCamelCase er det vanlige valget for klassenavn, delvis fordi det gir et enkelt alternativ for navnet på en forekomst av den klassen:

 var textBox: TextBox = ny TextBox ();

Dette forutsetter selvsagt at du bruker lowerCamelCase for variabelnavnene dine.



Hvordan behandler du akronymer?

La oss si at du har en verktøysklasse som konverterer XML til forskjellige formater. La oss også si, for argumentets skyld, at du bruker UpperCamelCase til klassenavnene dine. Hva kaller du klassen?

  • XMLConverter
  • XmlConverter

På samme måte for navnet på en forekomst av denne klassen: myXmlConverter eller myXMLConverter?



Eventuelle unntak?

Tenk på konstruktørfunksjoner: de er funksjoner, men de må bli gitt navnet (og dermed kapitaliseringen) av klassen deres. Med mindre du bruker de samme konvensjonene for å navngi funksjoner og klasser, kommer dette til å bryte en av dine regler. Er det noen andre steder du gjør slike unntak?