Elnevezési konvenciók (programozás)

A programozásban az elnevezési konvenció az azonosítók  elnevezésére vonatkozó szabályok összessége, amelyek változókat , típusokat , függvényeket és egyéb dolgokat reprezentálnak a  forráskódban és  a dokumentációban .

A konvenciók tetszőleges nevek helyett a következő feladatok végrehajtására használhatók:

Az elnevezési konvenciók megválasztása rendkívül vitatott kérdés lehet, mivel mindegyik hívei saját konvenciójukat látják a legjobbnak, mások pedig a legrosszabbnak. A köznyelvben az ilyen megbeszéléseket "holivaroknak" nevezik (az  angol  holy war  - holy war szóból ) [2] . Sok cég köt saját megállapodást [3] [4] [5] [6] [7] [8] .

Lehetséges előnyök

Az elnevezési konvenció elfogadásával elérhető lehetséges előnyök közül néhány:

Az elnevezési konvenciók megválasztása (és azok betartatásának mértéke) gyakran vitatott kérdés, mivel a támogatók a legjobbak, mások pedig a legrosszabb álláspontjukhoz ragaszkodnak. Sőt, még ha vannak is jól ismert és jól meghatározott elnevezési konvenciók, előfordulhat, hogy egyes szervezetek nem tartják be azokat következetesen, ami következetlenségekhez és zavarokhoz vezet. Ezek a problémák súlyosbodhatnak, ha az elnevezési szabályok belsőleg inkonzisztensek, önkényesek, nehezen megjegyezhetőek, vagy más módon inkább megterhelőnek, mint hasznosnak tartják.

Olvashatóság

A jól megválasztott azonosítók megkönnyítik a fejlesztők és elemzők számára, hogy megértsék, mit csinál a rendszer, és hogyan lehet javítani vagy kiterjeszteni a forráskódot az új igényekhez való alkalmazkodás érdekében.

Például bár

a = b*c;

szintaktikailag helyes, célja nem nyilvánvaló. Hasonlítsa össze ezt:

heti_fizetés = ledolgozott_órák * órabér;

ami a forráskód megértését jelenti, legalábbis azok számára, akik ismerik az állítás kontextusát.

Általános elemek

Az elnevezési konvenciók pontos szabályai attól függnek, hogy milyen környezetben használják őket. Van azonban néhány közös elem, amely befolyásolja a legtöbb, ha nem az összes elnevezési konvenciót, amelyet ma általánosan használnak.

Azonosítók hossza

Az összes elnevezési konvenció alapelemei az azonosító hosszára vonatkozó szabályok (vagyis az azonosítóban megengedett különbözõ karakterek véges számával). Egyes szabályok rögzített számszerű korlátot írnak elő, míg mások kevésbé pontos értékeket vagy iránymutatásokat adnak meg.

Az azonosító hosszára vonatkozó szabályokat a gyakorlatban gyakran vitatják, és sok tudományos vita tárgyát képezik.

Néhány szempont:

Nyitott kutatási kérdés, hogy egyes programozók előnyben részesítik-e a rövidebb azonosítókat, mert azokat könnyebb begépelni vagy kitalálni, mint a hosszabb azonosítókat, vagy pedig azért, mert sok esetben egy hosszabb azonosító egyszerűen összezavarja a látható kódot, és semmilyen látható többletelőnnyel nem jár.

A programozás rövidsége részben a következőkkel magyarázható:

Betűk és számok kis- és nagybetűi

Egyes elnevezési konvenciók korlátozzák a betűk kis- és nagybetűs megjelenítését. Más konvenciók nem korlátozzák a kis- és nagybetűket, hanem jól körülhatárolható értelmezést adnak a kis- és nagybetűk alapján. Egyes elnevezési konvenciók meghatározzák, hogy alfabetikus, numerikus vagy alfanumerikus karakterek használhatók-e, és ha igen, milyen sorrendben.

Többszavas azonosítók

Az általános ajánlás a következő: „Használjon értelmes azonosítókat”. Lehet, hogy egy szó nem olyan értelmes vagy specifikus, mint több szó. Ezért egyes elnevezési konvenciók szabályokat határoznak meg az egynél több szót tartalmazó „összetett” azonosítók kezelésére.

