Tieni presente che a volte devi fare una scelta tra semplificare la modifica di una soluzione per uno sviluppatore back-end e realizzare qualcosa di ottimizzato.
Gli sprite CSS che hai citato sono un buon esempio. Non capisco come qualcuno possa creare un sito Web quando la scalabilità e le prestazioni sono importanti e hanno collegamenti a 100 immagini, 5 CSS e 15 file JavaScript da ogni pagina. D'altra parte, gli sprite CSS non sono facili da mantenere, e lievi modifiche nel design potrebbero richiedere molto lavoro.
Ad esempio se hai tre icone di stato, una sotto l'altra, e devi aggiungere un quarto stato, aggiungi la quarta icona alla fine dell'immagine, separatamente dalle altre tre? Oppure lo aggiungi dopo la terza icona, spostando tutto il resto in fondo per avere uno spazio vuoto?
Lo stesso vale per la combinazione e la minimizzazione di file CSS e JavaScript. Devi farlo per un sito web di qualche scala, ma richiederebbe uno sforzo extra.
È esattamente la stessa cosa per la CDN. Devi usarlo per siti web di grandi dimensioni, ma le modifiche sarebbero più difficili da fare. Ad esempio, se hai modificato un file CSS, devi forzare i browser a scaricare il nuovo, modificando l'URI nel file in cdn.example.com/g.css?r=2
, poi cdn.example.com/g.css?r=3
, ecc.
Inoltre, "più facile" è relativo . Vedi, ad esempio, le linee guida per scrivere il codice CSS: personalmente, preferisco uno stile per riga, senza spazi bianchi:
#TopMenu a{text-decoration:none;color:#fff;padding:5px 10px;float:left;}
mentre la maggior parte delle persone odierà questa sintassi e preferirà quella che odio e trova difficile da leggere (no, non sono pazza):
#TopMenu a
{
text-decoration: none;
color: #fff;
padding: 5px 10px;
float: left;
}
Allo stesso modo, usare jQuery non significa che renderà più facile per lo sviluppatore back-end modificare i tuoi file, perché alcuni sviluppatori hanno più esperienza con Prototype o altri framework.
In tutti i casi, una documentazione dettagliata è utile, se lo sviluppatore vuole leggerlo (la maggior parte non lo fa). Puoi anche semplificare la vita di uno sviluppatore chiedendo esattamente allo sviluppatore specifico come preferisce le cose da fare e lavorare fianco a fianco all'inizio, mentre costruisci un framework (ad esempio progettare il flusso di lavoro da utilizzare per ridurre e combinare i file).