Apa struktur folder optimal untuk direktori web?

9

Saya telah melakukan pengembangan web selama bertahun-tahun, dan saya selalu melakukan struktur web yang serupa dengan ini:

public_html/login.php
public_html/css/login.css
public_html/js/login.js
public_html/img/logo.png

Saya telah melihat orang lain menggunakan:

styles/login.css
images/logo.png

Dan baru-baru ini saya mengetahui bahwa rekan kerja saya suka:

public_html/a/login.js   - application
public_html/s/login.css  - styles
public_html/i/logo.png   - images
public_html/p/photo1.jpg - photos
public_html/f/menu.swf   - flash

Selain menyimpan satu atau dua byte, apakah ada kelebihan atau kekurangan dari salah satu opsi ini? Apakah ada praktik terbaik untuk konsep ini?

St John Johnson
sumber
Per permintaan, folder tambahan: 't' untuk templat dan 'x' untuk xml
St. John Johnson

Jawaban:

6

Saya akan tetap dengan sistem Anda saat ini, meskipun saya mungkin bias karena saya menggunakan hampir nama yang sama sendiri.

Saya menemukan bahwa menyimpan nama folder tiga huruf cukup jelas untuk memiliki arti, tetapi cukup ringkas untuk menjaga URL saya tetap rapi .

Memotong setiap folder menjadi satu huruf terlalu banyak, dan seperti yang ditunjukkan mc10, sangat terbuka untuk interpretasi. Sebagai contoh, saya tidak akan pernah memilih 'a' untuk file Javascript: Saya akan memilih 'b', untuk "perilaku". Saya rasa keduanya tidak lebih benar, itu hanya menunjukkan betapa ambigunya skema penamaan.

Saat menggunakan "gaya" dan "gambar" karena nama folder baik-baik saja, saya merasa jauh lebih masuk akal untuk menggunakan nama yang lebih pendek. Pikirkan berapa kali folder itu akan direferensikan, di setiap file, di setiap URL dan permintaan, dan byte mulai bertambah. Memang, saya tidak berpikir Anda akan melihat penghematan bandwidth dunia nyata dengan menggunakan nama folder yang lebih pendek, tapi saya akan mengambil setiap bit (dan byte) yang bisa saya dapatkan.

Saya biasanya menempel pada folder pasangan ini:

  • js - File Javascript
  • img - File gambar
  • css - file CSS
  • lib - skrip sisi server yang tidak menghasilkan output. Perpustakaan, kelas, dll.
  • doc - File biner, seperti dokumen kantor dan PDF, yang bukan bagian dari navigasi halaman normal
Jacob Hume
sumber
2

Folder CSS dan JS bagus untuk situs individual yang mungkin diberi kode statis (alias hanya HTML), tetapi tidak praktis untuk situs yang lebih besar yang menggunakan CMS.

CMS menggunakan folder "gaya" dan "gambar" dalam struktur folder mereka sendiri, hanya saja biasanya terkubur di dalam subdirektori. Ini cara yang bagus untuk meletakkan konten, dan disukai oleh banyak CMS.

Memiliki nama folder satu huruf membingungkan. Pada tampilan pertama, saya akan bingung dengan perbedaan antara foto ( p) dan gambar ( i). Menggunakan auntuk "aplikasi" juga tampaknya samar.

kevinji
sumber
1

Menggunakan folder untuk css dan js sebagai lawan dari file individual tergantung sepenuhnya pada ruang lingkup proyek Anda.

Jika Anda memiliki, atau akan berpotensi membutuhkan lebih dari satu skrip atau stylesheet maka mengorganisasikannya ke dalam folder akan membuatnya lebih mudah untuk memelihara dan mengelola situs.

Jika Anda memutuskan untuk menggunakan folder sekali lagi, memberikan nama panjang atau pendek ini adalah pilihan pribadi.

Meskipun satu huruf nama menyimpan byte dan dapat terlihat sedikit lebih rapi, menurut pengalaman saya jika Anda memiliki lebih dari segelintir orang yang bekerja di situs ini, hal ini dapat membingungkan.

ajcw
sumber
1

Anda juga dapat melakukan metode ini untuk.

Metode 1:

  • / i / umum /
  • / i / tata letak /
  • / i / lib /
  • / i / misc / docs / pdf /
  • / i / misc / docs / csv /
  • / i / misc / docs / txt /

Catatan: Yang terbaik adalah jika setiap file akan di-renaimed dalam ringkasan md5 mereka.

Contoh:

  • /i/common/9df48e2cf2d25740e4ba54e8cd73b3a3.png,
  • /i/layout/2b33962041cb835c227bba27424a28af.css,
  • /i/lib/a8a2a48ddaa95527c6d3db763e2b7809.js,
  • /i/misc/docs/pdf/68aafcfe9aa1ab7d83a6ce8df302155e.pdf

Metode 2:

  • / aset / umum /
  • / assets / templates / template_name /
  • / aset / termasuk / js /
  • / aset / misc / pdf /
  • / aset / misc / csv /
  • / aset / misc / txt /

Catatan: Tidak perlu mengganti nama file ke string md5 tetapi setiap spasi harus diganti dengan tanda hubung / -

Contohnya

  • /assets/common/uploads/2014/12/company-site-has-been-launched.jpg

Metode 3:

  • / situs / file /
  • /tata letak situs/
  • / situs / skrip /
  • / situs / misc / docs / pdf /
  • / situs / misc / docs / csv /
  • / situs / misc / docs / txt /

KETERANGAN: Di public_html subdirektori folder "umum" Anda dapat membuat subdirektori baru setelahnya dan beri nama "uploads / 2014/12 / untuk file yang Anda unggah sama seperti bagaimana wordpress mengatur unggahan Anda.

js92
sumber
1
Saya suka contoh struktur folder Anda, namun penamaan file Anda menggunakan hash md5 mereka tidak dianjurkan, dan jelas bukan "terbaik". Mengubah file gambar akan mengubah itu md5, oleh karena itu mengharuskan Anda untuk memperbaiki seluruh situs. Sebaliknya itu jauh lebih aman untuk memberi mereka nama yang lebih mudah diingat.
Richard