Mivel a legtöbb programozási nyelv nem engedélyezi a szóközt az azonosítókban, szükség van egy módszerre az egyes szavak elválasztására (hogy a későbbi olvasók könnyebben értelmezzék, melyik karakter melyik szóhoz tartozik). Történelmileg néhány korai nyelv, nevezetesen a FORTRAN (1955) és az ALGOL (1958), szóközt engedett meg az azonosítókban azáltal, hogy kontextus szerint határozta meg az azonosítók végét. Ezt a későbbi nyelvekben a tokenizálás nehézségei miatt elhagyták . Lehetőség van nevek írására a szavak egyszerű összefűzésével, és ezt néha használják is, mint például a mypackageJava csomagnevekben [9] , bár az olvashatóság a hosszabb kifejezéseknél szenved, ezért általában valamilyen elválasztási formát alkalmaznak.

Határolójelekkel elválasztott szavak

Az egyik megközelítés az egyes szavak elválasztása nem alfanumerikus karakterekkel. Általában két karaktert használnak erre a célra: egy kötőjelet ("-") és egy aláhúzást ("_"); például egy kétszavas név vagy «two words»jelölést kaphat . A kötőjelet szinte minden COBOL (1959), Forth (1970) és Lisp (1958) programozó használja; a Unixban is gyakori a parancsok és csomagok esetében, és a CSS -ben is használatos [10] . Ennek az egyezménynek nincs szabványos neve, bár nevezhetjük lisp-case- nek vagy COBOL-CASE- nek (vö . Pascal-tok ), kebab-tok , brochette-tok vagy más változatok [11] [12] [13] [14] . Ezek közül a legalább 2012-ből származó kebab [15] azóta népszerűvé vált [16] [17] . «two-words»«two_words»

Ezzel szemben a FORTRAN/ALGOL-hagyomány nyelvei, különösen a C és a Pascal családok , a kötőjelet használták az infix kivonás operátoraként , és nem akartak szóközt előírni körülötte (mint a szabad formájú nyelvek), megakadályozva ezzel használata azonosítókban. Egy másik lehetőség az aláhúzás használata; ez gyakori a C családban (beleértve a Pythont is), ahol kisbetűs szavak fordulnak elő, mint például a C programozási nyelvben (1978), és kígyó esetként vált ismertté . A nagybetűs aláhúzásjelek, akárcsak a UPPER_CASE, általában a C előfeldolgozó makrókhoz használatosak , ezért MACRO_CASE néven ismertek, és a Unix környezeti változókhoz , például a BASH_VERSION a bash -ban . Ezt néha humorosan SCREAMING_SNAKE_CASE-nek nevezik.

Betűkkel elválasztott szavak

Egy másik megközelítés a szóhatárok jelzése a " camelCase ", "Pascal case" és sok más néven nevezett középső nagybetűkkel, így jelenítve meg , vagy . Ezt a konvenciót általában a Pascal , Java , C# és Visual Basic nyelvekben használják . Az azonosítókban lévő inicializmusok kezelése (például " XML " és " HTTP " in ) változó. Egyesek úgy érzik, hogy kisbetűvel (pl . ) kell írni a könnyebb gépelés és olvashatóság érdekében, míg mások nagybetűvel (pl. ) hagyják őket a pontosság érdekében. «two words»«twoWords»«TwoWords»XMLHttpRequestXmlHttpRequestXMLHTTPRequest

Példák bőbeszédű azonosító formátumokra Többszavas azonosítók formátuma
Formátum Név
twowords lapos tok [18] [19]
TWOWORDS felső lapos tok [18]
twoWords (alsó) camelCase , dromedaryCase
TwoWords (felső) CamelCase , PascalCase, StudlyCase [20]
two_words kígyótok , kátyútok
TWO_WORDS Screaming SNAKE CASE , MACRO_CASE, CONSTANT_CASE
Two_Words Camel_Snake_ Case [21]
two-words kebabtartó , kötőjeles tok , lisp tok
TWO-WORDS VONAT-TOK, COBOL-TOK, ÜVÍTŐ-KEBAB-TOK
Two-Words Train-Case, [18] HTTP-Header-Case [21]

Metaadatok és hibrid konvenciók

