Naamconventies: camelCase versus underscore_case? wat vind je ervan? [gesloten]

Reacties

  • " eerlijk gezegd is de code gemakkelijker te lezen " Mening of feit?
  • IThinkTheyAreBothAboutTheSame maar_i_think_mixing_them_is_pretty_bad.
  • @dietbuddha: ik heb net ' maar_i_think_mixing id = “97408c6b94″>

veel sneller dan ' IThinkTheyAreBothAboutTheSame '. Ik ' ben er vrij zeker van dat dit wetenschappelijk kan worden bewezen. 🙂

  • @John Isaacks: ik ' ben verdrietig om te melden (als een voorstander van een undercase) dat een onderzoek concludeerde dat " kameelkarkas leidt tot een hogere nauwkeurigheid bij alle proefpersonen, ongeacht de training " .
  • IWonderWhetherReadingEnglishWrittenInOneStyleVersusAnotherMakesMuchDifference. InTheEnd, IFindThatNeitherIsVeryGoodAtBeingEasyToRead. It_screws_horribly_with_line_length_and_makes_even_the_simplest_thing_complicated. I_wonder_of_there_would_be_language_support_in_the_future_for_quoted_variable_names. " Dit zou naar mijn mening veel logischer zijn dan camelCase of underscore_separators ".
  • Answer

    Ik ben het ermee eens dat het tot op zekere hoogte afhangt van de taal die je gebruikt; code ziet er vaak netter uit als je symboolnamen dezelfde opmaak volgen regime als de ingebouwde taal en de voorraadbibliotheken van de taal.

    Maar waar er een keuze is, geef ik de voorkeur aan onderstrepingstekens boven kameelkoffer, om een simpele reden: ik vind die stijl gemakkelijker te lezen. een voorbeeld: welke vind je beter leesbaar? Dit:

    aRatherLongSymbolName 

    of dit:

    a_rather_long_symbol_name 

    Ik vind de underscore-versie veel gemakkelijker lezen. Mijn brein kan de onderstrepingstekens veel gemakkelijker negeren dan de grenzen van kleine letters / hoofdletters in kamelenletters, vooral wanneer de grenzen liggen tussen tekens die lijken op andere tekens in het tegenovergestelde hoofdlettergebruik, of cijfers (I/l, O/0, t/I, enz.). Deze booleaanse variabele slaat bijvoorbeeld een waarde op die aangeeft of een iglo al dan niet is gebouwd met de juiste bouwvergunning (ongetwijfeld een algemeen gebruik voor ons allemaal):

    isIllicitIgloo 

    Ik vind deze versie een veel gemakkelijker te lezen:

    is_illicit_igloo 

    Misschien zelfs erger dan een moeilijk te lezen symboolnaam is een gemakkelijk verkeerd te lezen symboolnaam. Goede symboolnamen zijn zelfdocumenterend, wat voor mij betekent dat u ze moet kunnen lezen en de betekenis ervan in één oogopslag moet kunnen begrijpen. (Ik weet zeker dat we allemaal code-afdrukken in bed voor ons plezier lezen, maar af en toe groeten we ook in haast.) Ik vind vaak met namen van kameelkoffers dat het gemakkelijk is om ze verkeerd te lezen en de verkeerde indruk te krijgen van de semantiek van een symbool.

    Opmerkingen

    • Een probleem met onderstrepingstekens: bruikbaarheid. Voor de meeste (Europese) toetsenborden moet het onderstrepingsteken worden ingedrukt druk op de SHIFT-toets. Dat moet je ook doen voor camelCase, maar ik kan gemakkelijk SHIFT ingedrukt houden met de pink en een willekeurige letter typen, maar aangezien het onderstrepingsteken zich direct naast de SHIFT-toets bevindt, is het indrukken van beide tegelijk nogal onhandig en onderbreekt het typen.
    • Voor de eerste vond ik camelCase eigenlijk gemakkelijker te lezen – hoewel de laatste duidelijk anders is.
    • Dit hangt inderdaad af van wat je ' gewend. Ik vind camelCases makkelijkerToRead, en bovendien ' zijn korter dan gelijkwaardige onderstrepingstekens.
    • Ik haat het typen van onderstrepingstekens.
    • Het " usability " punt is hiervoor niet relevant. Code wordt normaal gesproken maar één keer geschreven door één persoon, maar laat ' s zeggen in de volgorde van 1-10 keer, rekening houdend met enige bewerking en mogelijke paarprogrammering. Maar code wordt meestal tientallen / honderden / duizenden keren gelezen door een of mogelijk veel mensen. Code gemakkelijk leesbaar maken is dus een aantal grootheden belangrijker dan code gemakkelijk te schrijven.

    Antwoord

    Ik denk dat je de naamgevingsconventie van je platform moet gebruiken. underscore_case ziet er raar uit in C # -code, zoals camelCase in Ruby =)

    Reacties

    • Consistentie is een sleutel. Of u het nu eens bent met de lokale conventie of niet, u zult uw eigen tijd (en alle anderen ' s) gemakkelijker maken door consistent te zijn. (Tenzij de lokale conventie zelf inconsequent is.) Ook is leesbaarheid meestal een vals argument: lees genoeg code als je ' zult ontdekken dat er weinig verschil is, tenzij je besluit dat het onleesbaar is.
    • Helemaal mee eens. Ik denk gewoon dat het beter is om platformconventie te gebruiken in plaats van aangepaste, omdat bijvoorbeeld nieuwe jongens in een team zich er meer op hun gemak zullen voelen.
    • Maar wee degenen onder ons die op twee platforms werken met twee conventies , waar sommigen de voorkeur geven aan en sommigen de andere prefereren!
    • Als het platform twee conventies heeft, ' zou ik alle teamleden vragen om te stemmen voor een conventie waarmee ze vertrouwd zijn =)

    Antwoord

    Eerlijk gezegd, het maakt niet echt uit, zolang iedereen in het team de De kans is groot dat het een of het ander natuurlijker voor je is, hoewel het echte belang de leesbaarheid van code op de lange termijn is en dan is het cruciaal dat iedereen zich aan dezelfde naamgevingsregels houdt.

    Opmerkingen

    • je hebt volkomen gelijk, maar ik ' probeer de mening van mensen over heks te achterhalen die beter zou zijn om te gebruiken (laat ' s zeg voor het hele team), en waarom … terwijl ik begrijp dat sommige mensen misschien gewoon gewend zijn aan de een of andere conventie of dat anderen natuurlijker omgaan met de andere.

    Antwoord

    Op basis van een antwoord het antwoord van John Isaacks:

    “Eerlijk gezegd is de code gemakkelijker te lezen” Mening of feit?

    Ik besloot wat onderzoek te doen en vond dit artikel . Wat heeft de wetenschap te zeggen over het onderwerp?

    1. Camel-omhulsel heeft een grotere waarschijnlijkheid van correctheid dan underscores. (de kans is 51,5% hoger)
    2. Gemiddeld nam camel case 0,42 seconden langer , wat 13,5% langer.
    3. Training heeft geen statistisch significante invloed op hoe stijl correctheid beïnvloedt.
    4. Degenen met meer training waren sneller op IDs in de camel case-stijl.
    5. Training in één stijl, heeft een negatieve invloed op de zoektijd voor andere stijlen.

    In mijn blogpost over het onderwerp bekijk ik de wetenschappelijk artikel en trek de volgende conclusie.

    Alleen de traagheid van kamelenkoffer ( 2) is echt relevant voor programmeren, waarbij de andere punten als irrelevant worden afgewezen vanwege moderne IDEs en een meerderheid van camelCase-gebruikers in het onderzoek. De discussie (samen met een poll) is te vinden op de blogpost.

    Ik ben benieuwd hoe dit artikel je mening zou kunnen veranderen. 🙂

    Reacties

    • Uiteraard wijst u alle andere punten af vanwege uw voorkeur voor onderstrepingstekens en de andere punten helpen niet bij uw zaak. '
    • @Charles: Ja en nee, IMHO ik maak goede argumenten waarom ze kunnen worden afgewezen, en sommige worden zelfs als problematisch besproken door de krant zelf. A follow-up paper onderzoekt enkele van de problemen van deze paper , en de resultaten zijn pro-underscores.

    Answer

    Kopieer de slimste jongens

    In het geval van programmeertalen, kopieer de stijl van de ontwikkelaar van de taal.

    Ik codeer C bijvoorbeeld precies zoals wordt gedaan in K & R.

    Dan wanneer iemand een saaie codering probeert te beginnen stijlgesprek, kan ik ze vertellen “breng dat ter sprake met Dennis Ritche en laat me weten wat hij zegt”.

    Opmerkingen

    • Het origineel is niet altijd de beste. Er zijn veel slechte praktijken in het evangelieboek K & R over C. Lees voordat dit een vlammenoorlog begint enkele van de MISRA-aanbevelingen.
    • Niet ' vergeten, K & R is geschreven terwijl er geen GUI-IDEs waren. Het meeste werk werd gedaan op terminals van 80×25 tekens, dus schermruimte was duur. if (...) { bespaarde een regel! Tegenwoordig is er ' s meer schermruimte – zou K & R anders zijn als vandaag geschreven met hi-res GUI IDEs en meerdere monitoren opstellingen?
    • Ja, maar als iemand zegt dat ze C coderen zoals K & R, krijgen ze rekwisieten omdat ze ouderwets zijn.
    • @quickly_now , breng dat ter sprake met Dennis Ritchie en laat me weten wat hij zegt!
    • Ik gebruik veel opmaak van MS: _internalToClassOnly, toegankelijkByGetter, PublicVariable.

    Answer

    Over het algemeen geef ik de voorkeur aan camelCase. Dat komt echter omdat ik het grootste deel van mijn carrière in talen en omgevingen werk waar de stijlgidsen camelCase normaal aanbevelen (Java, ECMAScript, C ++). Jij, als PHP-persoon, hebt waarschijnlijk de tegenovergestelde voorkeur.

    Dat gezegd hebbende, als je verder gaat dan threeOrFourWords, of als je initialismen zoals XMLForExample gebruikt, is het niet meer zo leesbaar.

    Daarom geeft emacs ons de brilmodus.

    Reacties

    Antwoord

    camelCase

    Dit is een van de weinige plaatsen waar ik altijd” typevaardigheid “zal verkiezen boven leesbaarheid. CamelCase is gewoon gemakkelijker te typen, en als ik prettiger voor mijn vingers ben, wint ik het van een kleine leesbaarheidswinst voor mij.

    uiteraard aangenomen dat het project niet voortbouwt op een bestaande codebase met een andere standaard.

    Opmerkingen

    • Ik ben het daar niet ' mee eens, je schrijft code maar één keer, maar je moet het daarna meerdere keren lezen

    Antwoord

    Het is een interessante vraag, ik heb hier vaak over nagedacht. Maar er is geen definitief antwoord, denk ik.

    Volgens de “culturele” conventies is het een goede keuze. “Cultureel” betekent in dit geval conventies die zijn opgezet in het team / bedrijf en ze dragen in feite ook de taal / platformconventies. Het helpt anderen om uw code gemakkelijk te lezen / gebruiken en het vereist geen extra inspanningen en tijd om uw code te begrijpen.

    Soms is het interessant om geaccepteerde notaties te breken. Een van mijn kleine projecten (op Python) Ik gebruikte underscored_names voor hulpprogramma-functies / “beschermde” methoden, en methodNames in Java-stijl voor methoden. Mijn team was tevreden ermee 🙂

    Answer

    Hangt af van de programmeertaal.

    Ik overweeg om de case te gebruiken in dezelfde boot over het al dan niet gebruiken van de Hongaarse notatie:

    • Python: underscore_case, geen Hongaarse notatie
    • C ++: camelCase, Hongaarse notatie

    Reacties

    • @Kevin Cantu: eigenlijk is de naam Javascript in PascalCase in plaats van camelCase …
    • @Guffa: raak é!
    • @Kevin Cantu: op JavaScript: XMLHttpRequest < – Ik haat deze naam wi een passie.
    • hypothetischeReasonsToNukeRedmond.push (XMLHttpRequest)
    • @Lionel: eigenlijk wordt de Hongaarse notatie bijna nooit gebruikt in C ++, aangezien C ++ je typen al controleert. Het ' is meer een historisch artefact dan iets anders.

    Antwoord

    Beide!

    Ik ontwikkel veel in CakePHP, en ik gebruik ofwel CamelCase of $underscored_vars, op de volgende manier (zelfs buiten CakePHP Projects):

    1. bestandsnamen /lowercased_underscored.php Typisch, maar het vermelden waard.
    2. classes class CamelCase extends ParentObject. Merk op dat wanneer u CamelCase gebruikt, het eerste teken geen kleine letters is. Ik vind camelCase echt raar.
    3. variabelen $are_variables_underscored === TRUE;
    4. variabelen die instanties – $CamelCase = new CamelCase();
    5. arraysleutels $collection["underscored_keys"];
    6. constanten – ik denk iedereen is het erover eens dat constanten ALL_CAPS_AND_UNDERSCORED moeten zijn.
    7. methoden $CamelCase->foo_method_underscored();
    8. statische methoden CamelCase::just_like_regular_methods();

    Reacties

    • moeten het met je eens zijn, waarbij het eerste teken lager is zaak maakt me gek! Ik haat camelCase met een passie.
    • In Java, waar namen typisch camelCased zijn, beginnen de klassenamen eigenlijk met een hoofdletter. Dit is om ze te onderscheiden van methodenamen.

    Antwoord

    Persoonlijk geef ik de voorkeur aan underscore_case omdat ik het leesbaarder vind, maar ik ben het eens met de andere antwoorders die erop wijzen dat consistentie met de bestaande codebase veel belangrijker is.

    Ik heb echter een tegenvoorbeeld voor degenen die zeggen ” volg de conventie van uw taal en zijn bibliotheken “.

    In het verleden hebben we C-code op Windows geschreven met underscore_case, en Win32-functies:

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

    Het visuele onderscheid tussen onze functienamen en de functienamen van Microsoft was eerder een hulp dan een belemmering, aangezien het liet duidelijk zien wanneer de code naar “systeemland” ging.

    Bovendien was ik in staat om de regels voor syntaxisaccentuering van mijn editor te wijzigen om ze in verschillende kleuren weer te geven, wat verdere visuele aanwijzingen gaf bij het proberen begrijp onbekende delen van de code (of zelfs die van mijzelf).

    Answer

    Ik hou echt van Dylans gewoon-normale-streepjes-zoals-ze-gemakkelijk-te-typen-en-gemakkelijk zijn -to-read.

    Like

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

    Maar ik denk dat, aangezien deze taal nogal obscuur is, dit een beetje off-topic is. .. 🙁

    Reacties

    • Ik ben ook moe om op shift te drukken voor het typen van onderstrepingstekens.
    • Dit is meestal niet mogelijk voor variabelenamen, aangezien " – " meestal min betekent.

    Antwoord

    Ik heb op de universiteit camelCase geleerd. Ik heb de afgelopen jaren een paar verschillende conventies gebruikt, maar geef de voorkeur aan camelCase boven iets anders. Ik denk dat ik me herinner dat ik ergens gelezen heb dat camelCase eigenlijk het gemakkelijkst te lezen en te begrijpen is.

    Opmerkingen

    • nou, het ' is niet eenvoudiger omdat je ergens leest, het ' is eenvoudiger omdat het was de eerste waarmee je werkte en vooral omdat je er meer aan gewend bent, bijvoorbeeld i ' m meer vertrouwd met underscore_case.
    • zoals in i ' heb gelezen dat er een onderzoek is gedaan en vond dat het beter was.

    Antwoord

    Zoals de meeste mensen hebben gezegd – Gebruik de bestaande standaard. Als het een nieuw project is, gebruik dan de standaard voor de taal en frameworks die je gaat gebruiken.

    En raak niet in de war, dit gaat niet om leesbaarheid (wat subjectief is), het gaat om consistent en professioneel zijn. Iedereen die heeft gewerkt in een codebase met talrijke “standaarden” zal het begrijpen.

    Antwoord

    Ik gebruik soms een mix: module_FunctionName. Alle (niet-statische) functies in mijn modules beginnen met een module-afkorting.

    Bijvoorbeeld een functie voor het verzenden van de inhoud van een buffer op de I2C-bus:

    i2c_BufferSend() 

    Het alternatief i2c_buffer_send laat een onvoldoende grote scheiding zien tussen prefix en functienaam. i2cBufferSend mengt zich in de prefix te veel (er zijn nogal wat I2C-functies in deze module).

    i2c_Buffer_send zou echter een alternatief kunnen zijn.

    Mijn antwoord is dat je je aanpast aan wat het beste werkt voor je project (je taal, je SW-architectuur, …), en ik wilde erop wijzen dat het combineren van deze stijlen nuttig kan zijn.

    myGeneralOpinionIsThatNamesAreMuchHarderToReadInCamelCase. I_respect_the_fact_that_some_could_think_otherwise_but_I_do_not_really_understand_why.

    Reacties

    • +1 voor de laatste 2 regels, maar ik raad je niet aan om naamconventies te combineren, je moet bij een van deandere.
    • Zolang de conventie goed gedefinieerd is (voorvoegsel + onderstrepingsteken + PascalCase) …
    • Ik gebruik graag onderstrepingstekens om delen van een naam te scheiden die semantisch gescheiden zijn doeleinden, vooral als gemeenschappelijkheid op beide helften significant kan zijn. De routines Motor1_Start(), Motor2_Start(), Motor1_Stop() en Motor2_Stop() een relatie hebben die misschien minder duidelijk is zonder de onderstrepingstekens.

    Antwoord

    Persoonlijk , Ik geef de voorkeur aan camelCase, maar in sommige lettertypen denk ik dat underscores gemakkelijker te lezen zijn.

    Ik zou willen voorstellen dat als je voorvoegsels moet gebruiken om sets variabelen te onderscheiden, je een taal moet gebruiken waarmee je naamruimten kunt maken of objecten of iets om die informatie vast te houden.

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

    Evenzo, als u typen moet onderscheiden, waarom zou u dan geen taal gebruiken die ze toestaat?

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

    Als je dat eenmaal duidelijk hebt, en je “gebruikt de naam niet alleen als metagegevens, dan heb je niet genoeg lange namen om maakt heel veel uit of u die extra toetsaanslag verkiest of niet.

    Reacties

    • Een van de redenen om camelCase of underscore_case te gebruiken is dat ik ' t moet de objectdefinitie vinden om te onderscheiden wat het is.

    Antwoord

    In eerste instantie ben ik het eens met dafmetal . Het is van het grootste belang dat u geen verschillende programmeerstijlen mengt. Dit in een en hetzelfde bestand doen, is het ergste dat u IMHO kunt doen. In verschillende bestanden is het afleidend, maar niet fataal.

    Het volgende dat u moet doen, is het benoemen van regels die populair zijn voor de taal waarin u schrijft. Mijn C ++ code voor instnace zal zien er anders uit dan iets voor Python (PEP8 is hier een mooie gids)

    Je kunt ook verschillende naamgevingsconventies gebruiken om naar verschillende dingen te verwijzen, net zoveel als je waarschijnlijk UPPER_CASE gebruikt voor constanten (dit is alleen van toepassing op bepaalde talen natuurlijk), kun je this_style gebruiken voor lokale variabelenamen, terwijl je camelCase gebruikt voor bijvoorbeeld / member-variabelen. Dit is misschien niet nodig als u zaken heeft zoals self of this.

    Update

    Laten we eens kijken naar een geval waarin het platform Foo heks geen naamconventies aanbeveelt en het de keuze van de teamleider is om er een te kiezen. Jij bent die teamleider, waarom zou je camelCase kiezen of waarom underscore_case.

    Er zijn eigenlijk geen voordelen voor de een boven de ander. Deze kwestie is erg subjectief en als het eenmaal is overeengekomen, zal het geen verschil maken. Er zijn altijd religieuze oorlogen over deze kleine dingen. Maar als je eenmaal aan een van beide gewend bent, lijken de discussies volkomen overbodig te zijn.

    Om Alex Martelli te citeren over een zeer vergelijkbare kwestie:

    Natuurlijk word ik er in Ruby wel moe van om het dwaze einde aan het einde van elk blok te typen (in plaats van gewoon niet-inspringend) – maar dan moet ik het even dwaze : vermijden dat Python vereist aan de start van elk blok, dus dat “is bijna een wasbeurt :-). Andere syntaxisverschillen zoals” @foo “versus” self.foo “, of de grotere betekenis van case in Ruby versus Python, zijn eigenlijk net zo irrelevant voor mij.

    Anderen baseren hun keuze van programmeertalen ongetwijfeld op zulke kwesties, en ze genereren de heetste debatten – maar voor mij is dat gewoon een voorbeeld van een van de Parkinsonswetten in actie ( het bedrag van de discussie over een kwestie is omgekeerd evenredig met het werkelijke belang van de kwestie ).

    Bron

    Als je de teamleider bent, ga je er gewoon voor. Aangezien de een geen voordelen heeft ten opzichte van de ander, kun je gewoon dobbelstenen gooien of kiezen wat je leuker vindt.

    Antwoord

    Ik las een aantal jaren geleden dat programmeurs die geen Engels als eerste taal spreken de neiging hebben om onderstrepingstekens gemakkelijker te begrijpen dan die kamelenkoffer, maar ik kan de referentie niet vinden en ik heb geen idee of het waar is.

    Answer

    Voor programmeertalen die ik heb gebruikt, zoals Java, Python, C ++, heb ik een duidelijk formaat aangenomen:

    • ClassNamesArePascalCase
    • methodNamesAreCamalCase
    • variable_names_are_underscore
    • CONSTANT_VARIABLES_ARE_CAPITAL_VARIABLES

    Hierdoor kan ik onderscheid onmiddellijk waar ik mee te maken heb. Ik heb gemerkt dat dit nuttig is om voor mezelf te onderhouden, en het zou gemakkelijk te volgen moeten zijn voor iemand anders die de code leest. Ik denk dat, zoals anderen zeiden, consistentie het belangrijkst is. Dus ik vind mijn formaat om eenvoudig genoeg te zijn om te onderhouden, terwijl er duidelijk onderscheid wordt gemaakt tussen typen namen. Ik zou interface_Names_Are_Like_This en Abstract_Classes_Are_Like_This kunnen voorstellen als mogelijke extensies, maar het lijkt ingewikkelder om te volgen en misschien niet zo nuttig om een onderscheid te maken.

    Ik vond het ook handig om strikt te zijn en dingen in PascalCase te benoemen, zoals een HTML-parser als HtmlParser in plaats van HTMLParser of HTMLparser. Omdat ik denk dat het gemakkelijker is om de strikte regel te onthouden en de woordgrenzen duidelijker te houden (helaas vereist het spelfouten zoals HTML of SQL). Evenzo met camelCase, htmlParserMethod in plaats van HTMLParserMethod of HTMLparserMethod.

    UPDATE :

    Ik heb sindsdien gebruik gevonden bij het uitbreiden van deze regels met privévariabelen.- _private_variable_names_are_prefixed_with_an_underscore – _PRIVATE_CONSTANT_VARIABLES_ARE_PREFIXED_WITH_AN_UNDERSCORE

    In Java betekent dit dat privévelden zich per definitie in een andere naamruimte bevinden dan lokale variabelen, wat betekent dat je de iv idd = velden. Andere formaten Ik heb het voorvoegsel gezien met “m“, maar die formaten gebruiken ook camelCase voor de variabelenamen. Hierdoor kan ik ook een onderscheid maken tussen velden die alleen intern toegankelijk zijn door de klas (en het super duidelijk maken wanneer het buiten de klas gebeurt object._field_x valt op).

    Antwoord

    Als het aan mij lag, zou ik het niet afdwingen of erop duiden het gebruik van een bepaalde stijl, omdat we als programmeurs een symbool IfItIsInCamelCase of in_underscore_space of zelfs in_SomeOtherStyle zouden kunnen lezen en begrijpen wat het betekent. van dingen.

    Nu, het belangrijkste argument voor een conventie is, denk ik, dat je van tevoren weet wat het formaat van een functie / variabelenaam is en dat je het niet hoeft op te zoeken – is het LoadXMLFile, loadXMLFile , LoadXmlFi le, load_xml_file? Nu zou ik dat argument tegengaan door te zeggen: “Koop een IDE die automatische aanvulling in intellisense-stijl ondersteunt!” (niet altijd mogelijk).

    Uiteindelijk maakt het echter niet echt uit welke stijl je gebruikt, want het kan de compiler / interpreter niet echt schelen. Wat belangrijk is, is dat de naam nuttig is:

    NumberOfPrisonersReleasedByAccident manufacturer_name distance_EarthToMoon 

    Drie verschillende stijlen, maar je weet precies wat ze allemaal doen.

    Opmerkingen

    • Ik wil graag verschillen, het uiterlijk van de bron is belangrijk. Zie " De pragmatische programmeur " ' s theorie van gebroken vensters. Verschillende naamgevingsconventie maakt het uiterlijk erger. pragprog.com/the-pragmatic-programmer/extracts/software-entropy
    • @Gauthier: hoewel ik het eens ben met de ' gebroken venster ' idee, ik denk niet ' niet dat hoofdlettergebruik van symbolen een ' gebroken venster '. Lukraak opgemaakte code is dat zeker, en mijn huidige project heeft zeker veel van die dingen die ik probeer op te ruimen wanneer ik maar kan.
    • Ik ben het ermee eens. Ik kan ze alle drie even goed lezen. Het maakt ' niet uit. Ik gebruik gewoon wat het bestand gebruikt, wat de taal ook voorstelt (python) en dan alles waarvan ik denk dat het project het beste kan worden bediend. (Ik programmeerde vroeger in gwbasic, en het waren allemaal hoofdletters – vroeger!)

    Antwoord

    Klinkt misschien raar, maar ik hou niet van onderstrepingstekens omdat het onderstrepingsteken dun is en zich verbergt in tekst met meerdere regels en ik mis het. Ook in sommige (veel) teksteditors en / of ontwikkelomgevingen, als je dubbelklikt op een tokennaam om het te markeren om het te kopiëren of te slepen en neer te zetten, het systeem zal niet het hele token markeren, het markeert slechts een deel van het token, tussen aangrenzende onderstrepingstekens. Dat maakt me gek.

    Answer

    Ik geef de voorkeur aan camelCase vanwege de dwaze reden dat ik het grootste deel van mijn ontwikkeling doe in Eclipse (voor Java, PHP en JavaScript), en wanneer ik Ctrl + of Ctrl + via woorden, het stopt eigenlijk bij de camelCase-grenzen.

    Dat wil zeggen: myIntVariable zou door Eclipse worden behandeld als 3 woorden wanneer Ct rl + ←   → ” er doorheen.

    Ik weet dat het een rare gril is, maar ik merk dat ik er de voorkeur aan geef de middelste woorden in een camelCase-naam te kunnen bewerken.

    Geef een reactie

    Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *