I nomi delle variabili influiscono sulle prestazioni dei siti Web?

10

I nomi delle variabili influenzano le prestazioni del sito web? So che questo numero sarà molto basso, ma è ancora possibile che qualcuno fornisca le ragioni per non scegliere un nome variabile lungo in termini di prestazioni?

    
posta Avinash 13.07.2011 - 16:10
fonte

6 risposte

14

No, non lo farà. In generale, quando il codice viene compilato, i nomi delle variabili vengono sostituiti dall'indirizzo di memoria a cui si riferiscono. I computer non sanno nulla dei nomi delle variabili; vogliono solo sapere dove sono memorizzati i valori.

Le variabili sono simboli, niente di più. Sostituiscono i valori esadecimali con i nomi in modo che i programmatori abbiano più tempo a capire cosa stanno facendo. Pertanto, non ci sarà alcun aumento delle prestazioni scegliendo nomi di variabili più brevi.

Detto questo, è possibile ottenere minisiti (e sto parlando microscopici) miglioramenti nei tempi di compilazione e nella prima interpretazione JIT, ma questo è solo perché il parser richiede pochi cicli di CPU per leggere il nome della variabile. Questo è un costo una tantum ed è statisticamente irrilevante quando ci si preoccupa delle prestazioni.

    
risposta data 13.07.2011 - 16:15
fonte
14

can any one provide the reasons for not choosing a long variable name in aspect of performance?

Michael ha coperto la risposta (ad esempio No) ma i nomi delle variabili hanno effetto sulle prestazioni del programmatore . Se porti un nuovo sviluppatore o qualcuno che non ha familiarità con il codice, avere nomi di variabili lunghi e / o confusi può distrarre e rallentare il processo di comprensione.

In generale, vuoi usare nomi di variabili brevi e descrittivi perché sono più facili da leggere. Immagina se devi ignorare il tuo codice per 10 anni e poi capire di nuovo tutto. Preferisci leggere "getInput" o "getInputFromUserWhoInputsStringOrElseInformReaderOfError"? (esagerazione ovviamente: P)

Ci sono momenti, tuttavia, quando avere un nome leggermente più lungo può essere utile. Ad esempio, getBirthdayInput () sarebbe molto più descrittivo di getInput (). Volete semplificare fino a un certo punto, ma l'eccessiva semplificazione può anche essere problematica.

    
risposta data 13.07.2011 - 16:21
fonte
6

A meno che tu non stia utilizzando cache op-code (noto anche come "acceleratori PHP"), allora c'è davvero un impatto. Ma quell'impatto è così basso che può essere trascurato. Se usi la cache op-code, allora c'è un impatto zero.

    
risposta data 13.07.2011 - 16:38
fonte
3

Mentre Michael è corretto per la programmazione delle applicazioni, la tua domanda si riferisce allo sviluppo web con PHP, che è un linguaggio interpretato. In tal caso, il codice dovrebbe essere letto dal file, quindi interpretato. In questo caso, un nome variabile più lungo richiederà più tempo per caricare & analizzare.

La performance colta in questo modo tuttavia sarà insignificante e probabilmente si troverà nella regione di frazioni di un millisecondo per un intero script. Puoi sempre provarlo con uno script di esempio e utilizzare un metodo di temporizzazione come quello descritto in link ma probabilmente non inizieranno il cronometraggio fino a dopo che il file è stato letto. Inoltre, il tempo di esecuzione tra i tentativi varierà molto più della differenza tra le lunghezze dei nomi variabili, quindi dovrai eseguire un numero di tentativi e prendi la media di ciascuno prima di poter ottenere una media significativa a distanza.

Come sottolinea BlackJack, i nomi più lunghi possono essere molto più difficili da comprendere e richiedono un sacco di sforzi extra per digitare (e sono molto più inclini a errori di battitura). Mentre ci può essere un piccolo guadagno in termini di prestazioni, questo non giustifica la seccatura extra creata per il programmatore. Di conseguenza, sono preferiti i nomi di variabili brevi, concisi e facili da capire.

Quindi, in breve, non preoccuparti del nome della lunghezza variabile, ma piuttosto concentrati sulla scrittura di codice pulito e significativo.

    
risposta data 13.07.2011 - 16:37
fonte
1

Forse :

Il codice server è in genere compilato e la lunghezza del nome variabile non influirà su di esso per i motivi indicati. Tuttavia, se il nome della variabile viene utilizzato per creare varie operazioni sulle stringhe di markup. Poiché la risposta HTTP (contenente markup / restituito json / dati restituiti) è più grande, impiegherà più tempo leggermente , sebbene la differenza sia trascurabile. Se JavaScript non è minimizzato, sarà un file più grande, impiegando più tempo a viaggiare verso il cliente.

Oltre a minimizzare i file JavaScript, qualsiasi sforzo di ottimizzazione per un'applicazione web / sito web, sarà meglio speso per altri aspetti.

    
risposta data 13.07.2011 - 16:50
fonte
0

Sì, lo sarà, ma non nel senso in cui stai pensando.

Con nomi di variabili errate, gli sviluppatori saranno facilmente confusi nel codice sorgente. Sarà difficile da leggere e difficile da capire.

Alla fine, il codice sorgente sarà difficile da mantenere e sarà quasi impossibile farlo evolvere. Ciò porterà inevitabilmente a costi di manutenzione più elevati, costi di sviluppo più elevati, più bug e prestazioni più scadenti .

Il nome della variabile non avrà assolutamente alcuna influenza in fase di esecuzione e sarà totalmente trascurabile in fase di compilazione. Ma i brutti nomi porteranno inevitabilmente a delle cattive prestazioni perché nessuno capisce il codice e finisce in una pila di hack uno sopra l'altro, peggiorando le cose ogni volta.

Leggi queste informazioni per sapere il nome della variabile buona: link

Nota che se senti la necessità di un nome di variabile molto lungo, significa che il tuo codice è scarsamente progettato. Un nome di variabile è sempre espresso in un contesto: spazio dei nomi, nome classe, nome file, cartella, nome funzione, ecc. Quindi, se il nome deve essere lungo per essere esplicito, ciò significa che la cosa che stai cercando di nominare NON APPARE QUI . In questo caso, pensa a inserire questo codice nella posizione appropriata oppure crea quel luogo se non esiste ancora.

    
risposta data 13.07.2011 - 16:39
fonte

Leggi altre domande sui tag