Egyes elnevezési konvenciók olyan szabályok vagy követelmények, amelyek túlmutatnak egy adott projekt vagy tartomány követelményein, és ehelyett a szoftverarchitektúra , az alapul szolgáló programozási nyelv vagy más projektközi módszertan által meghatározott elvek szélesebb körét tükrözik.

Magyar jelölés

Talán a legismertebb a magyar jelölés , amely vagy egy változó célját ("Apps Hungarian"), vagy típusát ("Systems Hungarian") kódolja a nevében [22] . Például az szName változó "sz" előtagja azt jelzi, hogy a változó egy null-végződésű karakterlánc.

Helyzetmegjelölés

A nagyon rövid (nyolc vagy kevesebb karakter) kifejezéshez használt stílus a következő lehet: LCCIIL01, ahol az LC a csatolmány (akkreditív), a C a COBOL, az IIL a folyamatok egy meghatározott részhalmaza, a 01 pedig egy sorszám.

Ezt a konvenciót még mindig aktívan használják a JCL-től függő nagyszámítógépekben, és megtalálható az MS-DOS 8.3 stílusban is (maximum nyolc karakterből állhat egy elválasztó pont és egy három karakteres fájltípus).

Összetett szóséma (OF Language)

Az IBM "OF Language"-jét az IMS ( Információkezelő rendszer ) kézikönyv dokumentálta.

Részletezi a PRIME-MODIFIER-CLASS szósémát, amely olyan nevekből áll, mint például a "CUST-ACT-NO" az "ügyfélszámlaszám" helyett.

A PRIME szavak célja a rendszer számára érdekes fő "entitások" jelölése volt.

A MÓDOSÍTÓ szavakat a pontosítás, finomítás és olvashatóság érdekében használták.

Ideális esetben az OSZTÁLY szavak nagyon rövid listája az alkalmazás-specifikus adattípusoknak. A gyakori CLASS szavak lehetnek: NO (szám), ID (azonosító), TXT (szöveg), AMT (összeg), QTY (mennyiség), FL (zászló), CD (kód), W (munka), stb. , a rendelkezésre álló OSZTÁLY szavak egy két tucatnál kevesebb kifejezésből álló lista lesz.

Az OSZTÁLY szavak, amelyeket általában jobbra (utótag) helyeznek el, szinte ugyanazt a célt szolgálják, mint a magyar jelölési előtagok .

Az OSZTÁLY szavak célja a következetességen túl az volt, hogy a programozó felé jelezzék egy adott adatmező adattípusát . A BOOLEAN (csak két érték) mezők elfogadása előtt az FL (jelző) egy olyan mezőre mutat, amelynek csak két lehetséges értéke van.

Sajátos nyelvi konvenciók

ActionScript

Az Adobe Coding Conventions and Best Practices olyan elnevezési szabványokat biztosít az ActionScript számára , amelyek többnyire követik az ECMAScript szabványokat . Az azonosítók stílusa hasonló a Java stílusához .

Ada

Adában az egyetlen ajánlott stílus az azonosítókhoz a [ Mixed_Case_With_Underscores23] .

APL

Az APL nyelvjárások deltát (Δ) használnak a szavak között, mint például a PERFΔSQUARE (az APL régebbi verzióiban hagyományosan nem voltak kisbetűk). Ha aláhúzott betűket használ a névben, a rendszer egy aláhúzott delta kötőjelet (⍙) használ helyette.

C és C++

C és C++ nyelven a szabványos könyvtári kulcsszavak és azonosítók többnyire kisbetűvel íródnak. A C szabványos könyvtárban a rövidítések a leggyakoribbak (például egy olyan függvénynél, amely ellenőrzi, hogy egy karakter alfanumerikus-e), míg a C++ szabványos könyvtár gyakran használ aláhúzást szóelválasztóként (például ). A makrókat képviselő azonosítók hagyományosan csak nagybetűkkel és aláhúzásjelekkel vannak írva (ez annak köszönhető, hogy sok programozási nyelvben az a konvenció, hogy az állandókhoz csak nagybetűs azonosítókat használnak). A dupla aláhúzást tartalmazó vagy aláhúzással és nagybetűvel kezdődő nevek a megvalósítás számára vannak fenntartva ( fordító , szabványos könyvtár ), és nem használhatók (pl. vagy ) [24] [25] . Ez felületesen hasonlít a slingingre, de a szemantika más: az aláhúzás az azonosító értékének része, nem pedig a karakterek idézőjel (mint például a slinging): az érték ( amely le van foglalva) nem (hanem egy másik névtérben). isalnumout_of_range__reserved_Reserved__foo__foofoo

