Qualsiasi motivo per continuare a utilizzare stringhe semplici in ES2015?

3

Il mio attuale stile di codifica consiste nell'usare le stringhe con quotatura singola come predefinite e utilizzare i letterali dei modelli retroattivi ogni volta che devo concatenare un valore in una stringa.

Ma ora mi chiedo a che cosa serve avere due tipi di corde? Forse sarebbe meglio attenersi a modelli letterali per tutto, per semplicità. Anche se non stai effettivamente interpolando un valore dinamico nel modello letterale, c'è comunque l'altro vantaggio che con i modelli non devi preoccuparti di sfuggire le virgolette letterali (che si verificano molto più spesso degli apici letterali).

Quindi sto pensando di configurare il mio linter per avvertirmi quando uso stringhe semplici e quotate (singole o doppie). Estetica a parte, c'è qualche ragione per cui ciò potrebbe causare problemi?

    
posta callum 08.02.2016 - 13:30
fonte

1 risposta

2

Se il tuo team utilizza stringhe backticked abbastanza frequentemente per i suoi vantaggi (espansione del template, stringhe multilinea, escape diversi, template con tag), quindi probabilmente farai meno errori attenendosi a quella sintassi. Questo perché (1) sarai più abituato a quelle regole di escape, (2) non dovrai (ricordarti di) cambiare virgolette e fughe quando aggiungerai ${ } segnaposto per template e (3) non divagerai per decidere se vale la pena convertire una stringa letterale. Ti ricorderai anche dei modelli con tag e quindi avrai meno probabilità di scrivere accidentalmente una stringa taggata. Sarai al ritmo dell'uso di stringhe retroattive e ti distraggeranno da qualsiasi altra cosa a cui pensare.

D'altro canto, se il tuo team tocca frequentemente codice di libreria o codice lato client che utilizza principalmente / esclusivamente ' e " stringhe letterali, allora devi rimanere consapevole di quali file di origine richiedono quella sintassi . Inoltre, se usi raramente le nuove funzionalità delle stringhe retroattive, potresti commettere meno errori scrivendo le stringhe retroattive solo quando necessario (anche se non suggerirei di cambiare una stringa dopo aver rimosso i segnaposto).

Un altro fattore è il livello di supporto per le stringhe di backtick nel tuo editor / IDE. La colorazione della sintassi potrebbe rivelare il ${expression} di segnaposto e tag modello, rendendo più visibili gli errori. Un comando refactor può convertire rapidamente tra i formati, eliminando un incentivo per utilizzare le stringhe retroattuate solo nel caso in cui successivamente si aggiungano segnaposto. OTOH se le stringhe retroattive confondono il tuo editor / IDE, potresti volerlo usare con parsimonia fino a quando non lo risolvi.

[Se ci interessa abbastanza del processo di programmazione, testeremo ipotesi come queste, cioè misuriamo le alternative.]

    
risposta data 09.02.2016 - 03:35
fonte

Leggi altre domande sui tag