Come dovrei definire stringhe codificate con alcune parti variabili? Riutilizzare più personaggi? O mantenere l'intera frase?

2

per esempio, a volte ho bisogno di definire una stringa hardcoded con alcune parti variabili, spesso ho problemi a scegliere lo stile:

stile 1: riusare ogni carattere quando possibile

showMessage(num){
  let strArr=['Mon','Tues','Wednes','Thurs','Fri','Satur','Sun'];
  alert('Today is '+strArr[num]+'day');
}

stile 2: mantieni la parte varibile come un mondo intero quando possibile

showMessage(num){
  let strArr=['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
  alert('Today is '+strArr[num]);
}

stile 3: ogni singolo caso ha la sua stringa anche se ha una parte simile:

showMessage(num){
  let strArr=[
    'Today is Monday',
    'Today is Tuesday',
    'Today is Wednesday',
    'Today is Thursday',
    'Today is Friday',
    'Today is Saturday',
    'Today is Sunday',
  ];
  alert(strArr[num]);
}

quale stile dovrei usare?

    
posta mmmaaa 01.11.2018 - 04:38
fonte

1 risposta

3

Dato che viviamo in un mondo sempre più globale, dovresti davvero considerare quanto sia facile tradurre i tuoi testi in altre lingue. Questo squalifica automaticamente la tua prima opzione, in quanto quasi certamente ci sarà un linguaggio (importante) che non ha una parte comune tra tutte le possibilità della parte dinamica.

La seconda opzione (letteralmente con concatenazione di stringhe) è anche problematica per le traduzioni, poiché lingue diverse avranno ordini di parole e posizioni differenti all'interno del testo per posizionare la parte dinamica.

La terza opzione è ragionevole, ma non molto amichevole per la manutenzione a causa delle ripetizioni delle parti comuni.

Una quarta opzione che è sia di facile manutenzione che di traduzione è quella di utilizzare le sostituzioni di stringhe.

showMessage(num){
  let strArr=['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
  alert('Today is {0}'.format(strArr[num]));
}
    
risposta data 01.11.2018 - 16:26
fonte

Leggi altre domande sui tag