C#

A C# elnevezési konvenciók általában követik a Microsoft által az összes NET-nyelvre vonatkozóan közzétett ajánlásokat [26] (lásd a NET-et alább), de a C# fordító semmilyen konvenciót nem kényszerít ki.

A Microsoft kézikönyve kizárólag a PascalCase és a CamelCase használatát javasolja , ez utóbbit csak a paraméternevekhez és a helyi (beleértve a metódus local const) értékek metódusváltozónevéhez használják. A PascalCase esetében különleges kivételt képeznek a kétbetűs betűszavak, amelyek egy azonosítót kezdenek; ezekben az esetekben mindkét betű IOStreambetű (például IOStream); ez nem vonatkozik a hosszabb betűszavakra (pl XmlStream. ). A kézikönyv azt is javasolja, hogy a megadott név PascalCaseinterface legyen , amelyet egy nagy I -es betű előz meg , mint a . IEnumerable

A Microsoft mezőelnevezési irányelvei a staticés publicmezőkre protectedvonatkoznak; azokra a mezőkre, amelyek nem staticés más hozzáférhetőségi szintekkel rendelkeznek (például internalés private), nyilvánvalóan nem vonatkoznak a [27] irányelvek . A legelterjedtebb gyakorlat az, hogy minden mezőnévhez PascalCase -t használunk , kivéve azokat, amelyek private(és nem is const, sem static), amelyek olyan nevek, amelyek a camelCase -t egyetlen aláhúzás előtt használják; például, _totalCount.

Bármely azonosító név kezdődhet idézőjel karakterrel ( @ ), a jelentés megváltoztatása nélkül. Vagyis és factor, és @factorugyanarra az objektumra hivatkoznak. Megállapodás szerint ez az előtag csak akkor használatos, ha az azonosító egyébként vagy fenntartott kulcsszó (például forés while), amely nem használható előtag nélküli azonosítóként, vagy kontextusfüggő kulcsszó (például fromés where), ebben az esetben a az előtag nem kötelező (legalábbis deklaráláskor nem; például bár a deklaráció dynamic dynamic;érvényes, általában azt látják, dynamic @dynamic;hogy azonnal jelzi az olvasónak, hogy az utóbbi egy változónév).

Menj

A Go -ban a bőbeszédű neveket szokás használni MixedCapsvagy mixedCapsaláhúzás helyett. Ha osztályokra vagy függvényekre hivatkozunk, az első betű a külső csomagok láthatóságát jelzi. Ha az első betűt nagybetűvé teszi, akkor ez a kódrészlet exportálásra kerül, míg a kisbetűk csak az aktuális hatókörben [28] .

Java

A Java nyelven az azonosítók elnevezési konvencióit különféle Java közösségek fejlesztették ki és javasolták, például a Sun Microsystems [29] , a Netscape [30] , az AmbySoft [31] stb. A név a " CamelCase "-ban több szóból áll, amelyek szóközök nélkül vannak összefűzve, minden szó kezdő nagybetűjével , például "CamelCase".

Azonosító típusa Elnevezési szabályok Példák
osztályok Az osztályneveknek főneveknek kell lenniük , minden szó első betűjét nagybetűvel kell írni. Használjon egész szavakat – kerülje a mozaikszavakat és rövidítéseket (kivéve, ha a rövidítést sokkal szélesebb körben használják, mint a hosszú formát, például URL vagy HTML). Upper CamelCase
  • class Raster {}
  • class ImageSprite {}
Mód A módszereknek kisbetűs igéknek vagy többszavas neveknek kell lenniük , amelyek kisbetűs igével kezdődnek; vagyis az első betűt kisbetűvel és a következő szavak első betűit nagybetűvel. lower CamelCaselower CamelCase
  • run();
  • runFast();
  • getBackground();
