Domanda

In PHP, noi (almeno i bravi programmatori) iniziamo sempre nomi di variabili generali con una lettera minuscola, ma classifichiamo variabili / oggetti con una lettera maiuscola per distinguerli. Allo stesso modo iniziamo i nomi di file generali con una lettera minuscola, ma i file che contengono Classi con una lettera maiuscola.

per esempio:

<?php
$number=123;
$string="a string";
$colors_array=array('red','blue','red');
$Cat=New Cat();
?>

Le convenzioni sono le stesse in java, ovvero gli oggetti che iniziano con lettere maiuscole ma il resto con lettere minuscole o tutto inizia con lettere minuscole come ho letto in altri posti?

È stato utile?

Soluzione

In generale, tutte le variabili iniziano con le lettere minuscole:

int count = 32;
double conversionFactor = 1.5d;

Ad alcune persone piace mettere costanti statiche in ogni caso:

public static final double KILOGRAM_TO_POUND = 2.20462262;

Le cose diventano più fastidiose quando si hanno a che fare con gli acronimi e non esiste uno standard reale sull'opportunità di utilizzare:

HTMLHandler myHtmlHandler; 

o

HTMLHandler myHTMLHandler.

Ora, in entrambi i casi, nota che i nomi delle classi (Object, String, HTMLHandler) iniziano sempre con una lettera maiuscola, ma le singole variabili dell'oggetto iniziano in minuscolo.

Altri suggerimenti

Puoi trovare la denominazione nelle Convenzioni del codice Java .

Un breve riepilogo:

  • Per le classi, utilizzare UpperCamelCase .
  • Per i membri della classe e le variabili locali utilizzare lowerCamelCase
  • Per i pacchetti, utilizzare URI inverso, ad es. org.acme.project.subsystem
  • Per le costanti, utilizzare ALL_CAPS .
  • variablesAndMethodsLikeThis
  • ClassesLikeThis
  • CONSTANTS_LIKE_THIS

La convenzione è che i nomi delle classi iniziano con la lettera maiuscola. I nomi delle variabili sono camelCase. Anche se la variabile fa riferimento a un oggetto, inizia comunque con lettere minuscole.

Questa pagina dovrebbe aiutare.

Cosa pensi dell'utilizzo di camelCase per i metodi di istanza e PascalCase per i dati statici? Penso che potrebbe essere molto utile, perché non ci sarebbero problemi durante la verifica di quale metodo è statico. È la mia proposta

Le convenzioni dipendono davvero dal singolo posto per cui stai codificando.

In generale, da quello che ho visto le classi sono CamelCased (prima con le maiuscole), i metodi iniziano con lettere minuscole e le variabili che ho visto dappertutto (alcune CamelCased, altre camelCase con la prima lettera inferiore (EDIT : come detto sopra, questa è la norma), alcuni anche con notazione ungherese). Dipende dal tuo stile e dallo stile adottato dal progetto a cui stai lavorando.

Ad alcune persone (che non sono io) piace differenziare le variabili del metodo dalle variabili dell'istanza anteponendo le variabili dell'istanza con " questo. " Questo risolve anche il problema che si verifica quando si assegna un parametro a una variabile Instance con lo stesso nome:

public ConstructorMethod(MyVar variable) {
    this.variable=variable;
}

Ma poi alcune persone pensano che dovresti sempre usare quel modello - ma non ne sono pazzo - penso che sia eccessivo se mantieni piccoli i tuoi metodi e le tue classi.

Inoltre, alcune persone usano un modello di denominazione per i parametri. Questo (di nuovo) è utile quando si assegna da un costruttore a una variabile di istanza:

public ConstructorMethod(MyVar pVariable) {
    variable=pVariable;
}

Di solito il modello è pVariable o _variable . Di tanto in tanto lo uso perché lo trovo più leggibile di così, ma ha lo svantaggio di rendere meno leggibile il tuo Javadocs.

In ogni caso, non mi piace molto l'idea di utilizzare SEMPRE uno di questi schemi, sono fantastici da sapere, ma se hai davvero bisogno di aiuto per differenziarli attraverso il tuo codice, dì a Eclipse di mostrarli in diversi colori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top