2009-10-22 24 views
8

Capisco il motivo per cui cammello i nomi delle variabili, ma mi sono sempre chiesto perché dovresti cammello caso un nome di metodo? perché è toString() e non ToString()? Quale scopo serve?nome metodo cammello nome

+4

Dicci cosa hai capito di essere "la ragione di cammello caso i nomi delle variabili", e poi magari possiamo dirvi "il motivo di cammello caso un nome di metodo" :) – AakashM

+1

Entrambi sono in realtà casi di cammello, inferiore o superiore. È solo una convenzione individuare rapidamente ciò che è nel tuo codice e renderlo più familiare alle altre persone che devono esplorarlo. – RedGlyph

+0

Ho pensato che fosse perché potevi dichiarare il tipo con un maiuscolo e istanziarlo con un nome di variabile minuscolo, per evitare di nominare collisioni - btw, non uso questa convenzione di denominazione del caso cammello, ma ero sempre curioso di razionale dietro ad alcuni di esso. – Jeremy

risposta

5

È solo una convenzione. Come tutte le convenzioni a cui servono solo, nella mente dei loro creatori, rendono il codice più facile da leggere e mantenere.

+0

Anche .NET ha adottato 'ToString()' come convenzione, invece di 'toString()', contrariamente a Java. – Joey

+0

Ok, ma perché abbassare la custodia la prima parola di un nome di metodo lo rende più facile da leggere? – Jeremy

+0

Alcuni programmatori sono cresciuti sull'intelaiatura del cammello per tutte le loro variabili, vale a dire int un po 'così è un po' una progressione naturale per i loro metodi. Proprio come alcune persone sostengono che la notazione ungherese (http://en.wikipedia.org/wiki/Hungarian_notation) è estremamente facile da leggere mentre altri non sono d'accordo. È come il vecchio dibattito sul fatto che le parentesi graffe passino sulla stessa riga o nella riga successiva :) – popester

2

Perché per essere coerenti dovresti mettere in maiuscolo la prima lettera di ogni nome di metodo, e quindi devi premere il tasto Shift più volte in un giorno.

+0

grazie per il drive-by downvote anonimo alla mia osservazione perfettamente valida, ma leggermente sarcastica, – kurosch

1

Non penso che ci sia alcun motivo , queste sono solo convenzioni e ognuno potrebbe avere il suo.

1

Se si desidera una funzione

write(); 

che richiede meno sforzo (uno in meno SHIFT pressione di un tasto) rispetto

Write(); 

Tuttavia, se si sta scrivendo in un file, è necessario distinguere il parole. Quindi

writeToFile(); 

è marginalmente più efficiente (e ancora in linea con il primo esempio)

+5

Negli IDE moderni con IntelliSense, questo non è più vero – SLaks

+0

Negli IDE moderni con IntelliSense, è forse * meno * di un problema. Non lo escluderei del tutto. Un sacco di persone (giuste o sbagliate) non usano IDE (per qualsiasi motivo) –

1

Di solito si tende a seguire quello che utilizza il framework. Quindi gli sviluppatori Java tendono ad usare lettere minuscole per iniziare, e gli sviluppatori .NET tendono a usare le maiuscole per iniziare.

3

Perché è questo che piaceva ai designer originali di Java.

+0

Sì, perché? Di solito faresti qualcosa, penserei, per servire uno scopo ... – Jeremy

+0

Perché preferiscono questo. – SLaks

21

Un sacco di convenzioni dicono di capitalizzare la prima lettera di tipi (classi, strutture, enumerazioni, ecc.) E di utilizzare in minuscolo altrimenti (funzioni, membri, ecc.).

Se si segue questa convenzione, si può quindi dire solo guardando che MyStruct.MyType si riferisce a un tipo nidificato, e MyStruct.myData si riferisce a una qualche forma di dati e MyStruct.myFunc() si riferisce ad una chiamata di funzione.

1

Se non hai ancora letto lo wikipedia page, contiene tutto ciò che potresti sapere sul caso Camel, inclusa la sua storia.