Változók A helyi változók, a példányváltozók és az osztályváltozók szintén a -ba íródnak . A változónevek nem kezdődhetnek aláhúzással ( ) vagy dollárjellel ( ), még akkor sem, ha mindkettő engedélyezett. Ez ellentétben áll más kódolási konvenciókkal, amelyek kimondják, hogy minden példányváltozót aláhúzásjelekkel kell ellátni. lower CamelCase_$

A változóneveknek rövidnek, de értelmesnek kell lenniük. A változónév megválasztásának emlékeztetőnek kell lennie, vagyis a véletlen szemlélőnek jeleznie kell a használat célját. Az egykarakteres változóneveket kerülni kell, az ideiglenes „egyszeri” változók kivételével. Általános ideiglenes változónevek: i, j, k, m és n egész számokhoz; c, d és e karakterekhez.

  • int i;
  • char c;
  • float myWidth;
Állandók A konstansokat nagybetűvel kell írni, aláhúzással elválasztva. Az állandó nevek szükség esetén számokat is tartalmazhatnak, de nem első karakterként.
  • static final int MAX_PARTICIPANTS = 10;

A Java fordítók nem kényszerítik ki ezeket a szabályokat, de be nem tartásuk zavart és hibás kódot eredményezhet. Például, widget.expand()és Widget.expand()lényegesen eltérő viselkedést jelent: widget.expand()metódushívást jelent a nevű expand()példányon widget, míg Widget.expand()statikus metódushívást. expand()osztályban Widget.

Az egyik széles körben használt Java kódolási stílus megköveteli , hogy az osztályokhoz az UpperCamelCase  -t, a példányokhoz és metódusokhoz pedig a LowCamelCase -t kell használni [29] . Felismerve ezt a használatot, egyes IDE -k , például az Eclipse , a CamelCase-en alapuló parancsikonokat valósítanak meg. Például az Eclipse tartalomsegéd funkciójában a CamelCase szó csupa nagybetűvel történő beírása bármilyen megfelelő osztály- vagy metódusnevet javasol (például az „NPE” beírása és a tartalomsegéd aktiválása javasolhatja a ). NullPointerException

Három vagy több betű kezdőbetűi – CamelCase nagybetű helyett (például parseDbmXmlFromIPAddress) parseDBMXMLFromIPAddress. Két vagy több betűből álló szegélyt is beállíthat (például parseDbmXmlFromIpAddress).

JavaScript

A beépített JavaScript-könyvtárak ugyanazokat az elnevezési konvenciókat használják, mint a Java. Az adattípusok és a konstruktor függvények nagybetűket ( RegExp , TypeError , XMLHttpRequest , DOMObject ), a metódusok pedig kisbetűket ( getElementById , getElementsByTagNameNS , createCDATASection ) használnak. A következetesség érdekében a legtöbb JavaScript-fejlesztő követi ezeket az egyezményeket [32] [33] .

Lisp

A legtöbb Lisp dialektusban bevett gyakorlat az , hogy kötőjeleket használnak a szavak elválasztására az azonosítókban, például a with-open-fileés make-hash-table. A dinamikus változónevek általában csillaggal kezdődnek és végződnek: *map-walls*. Az állandó neveket pluszjellel jelöljük: +map-size+[34] [35] .

.NET

