È una cattiva pratica dare due file molto diversi con lo stesso scopo generale con lo stesso nome?

18

È una cattiva pratica dare due file molto diversi con lo stesso scopo generale con lo stesso nome, separandoli in diverse directory?

<script src="client_scripts/app/player_stats/generator.js"></script>
<script src="client_scripts/app/coach_settings/generator.js"></script>

Mi piacerebbe mantenere i miei nomi di file brevi ed entrambi i file hanno lo stesso scopo generale senza essere identici. Non sono sicuro se questo sarebbe considerato una cattiva pratica in un ambiente di programmazione professionale. Mi piacerebbe sapere qual è la migliore pratica in questa situazione.

In alternativa, a scapito del breve nome del nome, potrei usare:

<script src="client_scripts/app/player_stats/player_stats_generator.js"></script>
<script src="client_scripts/app/coach_settings/coach_settings_generator.js"></script>
    
posta CuriousWebDeveloper 20.07.2014 - 05:19
fonte

5 risposte

36

Considera il rapporto costi / benefici delle due opzioni:

  1. Riutilizzare lo stesso nome causerebbe confusione o conflitti di denominazione? Probabilmente no, dal momento che sono in cartelle diverse. Il nome "player_stats / generator.js" è equivalente a "player_stats_generator.js". Tuttavia, se vedi, in futuro, un motivo per unire i tuoi file js in una singola directory (distribuzione? Non lo so), allora questo dovrebbe essere un buon indicatore per dare nomi univoci.

  2. L'uso dei nomi più lunghi implicherebbe un sacco di digitazione estranea? Probabilmente no. Non solo fanno parte del progetto molti IDE JS completi nel progetto per te, è anche un pezzo di codice che probabilmente è scritto solo - su la maggior parte - una volta per file. Il codice che viene tipizzato molto è le classi e le funzioni dentro i file js, e quelli (si spera) non entrano in conflitto.

  3. Durante il debug, che tipo di informazioni ottieni su un errore? Se il rapporto bug più comune è "Errore nella riga 34 di <filename.js> ", allora considera di dare loro nomi univoci, dal momento che ricevere errori in appena generator.js e poi cercare di divinizzare, attraverso il contesto, quale generatore poteva essere una seccatura .

risposta data 20.07.2014 - 06:53
fonte
22

Proprio come un aspetto pratico, se il tuo IDE mostra i nomi dei file nelle schede, se usi lo stesso nome per ogni file, finirai con le schede che mostrano tutti lo stesso nome. Questo può essere molto fastidioso. Un progetto a cui ho preso in carico la manutenzione ha questo problema, ed è un grave problema avere 15 schede aperte, metà delle quali con lo stesso nome di file.

Quindi ... usa nomi più descrittivi.

    
risposta data 20.07.2014 - 07:55
fonte
12

Qui c'è un chiaro fattore decisivo: DRY (Non ripetere Yourself).

Ogni nome di file non deve essere diverso; questo è ciò che i percorsi sono per . Riesci a immaginare quanti diversi file di sistema o di programma sono presenti sul tuo computer? Cosa accadrebbe se ognuno di loro dovesse avere un nome univoco? Ad un certo punto, stiamo solo facendo del nome del file una copia del percorso.

Se la migliore descrizione di un file Javascript nel contesto di client_scripts > app > player_stats è veramente generator , il suo percorso dovrebbe essere client_scripts/app/player_stats/generator.js .

Questa domanda è programmers.stackexchange.com/questions/ 250481 . Esiste anche serverfault.com/questions/ 250481 . 250481 è una cosa nel contesto delle domande dei programmatori e qualcos'altro nel contesto delle domande di Server Fault.

I percorsi (o URL) sono piacevoli perché sono identificatori nidificati. Usiamoli in questo modo:)

    
risposta data 20.07.2014 - 10:50
fonte
7

Usa sempre nomi descrittivi su nomi brevi a meno che non si tratti di una costante matematica o di una variabile di ciclo in cui le convenzioni della lingua in questione favoriscono i nomi brevi. Ad esempio, se si chiama una variabile "pi" e si ha un valore appropriatamente preciso di pi, allora il nome è buono e ottiene il punto. D'altra parte, se hai un generatore che genera termini della serie Taylor per Pi e li somma insieme per approssimare pi, devi chiamarlo qualcosa come "taylorPiGenerator o simile.

I buoni nomi ora risparmiano il refactator in un secondo momento o, ancora peggio, errori massicci in seguito.

I libri Clean Code e Codice completo approfondisci i dettagli come e perché del buon naming, ma loro non sono affatto le uniche fonti.

    
risposta data 20.07.2014 - 06:09
fonte
3

Dipende dalla tecnologia con cui stai lavorando. I nomi dovrebbero identificare gli oggetti e i percorsi dovrebbero identificare il contesto. Sono d'accordo che una buona denominazione è importante ma, ehi, anche i percorsi sono nomi. Ma dal punto di vista pratico, se si utilizza qualcosa come Javascript è probabilmente meglio mantenere nomi più precisi per gli articoli finali. Se si lavora con strumenti che tengono conto di ciò, come Python , il modo consigliato sarebbe di usare lo stesso nome con un percorso diverso (modulo, spazio dei nomi). Se guardi Java , troverai anche classi con lo stesso nome e diversi pacchetti. Si potrebbe andare oltre e dire che i metodi sono denominati azioni nel contesto della classe, e abbiamo metodi denominati stessi in classi diverse, che possono essere denominati stessi ma collocati in pacchetti diversi. Lo Zen di Python dice:

Namespaces are one honking great idea -- let's do more of those!

Ma javascript ha stranezze e vantaggi, quindi ti consiglierei di andare con nomi diversi (anche se i file sono in percorsi diversi). Puoi anche cercare il modello di modulo in javascript che potrebbe aiutarti a scrivere codice più pulito:

    var playerStatsGenerator = player_stats.Generator();
    var coachSettingsGenerator = coach_settings.Generator();

Potresti avere la tua torta e mangiarla anche tu.

    
risposta data 20.07.2014 - 11:15
fonte

Leggi altre domande sui tag