2013-05-14 18 views
8

Qual è la convenzione di denominazione delle classi in java, ad esempio tutte le classi dovrebbero essere in maiuscolo come MYCLASS.java?Convenzione nome classe in java

come alcune classi come com.sun.org.apache.bcel.internal.generic. ANEWARRAY. può essere trovato anche nella biblioteca di Sun

Nota: ho letto tutte le convenzioni di denominazione da Oracle ma non sono riuscito a trovare nulla che dice che dovremmo nominare una classe con Tutto maiuscolo.

+4

Tutti usano solo Camel-Case per i nomi delle classi, quindi probabilmente mi limiterei a farlo. – Supericy

+0

In alcuni linguaggi di programmazione le parole maiuscole vengono utilizzate per le costanti. Potrebbe essere fonte di confusione. – RST

+1

La convenzione "standard": http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-135099.html#367 – NilsH

risposta

0

Dopo la navigazione attraverso molti collegamenti sono venuto a sapere che c'è alcuna convenzione java che suggerisce per nominare una classe in tutte le maiuscole. Comunque lo facciamo non ci saranno errori.

Un motivo appropriato è menzionato da CloudyMarble che possiamo usare questa convenzione se l'abbreviazione è più famosa come HTML.

Inoltre, vorrei aggiungere alcune informazioni su ANEWARRAY, questa classe è disponibile con la licenza Apache Source e Crea una nuova serie di riferimenti.

15

I nomi delle classi devono essere in CamelCase. Prova ad usare nomi perché una classe rappresenta normalmente qualcosa nel mondo reale.

I Documentation stati i seguenti:

nomi di classe devono essere nomi, in caso misto con la prima lettera di ogni parola interna capitalizzati. Cerca di mantenere semplici i nomi delle classi e descrittivi. Utilizza parole intere: evita gli acronimi e le abbreviazioni (a meno che l'abbreviazione non sia molto più utilizzata rispetto al formato lungo, come URL o HTML).

+10

Quello che hai descritto è in realtà l'involucro Pascal. La carcassa di cammello ha la prima lettera minuscola. –

+0

Qualche idea se c'è un documento più moderno che specifica queste convenzioni? Il documento a cui ti sei collegato è contrassegnato come non supportato e modificato per la prima volta nel 1999. – dimo414

1

La classe citata com.sun.org.apache.bcel.internal.generic.ANEWARRAY sembra provenire dal profondo lavoro interiore di Java (internal.generic), vale a dire non per uso da parte degli sviluppatori. Come tale è davvero al di fuori della convenzione di denominazione. Posso solo speculare sul motivo per cui è tutto in maiuscolo, forse per sottolineare questo punto che non dovrebbe essere usato.

+0

scusa, ma hai fatto confondere la mia domanda Ho già letto tutte le convenzioni di denominazione in Java e non ho trovato nulla che dicesse che il nome della classe dovrebbe essere tutto maiuscolo, ecco perché ho fatto questa domanda. – ankit

+0

@ankit Questo perché le classi * non dovrebbero * essere tutte in maiuscolo –

+0

com.sun.org.apache.bcel.internal.generic. ANEWARRAY questa è una classe fornita da sun e ha un nome in maiuscolo. – ankit

0

Di solito la migliore prassi è quella di utilizzare Superiore CamelCase.anyway non ci saranno problemi di compilazione con altri conventions.see maggiori dettagli su conventions

Problemi correlati