A Microsoft .NET a PascalCase néven is ismert UpperCamelCase -t ajánlja a legtöbb azonosítóhoz. A paraméterek és a változók esetében ajánlatos a LowCamelCase ) használata, amely a .NET nyelvek általános konvenciója [36] . A Microsoft azt is javasolja, hogy ne használjunk típuselőtag-utalásokat (más néven magyar jelölés [37] . A magyar jelölés használata helyett javasoljuk, hogy a nevet az alaposztálynévvel zárja le: [38]LoginButton helyett . BtnLogin

Objective-C

Az Objective-C általános programozási stílusa a Smalltalk - ban gyökerezik .

A legfelső szintű entitások, beleértve az osztályokat, protokollokat, kategóriákat, valamint az Objective-C programokban használt C-konstrukciókat, például a globális változókat és függvényeket, UpperCamelCase-ben vannak egy rövid nagybetűs előtaggal, amely a névteret jelöli, például NSString , UIAppDelegate . NSApp vagy CGRectMake . A konstansok előtagjaként tetszőlegesen kisbetűs "k" is szerepelhet, például a kCFBooleanTrue .

Az objektumváltozók a LowCamelCase-t használják aláhúzással, például a _delegate és a _tableView .

A metódusnevek több kettősponttal elválasztott alsó CamelCase részt használnak, amelyek elválasztják az argumentumokat, például: application: didFinishLaunchingWithOptions: , stringWithFormat: és isRunning .

Pascal, Modula-2 és Oberon

A Pascal, a Modula-2 és az Oberon nyelvek általában azonosítókat Capitalizedvagy UpperCamelCaseprogramokhoz, modulokhoz, konstansokhoz, típusokhoz és eljárásokhoz és lowerCamelCaseazonosítókhoz lowercasevagy lowerCamelCasematematikai konstansokhoz, változókhoz, formális paraméterekhez és függvényekhez használnak [39] . Míg egyes dialektusok támogatják az aláhúzást és a dollárjeleket az azonosítókban, a kígyó- és a makró-betűk használata valószínűleg csak a külső API-kban használható [40] .

Perl

A Perl néhány szabályt a C örökségéből vesz át, a változók és a helyi hatókörű alprogramnevek kisbetűkkel és aláhúzásjelekkel vannak írva. A privátként kezelendő szubrutinok és változók előtt aláhúzás van. A csomagváltozók fejlécbe vannak zárva. Minden deklarált állandó nagybetűvel van írva. A csomagneveket nagybetűvel írjuk, kivéve az olyan pragmákat, mint a strictés mro, amelyeket kisbetűvel mroírunk [41] [42] .

PHP

A PHP ajánlásait a PSR-1 (PHP standard ajánlás 1) és a PSR-12 tartalmazza [43] . A PSR-1 szerint az osztályneveknek PascalCase-ben, az osztálykonstansoknak MACRO_CASE-ben, a metódusneveknek camelCase-ben [44] kell lenniük .

Python és Ruby

A Python és  a Ruby használata ajánlott UpperCamelCaseosztálynevekhez, CAPITALIZED_WITH_UNDERSCORESkonstansokhoz és  lowercase_separated_by_underscoresegyéb nevekhöz.

A Pythonban, ha egy név " privát " legyen egy modulon belül, ajánlatos egyetlen aláhúzással kezdeni. A nevek egy aláhúzással is végződhetnek a Python kulcsszavakkal való ütközés elkerülése érdekében. A dupla aláhúzás előtag viszont torzítja az osztálytagnevek külső megjelenítését: például egy osztályban az osztályon kívüli FooBarmetódus __booként lesz látható _FooBar__boo. A dupla aláhúzással kezdődő és végződő nevek a Pythonban különleges szerepet játszó „varázsnevek” számára vannak fenntartva (pl. __init__, __import__, __file__) [45] .

R

Bár az R számára nincs hivatalos stíluskalauz , Hadley Wickham R guru tidyverse stíluskalauza állítja fel a mércét a legtöbb felhasználó számára [46] . Ez az útmutató azt javasolja, hogy kerülje a speciális karaktereket a fájlnevekben, és csak számokat, betűket és aláhúzásjeleket használjon változó- és függvénynevekben, például fit_models. R.

Raku

A Raku többé-kevésbé ugyanazokat a szabályokat követi, mint a Perl, kivéve, hogy a Raku engedélyezi a belső kötőjeleket és  aposztrófokat (egyszeres idézőjeleket), amíg azokat mindig betűk követik. Így a kebab -case használható Rakuban : például fish-foodés  don't-do-thatérvényes azonosítók [47] .

Rozsda

A Rust a struct, trait, enum és enum használatát ajánlja UpperCamelCasetípusálnevekhez és változatnevekhez, SCREAMING_SNAKE_CASEkonstansokhoz vagy statikus változókhoz, valamint snake_caseváltozó-, függvény- és struktúranevekhez [48] .

Swift

A Swift minden egyes kiadással megváltoztatja elnevezési konvencióit. A Swift 3.0 fő frissítése azonban stabilizálta a lowerCamelCaseváltozók és függvénydeklarációk elnevezési konvencióit. A konstansokat általában felsorolt ​​típusok vagy konstans paraméterek határozzák meg, amelyeket szintén ugyanúgy írnak. Az osztályok és más típusú objektumok deklarációi a UpperCamelCase.

A Swift 3.0 óta egyértelmű elnevezési irányelveket fogalmaztak meg a nyelvre vonatkozóan azzal a céllal, hogy szabványosítsák az elnevezési konvenciókat és az API-deklarációkat minden harmadik fél API-jára [49] .

Lásd még

Jegyzetek

  1. Derek M. Jones "Az operandusnevek befolyásolják az operátor elsőbbségi döntéseit" Archiválva : 2021. szeptember 6. a Wayback Machine -nél Kísérlet, amely a változónevek hatását vizsgálja a kezelői prioritás kiválasztására
  2. Milyen kódstílusokat részesít előnyben a Github közönsége? . „A legnépszerűbb holivarban, a szóközök versus tabulátorok, a szóközök döntő győzelmet arattak.”
  3. ↑ Google Style Guides  . Letöltve: 2021. szeptember 22. Az eredetiből archiválva : 2021. október 19.
  4. Facebook. HHVM kódolási  egyezmények . Letöltve: 2021. szeptember 22. Az eredetiből archiválva : 2020. november 11.
  5. Oracle. A JavaTM programozási nyelv kódegyezményei  . Letöltve: 2021. szeptember 22. Az eredetiből archiválva : 2010. június 22.
  6. Steven Hughes, Linda Jun, Wendy Shoan. C++ kódolási szabványok és stílus útmutató  . NASA (2005. május 24.). Letöltve: 2021. szeptember 22. Az eredetiből archiválva : 2021. április 21.
  7. JetBrains. Kódolási konvenciók  . Kotlin . Letöltve: 2021. szeptember 22. Az eredetiből archiválva : 2021. szeptember 28.
  8. Airbnb JavaScript  stíluskalauz . Letöltve: 2021. szeptember 22. Az eredetiből archiválva : 2021. szeptember 23.
  9. Csomag elnevezése . Letöltve: 2020. november 9. Az eredetiből archiválva : 2020. november 6..
  10. CSS hivatkozás . Mozilla fejlesztői hálózat . Letöltve: 2016. június 18. Az eredetiből archiválva : 2021. január 13.
  11. StackOverflow – Mi a neve a snake_case kötőjelekkel? . Letöltve: 2020. november 9. Az eredetiből archiválva : 2014. december 26.
  12. Programozók - Ha ez camelCase mi-ez-ez? (nem elérhető link) . Letöltve: 2020. november 9. Az eredetiből archiválva : 2016. augusztus 7.. 
  13. Camel_SNAKE-kebab (2019. szeptember). Letöltve: 2020. november 9. Az eredetiből archiválva : 2018. június 11.
  14. UnderscoreVersusCapitalAndLowerCaseVariableNaming
  15. jwfearn. A jwfearn válaszának átdolgozása a Mi a neve a kötőjellel elválasztott eseteknek? (2012. szeptember 5.). Letöltve: 2020. november 9. Az eredetiből archiválva : 2017. május 10.
  16. Living Clojure (2015), Carin Meier, p. 91 Archivált : 2020. szeptember 19. a Wayback Machine -nál
  17. lodash:kebabCase . Letöltve: 2020. november 9. Az eredetiből archiválva : 2021. január 8..
  18. ↑ 1 2 3 elnevezés - Milyen esetek különböztethetők meg? . verem túlcsordulás . Letöltve: 2020. augusztus 16. Az eredetiből archiválva : 2020. június 17.
  19. ↑ A programozási elnevezési  konvenciók rövid listája  ? . deanpugh.com 2018. március 20. Letöltve: 2020. augusztus 16. Az eredetiből archiválva : 2020. augusztus 10.
  20. ↑ PSR-1 : Alapvető kódolási szabvány - PHP-FIG  . www.php-fig.org . Letöltve: 2020. szeptember 4. Az eredetiből archiválva : 2019. március 31.
  21. ↑ 1 2 teve-kígyó-kebab  (angol)  ? . tevekígyó-kebab . Letöltve: 2020. augusztus 16. Az eredetiből archiválva : 2020. augusztus 11.
  22. Rossz kód téves megjelenése (2005. május 11.). Letöltve: 2020. november 9. Az eredetiből archiválva : 2016. november 22.
  23. 3.2.1 Nevek – 3. fejezet – Ada 95 MINŐSÉGI ÉS STÍLUSÚ útmutató . Letöltve: 2020. november 9. Az eredetiből archiválva : 2020. június 29.
  24. ISO/IEC 9899:1999 Programozási nyelvek - C . ISO. Letöltve: 2020. november 9. Az eredetiből archiválva : 2017. január 29.
  25. ISO/IEC 14882:2011 Információtechnológia - Programozási nyelvek - C++ . ISO. Letöltve: 2020. november 9. Az eredetiből archiválva : 2013. május 17.
  26. Elnevezési irányelvek . Microsoft. Letöltve: 2020. november 9. Az eredetiből archiválva : 2020. november 17.
  27. Típustagok nevei . Microsoft. Letöltve: 2020. november 9. Az eredetiből archiválva : 2020. november 14.
  28. Hatékony Go - the Go programozási nyelv . Letöltve: 2020. november 9. Az eredetiből archiválva : 2015. január 6..
  29. 1 2 „A Java programozási nyelv kódegyezményei”, 9. szakasz: „Elnevezési szabályok” Archiválva : 2009. február 27. a Wayback Machine -nél
  30. "A Netscape szoftverkódolási ctandards útmutatója Java-hoz", Collab Software Coding Standards Guide for Java archiválva : 2009. március 3.
  31. AmbySoft Inc. A Java v17.01d kódolási szabványai" . Letöltve: 2020. november 9. Az eredetiből archiválva : 2020. augusztus 20.
  32. Morelli. 5 JavaScript-stílusútmutató – beleértve az AirBnB-t, a GitHub-ot és a Google-t . codeburst.io (2017. november 17.). Letöltve: 2018. augusztus 17. Az eredetiből archiválva : 2017. november 12.
  33. Douglas Crockford Egyezmények . Letöltve: 2020. november 9. Az eredetiből archiválva : 2020. október 4..
  34. Változók . Letöltve: 2020. november 9. Az eredetiből archiválva : 2020. november 11.
  35. Elnevezési konvenciók archiválva 2020. október 30-án a Wayback Machine -nél a CLiki -n
  36. Microsoft .NET-keretrendszer nagybetűs írásmódjai . Letöltve: 2020. november 9. Az eredetiből archiválva : 2017. március 24.
  37. .NET-keretrendszer fejlesztői kézikönyv – Általános elnevezési szabályok . Letöltve: 2020. november 9. Az eredetiből archiválva : 2016. március 3.
  38. Kerettervezési irányelvek, Krzysztof Cwalina, Brad Abrams 62. oldal
  39. Modula-2 névegyezmény (downlink) . Letöltve: 2020. november 9. Az eredetiből archiválva : 2016. szeptember 10. 
  40. Külföldi API-azonosítók a Modula-2 névegyezményben (hivatkozás nem érhető el) . Letöltve: 2020. november 9. Az eredetiből archiválva : 2016. szeptember 10. 
  41. Perl stílus útmutató . Letöltve: 2020. november 9. Az eredetiből archiválva : 2013. június 26.
  42. perlmodlib - új Perl modulok létrehozása és a meglévők keresése . Letöltve: 2020. november 9. Az eredetiből archiválva : 2020. június 28.
  43. PHP szabvány ajánlások . Letöltve: 2020. november 9. Az eredetiből archiválva : 2020. november 12.
  44. PSR-1: Alapvető kódolási szabvány - PHP-FIG . Letöltve: 2020. november 9. Az eredetiből archiválva : 2019. március 31.
  45. Stílus útmutató a Python Code PEP8-hoz . Letöltve: 2020. november 9. Az eredetiből archiválva : 2018. július 13.
  46. Stílus útmutató az RCode-hoz . Letöltve: 2020. november 9. Az eredetiből archiválva : 2020. november 14.
  47. A Perl 6 szintaxisának általános szabályai . Letöltve: 2020. november 9. Az eredetiből archiválva : 2019. július 22.
  48. Elnevezési  konvenciók . doc.rust-lang.org . Hozzáférés dátuma: 2018. február 4. Az eredetiből archiválva : 2018. február 4.
  49. swift.org API tervezési irányelvek . Letöltve: 2020. november 9. Az eredetiből archiválva : 2021. január 12.

Linkek