Sacrificabilità della leggibilità per codice compilato più breve

3

Attualmente sto rivisitando un codice che ho scritto in sass quando lo stavo imparando e mi sono imbattuto in un particolare problema. Sono stato in grado di scrivere il codice in 2 modi, il primo è il codice più leggibile e il secondo è il codice più breve quando compilato in css. Mi chiedevo se fosse una buona cosa sacrificare una certa leggibilità per dimensioni di file compilate più piccole.

Nell'esempio corrente, l'opzione 1 occupa circa il 60% in meno di caratteri compilati in css. A 12 colonne, la prima opzione utilizza ~ 750 caratteri in meno rispetto alla seconda opzione. Questo è in realtà piuttosto significativo.

L'esempio è piuttosto semplice, ma quando estendere la leggibilità del codice del file sass può diventare più complicato. Vale la pena sacrificare questo per il file compilato più piccolo?

Opzione 1

// Create all columns
@for $i from 1 through $column_amount {
  .col-#{$i}-lg, .col-#{$i}-md, .col-#{$i}-sm {
    width: $i * $col-size;
  }
}

// At medium screen and below set all large columns to 100%
@media all and (max-width: $screen-medium-max) {
  @for $i from 1 through $column_amount {
    .col-#{$i}-lg {
      width: 100%;
    }
  }
}

// At small screen and below set all medium columns to 100%
@media all and (max-width: $screen-small-max) {
  @for $i from 1 through $column_amount {
    .col-#{$i}-md {
      width: 100%;
    }
  }
}

Opzione 2

// Creating the columns
@for $i from 1 through $column_amount {
  .col-#{$i}-lg, .col-#{$i}-md, .col-#{$i}-sm {
    width: $i * $col-size;
  }

  // At medium screen and below set all large columns to 100%
  @media all and (max-width: $screen-medium-max) {
    .col-#{$i}-lg {
      width: 100%;
    }
  }

  // At small screen and below set all medium columns to 100%
  @media all and (max-width: $screen-small-max) {
    .col-#{$i}-md {
      width: 100%;
    }
  }
}

Se esiste qualche estensione che fa questo per me, sarebbe bello saperlo, ma non risponderà alla domanda

    
posta Friso van Dijk 27.12.2014 - 15:17
fonte

1 risposta

5

Il livello di ottimizzazione che descrivi può essere una considerazione utile nelle fasi finali del progetto: il tuo progetto è finito, soddisfa i requisiti, tutto funziona bene, e vorresti spremere un po 'di prestazioni extra senza cambiare nessun altro aspetto.

Se sei in questa fase, e si ritiene che il guadagno in termini di prestazioni migliori il successo del progetto, quindi a tutti i costi farlo.

Se non sei ancora in questa fase, quindi dedica il tuo tempo e impegno a qualcos'altro che ha una priorità più alta. Fino a quando il tuo progetto è per lo più fatto, può ancora subire cambiamenti, a volte anche grandi cambiamenti. Questo pezzo di codice che vorresti ottimizzare potrebbe essere refactored ed eventualmente eliminato anche dal prodotto finale.

    
risposta data 27.12.2014 - 18:54
fonte

Leggi altre domande sui tag