CamelCase (scritto anche "caso cammello") o capitali mediale consiste nella pratica di crei parole composte o frasi in cui gli elementi vengono uniti senza spazi, con iniziale lettera di ogni elemento maiuscolo all'interno composto.

E

Una teoria per l'origine del cammello caso convenzione sostiene che C programmatori e hacker semplicemente trovato più conveniente rispetto alla stile standard di sottolineatura-based.

C programmatori pigri? Ne dubito molto.

+0

Lo stile basato su underscore risale a EBCDIC, che non supportava maiuscole e minuscole. Le variabili assomigliavano a THIS_VARIABLE. Passa a ASCII e ottieni questa_variabile, che è più facile da leggere. L'uso di questa variabile è ancora più semplice, e questo è ciò che facciamo nei linguaggi case-sensitive. È interessante notare che in linguaggi insensibili alle maiuscole e minuscole, come SQL, non è raro trovare barre trasversali. –

+0

EBCDIC supporta casi misti. Tuttavia, i codici BCD a 6 bit erano (normalmente?) Tutti maiuscoli. –

13

Usiamo la lettera minuscola sulla prima lettera per risparmiare un po 'di inchiostro nelle nostre stampe.

+0

comico, ma ragionevole. pensa globale, agisci locale. UPVOTED :) –

0

Un amico mi ha detto che uno studio ha dimostrato che le persone potevano leggere il codice più facilmente se Tipi erano cammello, con una prima lettera maiuscola, e le variabili erano fatte_come_questo. Sicuramente fa saltare la differenza tra tipi e variabili.

Non ho mai saputo quale fosse più chiaro per i nomi delle funzioni. In generale ho considerato di capitalizzare la prima lettera, ma dopo averlo letto penso che potrebbe essere più leggibile non distinguere tra nomi di tipi e nomi di metodi (sì, in alcune lingue una firma di metodo è un tipo, ma tu sai cosa intendo !)

+3

Sono sempre cinico di risposte che iniziano "Un amico ha detto ..." senza citazione. Un link allo studio sarebbe buono :) – Andrew

1

caso Pascal la prima lettera l'identificativo e la prima lettera di ogni parola concatenata successivamente all'acquisto sono capitalizzati. È possibile utilizzare il caso Pascal per identificatori di tre o più caratteri. Per esempio: BackColor

maiuscolo Tutte le lettere del identificatore sono capitalizzati. Utilizzare questa convenzione solo per identificatori costituiti da due o meno lettere o abbreviazioni come BSU e UCS. Nell'esempio seguente, IO e UI sono gli identificatori maiuscoli, mentre System segue lo stile di maiuscola Pascal perché la lunghezza è maggiore di due. Ad esempio: System.IO; System.Web.UI

caso cammello La prima lettera di un identificatore è minuscola e la prima lettera di ogni parola concatenata successivo è in maiuscolo. Per esempio: backColor

Il link seguente riassume le regole di capitalizzazione e fornisce esempi per i diversi tipi di identificatori e elementi all'interno dell'applicazione/project.Hopefully questo link Web sarà utile per voi

https://dotnetprod.bsu.edu/AdminConsole/Documentation/ASPDotNet/CodingStyle/NamingConventions/Capitalization.aspx

2

Poiché i casi di cammello capitalizzano la prima lettera di ogni parola per sostituire gli spazi, ci rimane la sfida di come differenziare un titolo in maiuscolo, come faremmo in inglese per un nome proprio. Come soluzione a questo, la prima parola in un identificatore di caso cammello è in maiuscolo per indicare che il titolo o l'identificatore è in maiuscolo.

In caso di programmazione, sembra appropriato per la maggior parte, per capitalizzare il nome di una classe, ma non il nome dei suoi metodi. In pratica fornisce una bella distinzione tra i due.

Nel corso degli anni la programmazione si è evoluta per avere molte convenzioni, mentre molte sono molto diverse, c'è molto che le persone tendono ad essere d'accordo. Tuttavia, scoprirai che le risposte a "perché domande", come quella che hai pubblicato, non sono sempre radicate in qualcosa di completamente concreto.

Problemi correlati