Nimeämiskäytännöt: camelCase vs. alleviivattu_kotelo? mitä mieltä olet siitä? [suljettu]

Kommentit

  • ” rehellisesti, koodi on helpommin luettavissa ” Lausunto vai tosiasia?
  • IThinkTheyAreBothAboutTheSame but_i_think_mixing_them_is_pretty_bad.
  • @dietbuddha: Luin juuri ’ but_i_th_emink id = ”97408c6b94”>

paljon nopeammin kuin ’ IThinkTheyAreBothAboutTheSame ’. Olen ’ melko varma, että se voidaan todistaa tieteellisesti. 🙂

  • @John Isaacks: Olen ’ valitettavaa ilmoittaa (alikirjailijana), että eräässä tutkimuksessa todettiin, että ” kamelin kotelo johtaa parempaan tarkkuuteen kaikkien koehenkilöiden keskuudessa harjoittelusta riippumatta ” .
  • IWonderWhetherReadingEnglishWrittenInOneStyleVersusAnotherMakesMuchDifference. InTheEnd, IFindThatNeitherIsVeryGoodAtBeingEasyToRead. Se ruuvaa kauheasti_linjan_pituuden_ja tekee yksinkertaisimmasta_kohdasta. I_wonder_whether_there_would_be_language_support_in_the_future_for_quoted_variable_names. ” Tämä olisi mielestäni paljon järkevämpää kuin joko camelCase tai alaviivat_erottimet ”.
  • vastaus

    Olen samaa mieltä siitä, että se riippuu käyttämästäsi kielestä jossain määrin; koodi pyrkii näyttämään siistimmältä, kun symboleidesi nimet seuraavat samaa muotoilua Ohjelma on kielen sisäänrakennettuja ja varastokirjastoja.

    Mutta missä on valinnanvaraa, pidän parempana alaviivaa kuin kamelikotelo yhdestä yksinkertaisesta syystä: Minusta tämä tyyli on helpommin luettavissa. Tässä ”s esimerkki: mitkä ovat mielestäsi luettavampia? Tämä:

    aRatherLongSymbolName 

    tai tämä:

    a_rather_long_symbol_name 

    Minusta alleviivattu versio on paljon helpompaa lukea. Aivoni voivat jättää alaviivat huomiotta paljon helpommin kuin se pystyy havaitsemaan pienet / isot kirjaimet kamelin tapauksessa, varsinkin kun rajat ovat kuvioiden, jotka näyttävät samanlaisilta kuin muut vastakohdan kuviot, tai numeroiden (, O/0, t/I jne.). Esimerkiksi tämä looginen muuttuja tallentaa arvon, joka osoittaa, onko Igloo rakennettu asianmukaisella suunnitteluluvalla (epäilemättä yleinen käyttötapa meille kaikille):

    isIllicitIgloo 

    Minusta tämä versio on paljon helpommin luettavissa:

    is_illicit_igloo 

    Ehkä jopa pahempi kuin vaikeasti luettava symbolinimi on helposti luettavissa oleva symbolinimi. Hyvät symbolien nimet ovat itse dokumentoivia, mikä tarkoittaa minulle, että sinun pitäisi pystyä lukemaan ne ja ymmärtämään niiden merkitys yhdellä silmäyksellä. (Olen varma, että luemme kaikki kooditulosteita sängyssä mielihyvää varten, mutta joskus myös grakkaamme kiireessä.) Kamelikotelon symbolien nimien kanssa huomaan usein, että niitä on helppo lukea väärin ja saada väärä vaikutelma symbolin semantiikkaa.

    Kommentit

    • Yksi ongelma alaviivoin: käytettävyys. Useimpien (eurooppalaisten) näppäimistöjen kohdalla alaviivan kirjoittaminen vaatii pitämistä Sinun on tehtävä se myös CamelCaselle, mutta voin pitää SHIFT-näppäintä mukavasti vaaleanpunaisella ja kirjoittaa minkä tahansa kirjaimen – mutta koska alaviiva on aivan SHIFT-näppäimen vieressä, molempien painaminen samanaikaisesti on melko hankala ja keskeyttää kirjoittamisen.
    • Ensimmäisen mielestäni camelCase oli todella helpompi lukea – vaikka jälkimmäinen onkin selvästi erilainen.
    • Tämä riippuu todellakin siitä, mitä ’ on tottunut. Minusta kamelikotelot ovat helpompia lukea, ja lisäksi ne ’ ovat lyhyempiä kuin vastaavat alaviivat.
    • Minä viha kirjoittaminen alaviivoja.
    • ” käyttökelpoisuus ” ei ole tässä merkitystä. Yksi henkilö kirjoittaa koodin tyypillisesti vain kerran, mutta anna ’ iden sanoa 1–10-kertaisessa järjestyksessä joidenkin muokkausten ja potentiaalisen pariohjelmoinnin osalta. Mutta yksi tai mahdollisesti monet ihmiset lukevat koodin tyypillisesti kymmeniä / satoja / tuhansia kertoja. Koodin tekeminen helppolukuiseksi on siis useita kertoja tärkeämpi kuin koodin helppo kirjoittaa.

    vastaus

    Mielestäni sinun tulisi käyttää alustasi hyväksymää nimeämiskäytäntöä. alaviiva_kotelo näyttää oudolta C # -koodissa, kuten camelCase Ruby =)

    kommenteissa

    • Johdonmukaisuus on avain. Olitpa samaa mieltä paikallisen yleissopimuksen kanssa vai et, helpotat omaa aikaa (ja kaikkia muita ’ s) olemalla johdonmukaisia. . / li>
    • Olen täysin samaa mieltä. Luulen vain, että on parempi käyttää alustakokoonpanoa mukautettujen sijaan, koska esimerkiksi uudet kaverit tiimissä tuntevat olonsa mukavammaksi.
    • Mutta voi niitä meistä, jotka työskentelevät kahdella alustalla, joissa on kaksi käytäntöä , missä jotkut pitävät toisista ja toiset mieluummin toisista!
    • Jos alustalla on 2 sopimusta, pyydän ’ d pyytämään kaikkia ryhmän jäseniä äänestämään heille sopivasta sopimuksesta. =)

    Vastaa

    Rehellisesti, sillä ei ole väliä, kunhan kaikki joukkueen jäsenet käyttävät Mahdollisuudet ovat yksi tai toinen sinulle luonnollisempia, vaikka todellinen merkitys onkin koodin luettavuus pitkällä tähtäimellä, ja sitten on erittäin tärkeää, että kaikki noudattavat samoja nimeämissääntöjä.

    Kommentit

    • olet täysin oikeassa, kuitenkin, kun yritän selvittää kansojen mielipidettä noidasta, olisi parempi käyttää

    (anna ’ sanovat koko joukkueelle), ja miksi … vaikka ymmärrän, että jotkut ihmiset saattavat olla tottuneet joihinkin käytäntöihin tai toiset nauttivat luonnollisemmasta toisesta.

    Vastaa

    Perustuu vastaukseen John Isaacksin vastaus:

    ”rehellisesti sanottuna koodi on helpommin luettavissa” Lausunto tai tosiasia?

    Päätin tehdä tutkimusta ja löysin tämän kirjan . Mitä tieteellä on sanottavaa aiheesta?

    1. Kamelin kotelossa on suurempi todennäköisyys virheellisyydelle kuin alaviivat. (kertoimet ovat 51,5% suuremmat)
    2. kamelitapaus kesti keskimäärin 0,42 sekuntia pidempään , mikä on 13,5% pidempi.
    3. Koulutuksella ei ole tilastollisesti merkittävää vaikutusta siihen, miten tyyli vaikuttaa oikeellisuuteen.
    4. Ne, joilla on enemmän koulutusta, olivat nopeampia kamelitapaustyyppisissä tunnisteissa.
    5. Yhden tyylin harjoittelu, vaikuttaa negatiivisesti etsimisaikaan muille tyyleille.

    blogiviestissäni aiheesta tarkistan tieteellinen paperi ja tee seuraava johtopäätös.

    Vain kamelin tapaus hitaus ( 2) on todella merkityksellinen ohjelmoinnin kannalta, jolloin muut kohdat jätetään merkityksettömiksi nykyaikaisten IDE: n ja tutkimuksen CamelCase-käyttäjien enemmistön vuoksi. Keskustelu (yhdessä kyselyn kanssa) löytyy blogikirjoituksesta.

    Olen utelias, miten tämä artikkeli voi muuttaa mielipidettä. 🙂

    Kommentit

    • Tietysti hylkäät kaikki muut kohdat mieluummin alaviivojen vuoksi, ja muut kohdat eivät

    auta tapaustasi …

  • @Charles: Kyllä ja ei, IMHO esitän hyviä perusteluja sille, miksi heidät voidaan hylätä, ja joissakin niistä keskustellaan jopa ongelmallisena itse lehdessä. A jatkopaperi tutkii joitain tämän paperin ongelmia , ja tulokset ovat alaviivoja kannattavia.
  • Vastaus

    Kopioi älykkäät kaverit

    Ohjelmointikielien tapauksessa kopioi kielen kehittäjän tyyli.

    Esimerkiksi koodaan C täsmälleen samalla tavalla kuin tehdään K & R: ssä.

    Sitten kun joku yrittää aloittaa tylsän koodauksen tyylikeskustelun, voin kertoa heille ”tuo se esiin Dennis Ritchen kanssa ja kerro minulle, mitä hän sanoo.”

    Kommentit

    • Alkuperäinen ei ole aina paras. K & R: n evankeliumikirjassa on monia huonoja käytäntöjä. Ennen kuin liekkisota alkaa, lue joitain MISRA-suosituksia.
    • Älä ’ unohda, K & R kirjoitettiin, kun GUI-IDE: itä ei ollut. Suurin osa työstä tehtiin 80×25 merkkipäätteellä, joten näyttötila oli huippuluokkaa, joten if (...) { tallensi rivin! Nykyään ’ on enemmän näyttötilaa – olisiko K & R erilainen, jos se kirjoitettaisiin tänään hi-res GUI IDE: llä ja monilla näytöillä perustettu?
    • Joo, mutta kun joku sanoo koodaavansa C kuten K & R, he saavat rekvisiitta vanhana kouluna olemisesta.
    • @quickly_now , tuo se esiin Dennis Ritchien kanssa ja kerro minulle, mitä hän sanoo!
    • Hyväksyn paljon muotoiluja MS: ltä: _internalToClassOnly, accesableByGetter, PublicVariable.

    Vastaa

    Yleensä pidän parempana camelCasesta. Tämä johtuu kuitenkin siitä, että suurimman osan urastani olen työskennellyt kielillä ja ympäristöissä, joissa tyylioppaat yleensä suosittelevat camelCasea. (Java, ECMAScript, C ++). Sinulla, PHP-henkilöllä, on todennäköisesti päinvastainen etusija. / p>

    Siitä huolimatta, kun ylität kolmeOrFourWords-sanaa tai jos käytät inicialisointeja, kuten XmlForExample, se lakkaa olemasta niin luettavissa.

    Siksi emacs antaa meille lasitilan.

    Kommentit

    Vastaa

    camelCase

    Tämä on yksi harvoista paikoista, joissa valitsen aina tyypin kyvyn luettavuuden sijaan. CamelCase on vain helpompi kirjoittaa, ja se, että olen mukavampi sormilleni, voittaa minulle helpon luettavuuden.

    olettaen tietysti, että projekti ei rakenna olemassa olevalle koodipohjalle, jolla on erilainen standardi.

    Kommentit

    • En ole ’ samaa mieltä, kirjoitat koodin vain kerran, mutta sinun on luettava se useita kertoja jälkeenpäin

    Vastaus

    Se on mielenkiintoinen kysymys, olen ajatellut tätä monta kertaa. Mutta mielestäni ei ole olemassa varmaa vastausta.

    ”Kulttuuristen” sopimusten noudattaminen on hyvä valinta. ”Kulttuurilla” tarkoitetaan tässä tapauksessa ryhmässä / yrityksessä perustettuja käytäntöjä, ja ne periaatteessa kantavat myös kielen / alustan käytäntöjä. Se auttaa muita lukemaan / käyttämään koodiasi helposti eikä vaadi lisätoimia ja aikaa päästäksesi ymmärtämään koodiasi.

    Joskus on mielenkiintoista rikkoa hyväksyttyjä merkintöjä. Yksi pienistä projekteistani (Pythonissa) Käytin underscored_names apuohjelmatoimintoihin / ”suojattuihin” menetelmiin ja Java-tyyliin methodNames menetelmiin. Tiimini oli onnellinen sen kanssa 🙂

    Vastaus

    Riippuu ohjelmointikielestä.

    Harkitsen tapauksen käyttöä sama vene siitä, käytetäänkö unkarilaista merkintää:

    • Python: alaviiva_kotelo, ei unkarilaista merkintää
    • C ++: camelCase, unkarilainen notaatio

    Kommentit

    • @Kevin Cantu: Itse asiassa nimi Javascript on PascalCasessa eikä camelCasessa …
    • @Guffa: kosketa é!
    • @Kevin Cantu: JavaScriptissä: XMLHttpRequest < – Vihaan tätä nimeä wi intohimo.
    • hypoteettinenReasonsToNukeRedmond.push (XMLHttpRequest)
    • @Lionel: Itse asiassa unkarilaista merkintää ei käytetä melkein koskaan C ++: ssa, koska C ++ tarkistaa jo tyypit. Se ’ on enemmän historiallinen esine kuin mikään muu.

    Vastaa

    Molemmat!

    Kehitän paljon CakePHP: ssä ja käytän joko CamelCase tai $underscored_vars, seuraavalla tavalla (jopa CakePHP-projektien ulkopuolella):

    1. tiedostonimet /lowercased_underscored.php Tyypillinen, mutta mainitsemisen arvoinen.
    2. luokat class CamelCase extends ParentObject. Huomaa, että kun käytetään CamelCase, alkumerkki ei ole pieni. Minusta camelCase näyttää todella oudolta.
    3. muuttujat $are_variables_underscored === TRUE;
    4. muuttujat, jotka pitävät esiintymiä $CamelCase = new CamelCase();
    5. taulukonäppäimet $collection["underscored_keys"];
    6. vakiot – luulen jokainen voi sopia, että vakioiden tulisi olla ALL_CAPS_AND_UNDERSCORED.
    7. menetelmiä $CamelCase->foo_method_underscored();
    8. staattiset menetelmät CamelCase::just_like_regular_methods();

    Kommentit

    • täytyy olla kanssasi samaa mieltä, sillä ensimmäisen merkin on oltava pienempi tapaus ajaa minut hulluksi! Vihaan camelCasea intohimolla.
    • Java-tilassa, jossa nimiä käytetään tyypillisesti kamelina, luokan nimet alkavat tosiasiassa isolla kirjaimella. Tämän tarkoituksena on erottaa ne menetelmien nimistä.

    Vastaa

    Pidän henkilökohtaisesti mieluummin underscore_case koska mielestäni se on luettavampaa, mutta olen samaa mieltä muiden vastaajien kanssa, jotka huomauttavat, että johdonmukaisuus nykyisen koodipohjan kanssa on paljon tärkeämpää.

    Minulla on kuitenkin vasta-esimerkki niille, jotka sanovat ” noudata kielesi ja sen kirjastojen käytäntöä ”.

    Aiemmin kirjoitimme C-koodin Windowsissa käyttämällä underscore_case ja kutsumme PascalCase Win32-toiminnot:

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

    Funktionimien ja Microsoftin funktionimien visuaalinen ero oli pikemminkin apu kuin este, koska se osoitti selvästi, milloin koodi oli siirtymässä ”järjestelmän maahan”.

    Lisäksi pystyin muuttamaan editorini syntaksin korostussääntöjä näyttämään ne eri väreillä, mikä antoi lisää visuaalisia vihjeitä yritettäessä ymmärrä tuntemattomat koodiosat (tai jopa omat).

    vastaus

    Pidän todella Dylanin tavallisista viivoista, koska ne ovat helposti kirjoitettavissa ja helppoja -luettava.

    Kuten

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

    Mutta luulen, että tämä kieli on melko hämärä, tämä on tavallaan aiheen ulkopuolella. .. 🙁

    Kommentit

    • Olen myös kyllästynyt painamaan shift-näppäintä alaviivojen kirjoittamiseen.
    • Tämä ei yleensä ole mahdollista muuttujien nimille, koska ” – ” tarkoittaa yleensä miinusta.

    Vastaus

    Minua opetettiin käyttämään camelCasea yliopistossa. Olen käyttänyt muutamia erilaisia käytäntöjä viime vuosina, mutta pidän parempana camelCasesta kuin muusta. Luulen, että muistan lukeneen jossain, että camelCase on itse asiassa helpoin lukea ja ymmärtää.

    Kommentit

    • hyvin se ’ ei ole helpompaa, koska luet jostain, se ’ on helpompaa, koska se oli ensimmäinen, jonka kanssa olet työskennellyt ja pääasiassa siksi, että olet tottunut siihen, esimerkiksi olen

    m mukavampi alaviivan_kotelon kanssa.

  • kuten i ’ olemme lukeneet, että tutkimus tehtiin ja todettiin sen olevan parempi.
  • Vastaa

    Kuten useimmat ihmiset ovat maininneet – Käytä olemassa olevaa standardia. Jos se on uusi projekti, käytä standardia käyttämällesi kielelle ja kehyksille.

    Ja älä sekoita, tässä ei ole kyse luettavuudesta (mikä on subjektiivista), vaan johdonmukaisuudesta ja ammattimaisuudesta. Jokainen, joka on työskennellyt koodikannassa, jossa on käynnissä lukuisia ”standardeja”, ymmärtää.

    Vastaa

    Käytän joskus sekoitusta: module_FunctionName. Kaikki moduulien (ei-staattiset) toiminnot alkavat moduulin lyhenteellä.

    Esimerkiksi toiminto puskurin sisällön lähettämiseksi I2C-väylälle:

    i2c_BufferSend() 

    Vaihtoehto i2c_buffer_send ei näytä riittävän suurta eroa etuliitteen ja funktion nimen välillä. i2cBufferSend sekoittuu etuliite liikaa (tässä moduulissa on melko paljon I2C-toimintoja).

    i2c_Buffer_send saattoi kuitenkin olla vaihtoehto.

    Vastaukseni on, että mukautut projektiisi parhaiten soveltuvaan (kieli, SW-arkkitehtuurisi jne.), Ja halusin huomauttaa, että näiden tyylien sekoittaminen voi olla hyödyllistä.

    myGeneralOpinionIsThatNamesAreMuchHarderToReadInCamelCase. I_ respect_the_fact_that_some_could_think_otherwise_but_I_do_not_really_understand_why.

    Kommentit

    • +1 kahdelle viimeiselle riville, mutta en suosittele nimeämiskäytäntöjen yhdistämistä, sinun on pidettävä kiinni yhdestä taimuu.
    • Niin kauan kuin yleissopimus on hyvin määritelty (etuliite + alaviiva + PascalCase) …
    • Haluan käyttää alaviivoja erottamaan osan osat, jotka ovat semanttisesti irti erityisesti, jos kummankin puoliskon yhteisyys voi olla merkittävä. Esimerkiksi rutiinit Motor1_Start(), Motor2_Start(), Motor1_Stop() ja Motor2_Stop() on suhde, joka saattaa olla vähemmän selkeä ilman alaviivoja.

    Vastaa

    Henkilökohtaisesti , Pidän parempana camelCasesta, mutta joissakin kirjasimissa mielestäni alaviivoja on helpompi lukea.

    Ehdotan, että jos sinun on käytettävä etuliitteitä muuttujien erottamiseen, sinun tulee käyttää kieltä, jonka avulla voit tehdä nimitiloja tai esineitä tai jotain näiden tietojen säilyttämiseksi.

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

    Vastaavasti, jos sinun on erotettava tyypit, miksi et käyttäisi kieltä, joka sallii niiden?

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

    Kun olet saanut suoran, etkä vain käytä nimeä metadatana, sinulla ei ole tarpeeksi pitkiä nimiä sillä on suuri merkitys, haluatko ylimääräisen näppäimen painamisen vai ei.

    Kommentit

    • Yksi syy camelCasen tai alaviivan_kotelon käyttämiseen on, että en ’ t täytyy löytää esineiden määritelmä havaitsemaan mikä se on.

    Vastaa

    Aluksi olen samaa mieltä dafmetalin kanssa . On erittäin tärkeää, ettet sekoita eri ohjelmointityylejä. Tämän tekeminen yhdessä ja samassa tiedostossa on pahin, mitä voit tehdä IMHO: lle. Eri tiedostoissa se on häiritsevää, mutta ei kohtalokasta.

    Seuraava asia, jonka sinun on tehtävä, on nimetä säännöt, jotka ovat suosittuja kielelle, jolla kirjoitat. Oma C ++ -koodini instnacelle tulee näyttää ilmeisesti erilaiselta kuin jotain Pythonille (PEP8 on mukava opas täällä)

    Voit myös käyttää erilaisia nimityskäytäntöjä viitataksesi erilaisiin asioihin, yhtä paljon kuin todennäköisesti käytät vakioille UPPER_CASE (tämä koskee vain tiettyjä tietysti kielillä), voit käyttää tätä_styleä paikallisten muuttujien nimille, kun taas esimerkiksi camelCase / jäsenmuuttujia. Tätä ei ehkä tarvita, jos sinulla on esimerkiksi self tai this.

    Päivitä

    Otetaan tapaus, jossa sinulla on foorumi, Foo noita ei suosittele nimeämiskäytäntöjä ja se on joukkueenjohtajan valinta valita yksi. Olet sen ryhmän johtaja, miksi valitsisit camelCasen tai miksi alaviiva_kotelo.

    Yhdelläkään ei ole mitään etuja. Tämä asia on hyvin subjektiivinen, ja kun siitä on sovittu, se ei tee mitään. Näistä pienistä asioista käydään aina näitä uskonnollisia sotia. Mutta kun olet sopeutunut kumpaankin, keskustelut näyttävät olevan täysin tarpeettomia.

    Lainatakseni Alex Martellia hyvin samankaltaisesta asiasta:

    Toki väsyn Ruby-kirjoituksessa kirjoittamaan typerä ”pää” jokaisen lohkon loppuun (pikemminkin kuin vain purkautumatta) – mutta sitten minun on vältettävä kirjoittamasta yhtä typerää ”:” joka Python vaatii jokaisen lohkon alussa niin, että ”melkein pestään :-). Muut syntaksierot, kuten” @foo ”tai” self.foo ”, tai kirjainten suurempi merkitys Ruby vs. Python ovat oikeastaan melkein yhtä merkityksettömiä minulle.

    Toiset perustavat epäilemättä ohjelmointikielen valinnan juuri tällaisiin asioihin, ja he synnyttävät kuumimmat keskustelut – mutta minulle se on vain esimerkki yhdestä Parkinsonin lain toiminnasta ( asiasta käytävän keskustelun määrä on kääntäen verrannollinen asian todelliseen merkitykseen ).

    Lähde

    Jos olet tiiminvetäjä, mene vain yhden kanssa. Koska yhdellä ei ole mitään etuja toiseen nähden, voit vain heittää noppaa tai valita haluamasi.

    Vastaa

    Luin useita vuosia sitten, että ohjelmoijille, jotka eivät puhu englantia ensi kielenä, on tapana löytää alaviivat helpommin ymmärrettävissä tuohon kamelitapaukseen – mutta en löydä viittausta, enkä tiedä, onko se totta.

    Vastaus

    Ohjelmointikielille, joita olen käyttänyt, kuten Java, Python, C ++, olen ottanut käyttöön selkeän muodon:

    • ClassNamesArePascalCase
    • methodNamesAreCamalCase
    • variable_names_are_underscore
    • CONSTANT_VARIABLES_ARE_CAPITAL_VARIABLES

    Tämän ansiosta voin havaitse heti, mitä olen tekemisissä. Olen havainnut, että siitä on hyötyä ylläpitää itselleni, ja sen pitäisi olla helppo seurata jollekin muulle koodia lukevalle. Mielestäni yhtenäisyys on tärkeintä. Joten löydän muodoni jotta se olisi riittävän yksinkertainen ylläpitää ja samalla selkeästi erotella nimityyppien välillä. Voisin kuvitella käyttöliittymän_nimet_Are_Like_This ja Abstract_Classes_Are_Like_This mahdollisiksi laajennuksiksi, mutta ne näyttävät olevan monimutkaisempia seurata eivätkä ehkä ole yhtä hyödyllisiä erottelut. > Olen myös pitänyt hyödyllisenä olla tiukka ja nimetä PascalCasessa asioita, kuten HTML-jäsennin HtmlParseriksi HTMLParserin sijaan. HTMLparser. Koska mielestäni on helpompaa muistaa tiukka sääntö ja pitää sanarajat selkeämmin (valitettavasti se vaatii kirjoitusvirheitä, kuten HTML tai SQL). Vastaavasti camelCase, htmlParserMethod HTMLParserMethod tai HTMLparserMethod sijaan.

    PÄIVITÄ :

    Olen löytänyt käyttöä näiden sääntöjen laajentamiseen yksityisiin muuttujiin.- _private_variable_names_are_prefixed_with_an_underscore – _PRIVATE_CONSTANT_VARIABLES_ARE_PREFIXED_WITH_AN_UNDERSCORE

    Java-tilassa tämä tarkoittaa, että yksityiset kentät ovat määritelmän mukaan eri nimiavaruudessa kuin paikalliset muuttujat, mikä tarkoittaa, että voit ohittaa iv01 kentät. Muut muodot, jotka olen nähnyt etuliitteellä ”m”, mutta nämä muodot käyttävät muuttujien nimissä myös camelCasea. Tämän ansiosta voin myös tehdä eron kenttien välillä, joita tulisi käyttää vain sisäisesti luokan mukaan (ja tehdä siitä super selväksi, kun se tapahtuu luokan ulkopuolella object._field_x erottuu).

    Vastaa

    Jos se riippuisi minusta, en pakottaisi tai vihjaisi minkä tahansa tietyn tyylin käyttö, koska ohjelmoijina voimme pystyä lukemaan symbolin IfItIsInCamelCase tai in_underscore_space tai jopa in_SomeOtherStyle ja ymmärtämään, mitä se tarkoittaa. Pienen ajan käyttäminen symbolin jäsentämisessä ei ole suuri piirustus suuressa järjestelmässä asioista.

    Nyt yleiskokouksen pääargumentti on luultavasti se, että tiedät etukäteen funktion / muuttujan nimen muodon ja sinun ei tarvitse etsiä sitä – onko se LoadXMLFile, loadXMLFile , LoadXmlFi le, load_xml_file? Vastustan tätä väitettä sanomalla ”Hanki IDE, joka tukee intellisense-tyylin automaattista täydennystä!” (ei kuitenkaan aina mahdollista).

    Loppujen lopuksi sillä ei kuitenkaan ole väliä mitä tyyliä käytät, sillä kääntäjä / tulkki ei välitä siitä. Tärkeää on, että nimi on hyödyllinen:

    NumberOfPrisonersReleasedByAccident manufacturer_name distance_EarthToMoon 

    Kolme erilaista tyyliä, mutta tiedät tarkalleen, mitä kukin tekee.

    Kommentit

    • Pyydän erimielisyyttä, lähteen ulkonäkö on tärkeä. Katso ” Käytännöllinen ohjelmoija ” ’ rikkinäisten ikkunoiden teoria. Nimitystavan vaihtelu pahentaa ulkonäköä. pragprog.com/the-pragmatic-programmer/extracts/software-entropy
    • @Gauthier: Vaikka olen samaa mieltä ’ rikki ikkuna ’ idea, en mielestäni ’ usko, että symbolien isojen kirjainten käyttö on ’ rikki ikkuna ’. Satunnaisesti laadittu koodi on varmasti, ja nykyisessä projektissani on varmasti paljon sellaista, jonka yritän siivota aina kun pystyn.
    • Olen samaa mieltä. Pystyn lukemaan kaikki kolme yhtä hyvin. Sillä ei ole ’ merkitystä. Käytän vain mitä tiedostoa käytetään, sitten mitä kieli ehdottaa (python) ja sitten mitä mielestäni projekti palvelee parhaiten. (Minulla oli tapana ohjelmoida gwbasicissa, ja kaikki olivat korkkeja – vanhoja hyviä aikoja!)

    Vastaa

    Saattaa tuntua typerältä, mutta en pidä alaviivoista, koska alaviiva on ohut ja piiloutuu useisiin viivateksteihin, ja kaipaan sitä. Lisäksi joissakin (monissa) tekstieditorissa ja / tai dev-ympäristöissä kaksoisnapsauttamalla tunnuksen nimi sen korostamiseksi kopioimiseksi tai vetämiseksi ja pudottamiseksi, järjestelmä ei korosta koko tunnusta, se korostaa vain yhden osan tunnuksesta vierekkäisten alaviivojen välissä. Se ajaa minut pähkinöiksi.

    Vastaus

    Minulla on tapana pitää parempana camelCasea siitä typerästä syystä, että teen suurimman osan kehityksestäni Eclipse-sovelluksessa (Java, PHP ja JavaScript) ja kun Ctrl + tai Ctrl + sanojen kautta, se pysähtyy tosiasiallisesti camelCase-rajoille.

    Eli: myIntVariable Eclipse käsittelisi 3 sanana, kun Ct rl + ←   → ” sen läpi.

    Tiedän sen olevan outo oivallus, mutta mielestäni mieluummin pystyn muokkaamaan camelCase-nimen keskimmäisiä sanoja.

    Vastaa

    Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *