Esiste qualche scala (ad esempio una convenzione di denominazione da utilizzare per le dimensioni) che consente di inserire banali in qualsiasi punto della scala?

2

Probabilmente la domanda sembra confusa, quindi permettimi di chiarire.

Diciamo che ho un oggetto contenente chiavi e valori per le dimensioni dei font del mio progetto:

{
    small: '8px',
    medium: '11px',
    large: '14px',
}

Questo va bene, ma non è molto flessibile o scalabile; non sarebbe - per esempio, permettimi di inserire una nuova dimensione tra small e medium .

Non riesco a pensare a nessuna scala possibile che permetterebbe questo, per non parlare di una ragionevole.

L'unica cosa che posso pensare è assegnare chiavi non simboliche ai valori, come john , dave e steve invece di small , medium e large . Ma questo non è molto trasparente. Come faccio a sapere se John è più grande o più piccolo di Steve a meno che non lo memorizzi prima della mano?

    
posta ESR 09.10.2018 - 05:38
fonte

1 risposta

4

Una soluzione letterale a questo è denominare le dimensioni del carattere come il loro parametro di dimensione:

{
    size8: '8px',
    size11: '11px',
    size14: '14px',
}

Questo ti dà esattamente quello che hai chiesto - un'opzione per gli inserimenti triviali in qualsiasi punto della scala.

Si può chiedere se l'introduzione di tali nomi simbolici, in cui la dimensione dei pixel è appena ripetuta nel nome, sia davvero significativa. Bene, questo dipende. Almeno, a darti

  • una definizione delle dimensioni dei caratteri "consentiti" per il tuo progetto
  • una possibilità di modificare le dimensioni dei pixel in un secondo momento, anche se i nomi sono mantenuti.

Ovviamente, un nome come

 {
     size8: '9px',
     size11: '12px',
     size14: '16px',
 }

ha un certo potenziale di confusione e dovresti davvero chiedere qual è il tuo obiettivo utilizzando tali costanti simboliche. Se hai un caso d'uso in cui i numeri nel nome come dimensioni "logiche" e le stesse dimensioni dei pixel sono di dimensioni "fisiche" (forse per un dispositivo di output diverso), allora potrebbe essere ok.

    
risposta data 09.10.2018 - 06:01
fonte

Leggi altre domande sui tag