Perhatikan bahwa kadang-kadang, Anda harus melakukan pilihan antara membuatnya mudah untuk memodifikasi solusi untuk pengembang back-end dan membuat sesuatu dioptimalkan.
Sprite CSS yang Anda kutip adalah contoh yang bagus. Saya tidak mengerti bagaimana seseorang dapat membuat situs web ketika skalabilitas dan kinerja penting dan memiliki tautan ke 100 gambar, 5 file CSS dan 15 JavaScript dari setiap halaman. Di sisi lain, sprite CSS tidak mudah dipelihara, dan sedikit perubahan dalam desain mungkin membutuhkan banyak pekerjaan.
Misalnya, jika Anda memiliki tiga ikon negara, satu di bawah yang lain, dan Anda harus menambahkan negara keempat, apakah Anda menambahkan ikon keempat di bagian bawah gambar, secara terpisah dari tiga lainnya? Atau Anda menambahkannya setelah ikon ketiga, memindahkan semua yang lain ke bawah untuk memiliki ruang kosong untuknya?
Hal yang sama datang dengan menggabungkan dan memperkecil file CSS dan JavaScript. Anda harus melakukannya untuk situs web dengan skala tertentu, tetapi akan membutuhkan usaha ekstra.
Itu persis sama untuk CDN. Anda harus menggunakannya untuk situs web besar, tetapi perubahan akan lebih sulit dilakukan. Misalnya jika Anda mengubah file CSS, Anda harus memaksa browser untuk mengunduh yang baru, dengan memodifikasi URI ke file cdn.example.com/g.css?r=2
, lalu cdn.example.com/g.css?r=3
, dll.
Juga, "lebih mudah" adalah relatif . Lihat, misalnya, pedoman untuk menulis kode CSS: secara pribadi, saya lebih suka satu gaya per baris, tanpa spasi putih:
#TopMenu a{text-decoration:none;color:#fff;padding:5px 10px;float:left;}
sementara kebanyakan orang akan membenci sintaksis ini, dan lebih suka sintaks yang saya benci dan sulit dibaca (tidak, saya tidak gila):
#TopMenu a
{
text-decoration: none;
color: #fff;
padding: 5px 10px;
float: left;
}
Dengan cara yang sama, menggunakan jQuery tidak berarti Anda akan memudahkan pengembang back-end untuk memodifikasi file Anda, karena beberapa pengembang lebih berpengalaman dengan Prototipe atau kerangka kerja lainnya.
Dalam semua kasus, dokumentasi terperinci sangat membantu, jika pengembang ingin membacanya (kebanyakan tidak). Anda juga dapat membuat kehidupan seorang pengembang lebih mudah dengan bertanya secara tepat kepada pengembang tertentu bagaimana ia lebih suka hal-hal yang harus dilakukan, dan dengan bekerja berdampingan di awal, sambil membangun kerangka kerja (misalnya merancang alur kerja yang digunakan untuk meminimalkan) dan gabungkan file).