Elnevezési konvenciók: camelCase kontra aláhúzás_eset? mi a véleményed róla? [zárt]

Megjegyzések

  • " őszintén szólva a kód könnyebben olvasható " Vélemény vagy tény?
  • IThinkTheyAreBothAboutTheSame but_i_think_mixing_them_is_pretty_bad.
  • @dietbuddha: Most olvastam id = “97408c6b94″>

sokkal gyorsabban, mint a ' IThinkTheyAreBothAboutTheSame '. ' Biztos vagyok benne, hogy ez tudományosan bizonyítható. 🙂

  • @John Isaacks: Szomorúan jelentem (mint egy kisbetűs támogató), hogy egy tanulmány arra a következtetésre jutott, hogy a " teve burkolása nagyobb pontosságot eredményez minden alany között, képzettségtől függetlenül " .
  • IWonderWhetherReadingEnglishWrittenInOneStyleVersusAnotherMakesMuchDifference. InTheEnd, IFindThatNeitherIsVeryGoodAtBeingEasyToRead. Ez_csavarja_rettenetesen_vonal_hosszal_és_egyszerűbbé teszi a dolgokat. I_wonder_whether_there_w_s_language_support_in_the_future_for_quoted_variable_names. " Ez véleményem szerint sokkal értelmesebb lenne, mint akár a camelCase, akár az aláhúzás-elválasztók ".
  • Válasz

    Egyetértek azzal, hogy ez valamilyen mértékben az Ön által használt nyelvtől függ; a kód általában rendesebbnek tűnik, ha a szimbólumnevek ugyanazt a formázást követik rendszer a nyelv beépített és állománykönyvtáraként.

    De ahol van választás, inkább az aláhúzásokat preferálom a teve tokkal szemben, egyetlen egyszerű okból: ezt a stílust könnyebben olvashatom. Itt egy példa: melyiket találja olvashatóbbnak? Ez:

    aRatherLongSymbolName 

    vagy ez:

    a_rather_long_symbol_name 

    Az aláhúzás verzióját sokkal könnyebbnek találom olvasni. Az agyam sokkal könnyebben figyelmen kívül hagyhatja az aláhúzásokat, mint a teve esetében észlelni a kis- és nagybetűs határokat, különösen akkor, ha a határok az ellentétes betű többi jeléhez hasonló karakterjelek vagy számok között vannak (I/l, O/0, t/I stb.). Például ez a logikai változó tárol egy értéket, amely jelzi, hogy egy Igloo megfelelő tervezési engedéllyel készült-e (kétségtelenül mindannyiunk számára általános használat):

    isIllicitIgloo 

    Ezt a verziót sokkal könnyebben olvashatom:

    is_illicit_igloo 

    Talán még rosszabb is, mint egy nehezen olvasható szimbólumnév egy könnyen félreolvasható szimbólumnév. A jó szimbólumnevek öndokumentálók, ami számomra azt jelenti, hogy képesnek kell lennie azok elolvasására és egy pillanat alatt megérteni azok jelentését. (Biztos vagyok benne, hogy örömünkre mindannyian olvasunk kódnyomtatásokat az ágyban, de időnként sietve is morogunk.) Gyakran tapasztalom a teve tok szimbólumneveinél, hogy könnyű félreolvasni és rossz benyomást kelteni egy szimbólum szemantikája.

    Megjegyzések

    • Egy probléma az aláhúzással: használhatóság. A legtöbb (európai) billentyűzetnél az aláhúzás előírásához meg kell tartani Ezt meg kell tennie a camelCase esetében is, de kényelmesen tarthatom a SHIFT billentyűt a pinky-vel, és beírhatok bármilyen betűt – de mivel az aláhúzás gomb közvetlenül a SHIFT gomb mellett van, a kettő egyszerre történő lenyomása meglehetősen kínos és megszakítja a gépelés folyamatát.
    • Az elsőnél valójában könnyebben olvashatónak találtam a camelCase-t – bár ez utóbbi nyilvánvalóan különbözik.
    • Ez valóban attól függ, hogy mit ' már megszokta. A camelCases-t könnyebbnek találom, és emellett ' rövidebbek, mint az egyenértékű aláhúzás.
    • Én gyűlölet tipizálás aláhúzások.
    • A " használhatóság " pont ebben nem releváns. A kódot általában csak egyszer írja le egy személy, de ' ek mondják el 1-10-szeres sorrendben, figyelembe véve bizonyos szerkesztéseket és lehetséges páros programozásokat. De a kódot általában tucat / száz / ezer alkalommal olvassa el egy vagy potenciálisan sok ember. Így a kód könnyen olvashatóvá tétele több nagyságrenddel fontosabb, mint a kód könnyen írható.

    Válasz

    Szerintem használja a platformja által elfogadott elnevezési megállapodást. az aláhúzás_könyv furcsán fog kinézni a C # kódban, mivel a camelCase a Ruby = =

    megjegyzésekben

    • A következetesség kulcsfontosságú. Akár egyetért a helyi egyezménnyel, akár nem, megkönnyíti saját idejét (és mindenkit ' s) azzal, hogy következetes lesz. (Hacsak a helyi egyezmény maga nem következetlenség.) Ezenkívül az olvashatóság többnyire hamis érv: olvasson el elegendõ kódot, ha ' kiderül, hogy kevés a különbség, hacsak nem úgy dönt, hogy olvashatatlan.
    • Teljesen egyetért. Csak azt gondolom, hogy jobb, ha a szokásos platformkonvenciót alkalmazzuk, mert például az új srácok a csapatban jobban érzik magukat.
    • De jaj azoknak, akik két platformon, két konvencióval dolgozunk , ahol egyesek jobban szeretik, mások pedig a másikat kedvelik!
    • Ha a platform 2 konvencióval rendelkezik, akkor ' megkérem a csapat minden tagját, hogy szavazzanak a nekik megfelelő konvencióra. =)

    Válasz

    Őszintén szólva nem igazán számít, amíg a csapatban mindenki használja a Ugyanaz a séma. Az esélyek az egyik vagy a másik természetesebb számodra, bár az igazi jelentősége a kód olvashatóságának hosszú távon van, és ezért elengedhetetlen, hogy mindenki ugyanazokat a névadási szabályokat tartsa be.

    Megjegyzések

    • teljesen igazad van, azonban én ' m megpróbálom kideríteni a népek véleményét a boszorkányról, jobb lenne használni (hagyd ' s az egész csapat számára), és miért … miközben megértem, hogy egyesek esetleg csak hozzászoktak valamilyen konvencióhoz, vagy mások természetesebben élnek a másikkal.

    Válasz

    A válasz alapján John Isaacks válasza:

    “őszintén szólva a kód könnyebben olvasható” Vélemény vagy tény?

    Úgy döntöttem, hogy végezek néhány kutatást, és találtam ezt a papírt . Mit szól a tudomány a témához?

    1. A teve burkolatának nagyobb a helyesség valószínűsége mint aláhúzás. (az esély 51,5% -kal magasabb)
    2. A teve esete átlagosan 0,42 másodperccel tartott tovább , ami 13,5% -kal hosszabb.
    3. A képzésnek nincs statisztikailag szignifikáns hatása arra, hogy a stílus hogyan befolyásolja a helyességet.
    4. A több képzettséggel rendelkezők gyorsabbak voltak a teve eset stílusú azonosítókról.
    5. Egy stílusú képzés, negatívan befolyásolja a keresési időt más stílusokhoz.

    A témával kapcsolatos blogbejegyzésemben áttekintem a tudományos cikket, és tegye a következő következtetést.

    Csak a teve esetének lassúsága ( A 2) a programozás szempontjából valóban releváns, a többi pontot a modern IDE-k és a tanulmányban részt vevő camelCase felhasználók többsége miatt irrelevánsként utasítja el. A vita (egy szavazással együtt) megtalálható a blogbejegyzésben.

    Kíváncsi vagyok, hogy ez a cikk hogyan változtathatja meg a véleményüket. 🙂

    Hozzászólások

    • Természetesen az összes többi pontot elveti az aláhúzások preferálása miatt, a többi pont pedig nem segít <

  • @Charles: Igen és nem, az IMHO-nak jól érvelek, miért utasíthatók el, és néhányukat még maga a lap is problematikusként tárgyalja. A nyomon követési cikk megvizsgálja a cikk néhány problémáját , és az eredmények aláhúzások mellett szólnak.
  • Válasz

    Másolja a legokosabb srácokat

    Programozási nyelvek esetén másolja át a nyelv fejlesztőjének stílusát.

    Például pontosan úgy kódolom a C kódot, mint a K & R fájlban.

    Ezután amikor bárki megpróbál unalmas kódolást indítani stílusú beszélgetést, azt mondhatom nekik, hogy “ezt hozzák fel Dennis Ritche-vel, és tudassa velem, amit mond.”

    Megjegyzések

    • Az eredeti nem mindig a legjobb. Számos rossz gyakorlat található a K & R evangéliumi könyvben a C-ről. Mielőtt lángháború kezdődne … olvassa el a MISRA néhány ajánlását.
    • Don ' ne felejtsd el, K & R-t akkor írtak, amikor nincsenek GUI-IDE-k. A legtöbb munkát a 80×25 karakteres terminálokon végezték, így a képernyőfelszín prémium volt, így if (...) { mentett egy sort! Manapság ' több képernyőterület van – más lenne a K & R, ha ma nagy felbontású GUI IDE-kkel és több monitorral írnánk felállítani?
    • Igen, de amikor valaki azt mondja, hogy kódolja a C-t, mint a K & R, akkor prop-t kap arra, hogy régi iskola legyen.
    • @quickly_now , vedd fel ezt Dennis Ritchie-vel, és tudasd velem, mit mond!
    • Nagyon sok formázást alkalmazok az MS-től: _internalToClassOnly, accesableByGetter, PublicVariable.

    Válasz

    Általában a camelCase-t részesítem előnyben. Karrierem nagy részében azonban olyan nyelveken és környezetekben dolgoztam, ahol a stílus útmutatók általában a camelCase programot ajánlják. (Java, ECMAScript, C ++). Ön, PHP-s személyként valószínűleg ellentétes preferenciával rendelkezik. / p>

    Ez azt jelenti, hogy ha meghaladja a háromOrFourWord szót, vagy ha olyan inicializmusokat használ, mint az XmlForExample, akkor az már nem lesz annyira olvasható.

    Ezért az emacs szemüveges módot ad nekünk.

    Megjegyzések

    Válasz

    camelCase

    Ez egyike azon kevés helyeknek, ahol mindig a” típus-képesség “lehetőséget választom az olvashatóság helyett. A CamelCase-t egyszerűen könnyebb beírni, és ha kedvesebb vagyok az ujjaim számára, az enyhe olvashatósági nyereséget nyer.

    természetesen feltételezve, hogy a projekt nem egy meglévő, más szabványú kódbázisra épít.

    Megjegyzések

    • Nem értek egyet ' ezzel, csak egyszer írsz kódot, de utána többször is el kell olvasnod

    Válasz

    Érdekes kérdés, sokszor gondolkodtam ezen. De szerintem nincs határozott válasz.

    A “kulturális” egyezmények betartása jó választás. A “kulturális” ebben az esetben a csapatban / társaságban létrehozott egyezményeket jelenti, és alapvetően a nyelv / platform konvenciókat is hordozzák. Ez segít másoknak abban, hogy könnyedén olvassák / használják a kódodat, és nem igényel további erőfeszítéseket és időt a kód megértésének elsajátításához.

    Néha érdekes megtörni az elfogadott jelöléseket. Az egyik kis projektem (a Pythonon) underscored_names -t használtam a segédfunkciókhoz / “védett” módszerekhez, és Java-stílusú methodNames metódusokhoz. Csapatom örült vele 🙂

    Válasz

    A programozási nyelvtől függ.

    Az esetet a ugyanaz a hajó, hogy használja-e a magyar jelölést:

    • Python: aláhúzás_eset, nincs magyar jelölés
    • C ++: camelCase, magyar jelölés

    Megjegyzések

    • @Kevin Cantu: Valójában a Javascript név a PascalCase-ben van, nem pedig a camelCase-ben …
    • @Guffa: érintse meg a é!
    • @Kevin Cantu: JavaScript-en: XMLHttpRequest < – Utálom ezt a nevet wi a szenvedély.
    • hypotheticalReasonsToNukeRedmond.push (XMLHttpRequest)
    • @Lionel: Valójában a magyar jelölést szinte soha nem használják a C ++ – ban, mivel a C ++ már ellenőrzi a típusokat. ' sokkal inkább történelmi tárgy, mint bármi más.

    Válasz

    Mindkettő!

    Sokat fejlődök a CakePHP-ben, és használok vagy CamelCase vagy $underscored_vars, a következő módon (még a CakePHP projekteken kívül is):

    1. fájlnevek /lowercased_underscored.php Tipikus, de említést érdemel.
    2. class class CamelCase extends ParentObject. Ne feledje, hogy a CamelCase használatakor a kezdő karakter nem kisbetűs. Úgy találom, hogy a camelCase úgy néz ki, hogy nagyon furcsa.
    3. változók $are_variables_underscored === TRUE;
    4. változók, amelyek – $CamelCase = new CamelCase();
    5. tömbkulcsok $collection["underscored_keys"];
    6. konstansok – szerintem mindenki egyetért abban, hogy az állandók ALL_CAPS_AND_UNDERSCORED.
    7. módszerek $CamelCase->foo_method_underscored();
    8. statikus módszerek CamelCase::just_like_regular_methods();

    Megjegyzések

    • egyetértenek veled, az első karakter alacsonyabb az eset megőrjít! Szenvedélyesen utálom a camelCase-t.
    • A Java-ban, ahol a nevek általában tevék, az osztálynevek valójában nagybetűvel kezdődnek. Ez megkülönbözteti őket a metódusok neveitől.

    Válasz

    Én személy szerint a mert olvasmányosabbnak találom, de egyetértek a többi válaszadóval, akik rámutatnak, hogy a meglévő kódbázissal való összhang sokkal fontosabb.

    Viszont van egy ellenpéldám azok számára, akik azt mondják: ” kövesse nyelvének és könyvtárainak egyezményét “.

    Korábban C kódot írtunk a Windows rendszerre a underscore_case használatával, és a következőt hívtuk: PascalCase Win32 függvények:

    if (one_of_our_conditions_is_true()) { call_one_of_our_functions(); CallSystemFunction(); } 

    A függvényneveink és a Microsoft függvényneveinek vizuális megkülönböztetése inkább segítséget jelentett, mint akadályt jelent, mivel világosan megmutatta, hogy a kód mikor kerül a “rendszer földre”.

    Ezen felül megváltoztathattam a szerkesztőm szintaxis kiemelő szabályait, hogy különböző színben jeleníthessem meg őket, ami további vizuális nyomokat adott, amikor megpróbáltam értsd meg a kód (vagy akár a saját) ismeretlen szakaszait.

    Válasz

    Nagyon szeretem Dylan egyszerűen normális kötőjelét, mivel könnyen begépelhető és egyszerű -olvasásra.

    Mint

    result-code := write-buffer(file-stream, some-string) 

    De azt hiszem, mivel ez a nyelv meglehetősen homályos, ez a témán kívüli. .. 🙁

    Megjegyzések

    • Fáradt vagyok a shift megnyomásával az aláhúzások beírásához.
    • Ez általában nem lehetséges változóneveknél, mivel " – " általában mínuszt jelent.

    Válasz

    Az egyetemen tanítottam meg a camelCase használatát. Néhány különböző konvenciót használtam az elmúlt években, de a camelCase-t jobban szeretem, mint bármi mást. Azt hiszem, emlékszem, hogy valahol olvastam, hogy a camelCase valójában a legkönnyebben olvasható és érthető.

    Megjegyzések

    • hát ez ' nem könnyebb, mert valahol olvasol, ' könnyebb, mert volt az első, akivel dolgoztál, és főleg azért, mert jobban hozzá van szokva, például i ' m kényelmesebb az aláhúzás_betűkkel.
    • mint az i ' olvastam, hogy egy tanulmány elkészült, és jobbnak találta ..

    Válasz

    Amint a legtöbb ember említette – Használja a meglévő szabványt. Ha új projekt, használja a használt nyelv és keretrendszer szabványát.

    És ne keverje össze, ez nem az olvashatóságról szól (ami szubjektív), hanem arról, hogy következetes és profi legyen. Bárki, aki olyan kódbázisban dolgozott, ahol számos “szabvány” zajlik, megérti.

    Válasz

    Néha használok egy keveréket: module_FunctionName. A moduljaim összes (nem statikus) függvénye egy modul rövidítéssel kezdődik.

    Például egy puffer tartalmának az I2C buszon történő küldésére szolgáló funkció:

    i2c_BufferSend() 

    A i2c_buffer_send alternatíva nem mutat elég nagy elkülönítést az előtag és a függvény neve között. i2cBufferSend keveredik a túl sok előtag (ebben a modulban elég sok az I2C függvény).

    iv <= id = "17a0380dbe">

    azonban alternatív lehet.

    Az a válaszom, hogy alkalmazkodik ahhoz, ami a legjobban megfelel a projektjének (a nyelvének, az SW architektúrájának, …), és szeretném felhívni a figyelmet arra, hogy ezeknek a stílusoknak a keverése hasznos lehet.

    myGeneralOpinionIsThatNamesAreMuchHarderToReadInCamelCase. I_respect_the_fact_that_some_could_think_otherwise_but_I_do_not_real__really_understand_why.

    Comments

    • +1 az utolsó 2 sorra, de nem ajánlom, hogy kombinálja a névadási szokásokat, ragaszkodnia kell az egyikhez vagy aegyéb.
    • Mindaddig, amíg a konvenció jól meghatározott (előtag + aláhúzás + PascalCase) …
    • Aláhúzással szeretném elválasztani a név részeit, amelyek szemantikailag diszjunktok különösen akkor, ha a felek bármelyikének közössége jelentős lehet. Például a rutinok Motor1_Start(), Motor2_Start(), Motor1_Stop() és Motor2_Stop() van olyan kapcsolata, amely kevésbé egyértelmű az aláhúzások nélkül.

    Válasz

    Személyesen , Inkább a camelCase-t részesítem előnyben, de egyes betűtípusokban szerintem az aláhúzások könnyebben olvashatók.

    Javaslom, hogy ha előtagokkal kell megadni a változókészleteket, akkor használjon olyan nyelvet, amely lehetővé teszi névterek készítését vagy tárgyak, vagy valami, ami ezeket az információkat tárolja.

    myName = 7 bobsName = 8 // :( me.name = 7 bob.name = 8 // :D 

    Hasonlóképpen, ha meg kell különböztetni a típusokat, miért ne használhatna olyan nyelvet, amely lehetővé teszi számukra?

    var intThingy = 7; // :( int thingy = 7; // :) 

    Ha ezt megadta, és nem csak meta-adatként használja a nevet, akkor nem lesz elég hosszú neve ahhoz, hogy nagyon számít, hogy inkább az extra billentyűleütést választja-e vagy sem.

    Megjegyzések

    • A camelCase vagy az aláhúzás_betű használatának egyik oka az, hogy nem ' t meg kell találni az objektumdefiníciót, hogy felismerje, mi az.

    Válasz

    Eleinte egyetértek a dafmetal-val . A legfontosabb, hogy ne keverje össze a különböző programozási stílusokat. Ha ezt egy és ugyanazon fájlban végzi, akkor a legrosszabb, amit IMHO-nak tehet. Különböző fájlokban ez zavaró, de nem végzetes.

    A következő dolog, amit meg kell tennie, hogy olyan szabályokat nevezzen meg, amelyek népszerűek annak a nyelvnek, amellyel Ön ír. Az én C ++ kódom az instnace számára másnak tűnik, mint valami a Python esetében (a PEP8 itt egy jó útmutató)

    Különböző elnevezési konvenciókat is használhat különböző dolgokra való hivatkozáshoz, amennyire valószínűleg az UPPER_CASE-t használja konstansokra (ez csak bizonyos Természetesen a nyelveken), ezt az_style-t használhatjuk a helyi változók nevéhez, míg a camelCase-t például a / member változókhoz. Erre valószínűleg nem lesz szükség, ha például self vagy this van.

    Frissítés

    Vegyünk egy olyan esetet, amikor van egy platformod, a Foo boszorkány nem ajánl semmilyen elnevezési konvenciót, és a csapat vezetője választhat egyet. Te vagy a csapat vezetője, miért választanád a camelCase-t, vagy miért az aláhúzás_eset.

    Nincsenek előnyei egyiknek a másikkal szemben. Ez az ügy nagyon szubjektív, és miután megállapodtak, nem fog változtatni. Mindig vannak ezek a vallásos háborúk ezekről a kis dolgokról. De ha már bármelyikhez igazodsz, a beszélgetések teljesen feleslegesnek tűnnek.

    Alex Martellit idézve egy nagyon hasonló kérdésről:

    Bizony, elfáradok a Ruby-ban, hogy az egyes blokkok végére begépelem az ostoba “véget” (nem csak behúzás nélkül) -, de aztán elkerülöm az ugyanolyan ostoba “:” A Python minden blokk kezdeténél megköveteli, hogy “majdnem lemosódjon :-). Egyéb szintaxis különbségek, például a” @foo “és az” self.foo “, vagy az eset nagyobb jelentősége a A Ruby vs Python valójában éppoly lényegtelenek számomra.

    Mások kétségkívül csak ilyen kérdésekre alapozzák a programozási nyelv választását, és a legforróbb vitákat generálják – de számomra ez csak egy példa a Parkinson egyik törvényének működésére ( a kérdésről folytatott vita összege fordítottan arányos a kérdés aktuális fontosságával ).

    Forrás

    Ha Ön a csapat vezetője, akkor csak egyet kell választania. Mivel az egyiknek nincs előnye a másikkal szemben, egyszerűen dobhat kocka, vagy kiválaszthatja azt, ami jobban tetszik.

    Válasz

    Több évvel ezelőtt olvastam, hogy azok a programozók, akik nem beszélnek angolul első nyelvként, hajlamosak az aláhúzást könnyebben megérteni, mint a teve esetét, de nem találom a hivatkozást, és fogalmam sincs, hogy igaz-e.

    Válasz

    Azoknál a programozási nyelveknél, amelyeket használtam, mint a Java, Python, C ++, világos formátumot fogadtam el:

    • ClassNamesArePascalCase
    • methodNamesAreCamalCase
    • variable_names_are_underscore
    • CONSTANT_VARIABLES_ARE_CAPITAL_VARIABLES

    Ez lehetővé teszi számomra, hogy azonnal felismeri, hogy mivel foglalkozom. Megállapítottam, hogy hasznos fenntartani magamnak, és könnyen követhetőnek kell lennie másoknak, akik elolvassák a kódot. Úgy gondolom, hogy ahogy mások említették, a következetesség a legfontosabb. Tehát megtalálom a formátumomat elég egyszerű a karbantartáshoz, miközben egyértelmű különbséget tesz a névtípusok között. Elképzelhetném az interface_Names_Are_Like_This és az Abstract_Classes_Are_Like_This lehetséges kiterjesztéseket, de úgy tűnik, hogy bonyolultabb követni őket, és talán nem olyan hasznos megkülönböztetni őket.

    Hasznosnak találtam azt is, ha szigorú vagyok és a PascalCase-ben olyan dolgokat nevezek meg, mint egy HTML elemző, mint HTMLParser, vagy HtmlParser. HTMLparser. Mivel úgy gondolom, hogy könnyebb megjegyezni a szigorú szabályt, és tisztábban tartja a szóhatárokat (sajnos olyan hibás írásokat igényel, mint a HTML vagy az SQL). Hasonlóan a camelCase-hez, a HTMLParserMethod vagy HTMLparserMethod helyett a htmlParserMethod.

    FRISSÍTÉS :

    Azóta megtaláltam a felhasználást a szabályok kibővítésére magánváltozókkal.- _private_variable_names_are_prefixed_with_an_underscore – _PRIVATE_CONSTANT_VARIABLES_ARE_PREFIXED_WITH_AN_UNDERSCORE

    A Java-ban ez azt jelenti, hogy a privát mezők definíció szerint egy másik névtérben vannak, mint a helyi változók, ami azt jelenti, hogy “private0” mezők. Más formátumok “m” előtagot láttam, de ezek a formátumok a camelCase-t is használják a változók nevéhez. Ez lehetővé teszi számomra, hogy különbséget tegyek olyan mezők között, amelyekhez csak belsőleg kell hozzáférni. osztály által (és szuper tisztává téve, ha az osztályon kívül történik object._field_x kiemelkedik).

    Válasz

    Ha rajtam múlna, nem kényszerítenék rá és nem is utalnék rá bármely adott stílus használata, mert programozóként képesek lennénk elolvasni egy szimbólumot IfItIsInCamelCase vagy in_underscore_space vagy akár in_SomeOtherStyle és megérteni, mit jelent. Ha a szimbólum elemzésével csekély időt kell tölteni, az nem nagy rezsi a nagy rendszerben a dolgokról.

    Most azt gondolom, hogy a konvenció fő érve az, hogy előre tudod, mi a függvény / változó név formátuma, és nem kell utánanézned – ez LoadXMLFile, loadXMLFile , LoadXmlFi le, load_xml_file? Most ellenkeznék ezzel az érveléssel: “Szerezzen egy IDE-t, amely támogatja az intelligens stílusú automatikus kiegészítést!” (bár nem mindig lehetséges).

    A végén azonban nem mindegy, hogy milyen stílust használsz, mert a fordító / tolmács nem igazán érdekli. Ami fontos, hogy a név hasznos legyen:

    NumberOfPrisonersReleasedByAccident manufacturer_name distance_EarthToMoon 

    Három különböző stílus, de pontosan tudja, hogy mindegyik mit csinál.

    Megjegyzések

    • Könyörögni szoktam, fontos a forrás megjelenése. Lásd: " A pragmatikus programozó " ' s törött Windows-elmélet. A változó elnevezési szokások rontják a megjelenést. pragprog.com/the-pragmatic-programmer/extracts/software-entropy
    • @Gauthier: Bár egyetértek a ' törött ablak ' ötlet, nem hiszem, hogy ' nem gondolom, hogy a szimbólumok nagybetűsítése ' törött ablak '. A véletlenszerűen lefektetett kód bizonyára az, és a jelenlegi projektemnek bizonyára sok olyanja van, amelyet megpróbálok rendet tenni, amikor csak tudok.
    • Egyetértek. Mindhármat egyformán jól tudom olvasni. Nem számít '. Csak azt használom, amit a fájl használ, akkor bármit javasol a nyelv (python), majd bármi, amit úgy érzem, a projekt lesz a legjobban kiszolgálva. (Korábban gwbasic-ban programoztam, és mindez nagybetűs volt – a régi szép időkben!)

    Válasz

    Butaságnak tűnhet, de nem tetszik az aláhúzás, mert az aláhúzás vékony, több soros szövegben rejtőzik, és hiányzik belőlem. Ezenkívül néhány (sok) szövegszerkesztőben és / vagy fejlesztői környezetben, amikor duplán kattintasz egy token nevet annak kiemeléséhez, hogy másolja, vagy áthúzza, a rendszer nem fogja kiemelni a teljes tokent, csak a token egy részét emeli ki a szomszédos aláhúzások között. Ez engem vezet.

    Válasz

    Én inkább a camelCase-t részesítem előnyben annak az ostoba okból, hogy fejlesztésem nagy részét Eclipse-ben végzem (Java, PHP és JavaScript esetén), és Ctrl + vagy Ctrl + szavakkal, valójában a camelCase határokon áll meg.

    Vagyis: myIntVariable az Eclipse 3 szóként kezelné, amikor Ct rl + ←   → ” keresztül.

    Tudom, hogy ez furcsa furcsaság, de azt tapasztalom, hogy jobban szeretem szerkeszteni a camelCase név középső szavát.

    Vélemény, hozzászólás?

    Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük