Qual è la struttura di cartelle ottimale per una directory web?


9

Faccio sviluppo web da anni e ho sempre realizzato una struttura web simile a questa:

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

Ho visto altre persone usare:

styles/login.css
images/logo.png

E poi recentemente ho scoperto che al mio collega piace:

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

Oltre a salvare un byte o due, ci sono vantaggi o svantaggi in una di queste opzioni? Esiste una migliore pratica per questo concetto?


Per richiesta, cartelle aggiuntive: 't' per i modelli e 'x' per xml
St. John Johnson,

in qualche modo correlate: stackoverflow.com/questions/2114935/...
cregox

Risposte:


6

Continuerei con il tuo sistema attuale, anche se potrei essere di parte dato che uso quasi gli stessi nomi da solo.

Trovo che mantenere un nome di cartella di tre lettere sia abbastanza dettagliato da avere un significato, ma abbastanza conciso da mantenere in ordine i miei URL .

Il taglio di ogni cartella in una sola lettera è eccessivo e, come sottolinea mc10, è ampiamente aperto all'interpretazione. Ad esempio, non sceglierei mai 'a' per i file Javascript: avrei scelto 'b', per "comportamento". Non penso nemmeno che sia più corretto, indica solo quanto sia ambiguo lo schema di denominazione.

Mentre uso "stili" e "immagini" come nomi di cartelle va benissimo, trovo molto più sensato usare un nome più breve. Pensa a quante volte verrà referenziata quella cartella, in ogni file, in ogni URL e richiesta, e i byte iniziano a sommarsi. Certo, non credo che vedrai alcun risparmio sulla larghezza di banda del mondo reale usando nomi di cartelle più brevi, ma prenderò tutto il bit (e byte) che posso ottenere.

Di solito mi attengo a queste cartelle di coppia:

  • js - File Javascript
  • img - File di immagini
  • css - File CSS
  • lib - Script lato server che non producono output. Biblioteche, lezioni, ecc.
  • doc - File binari, come documenti di Office e PDF, che non fanno parte della normale navigazione della pagina

2

Le cartelle CSS e JS sono utili per un singolo sito che può essere codificato staticamente (noto anche come HTML), ma non è pratico per un sito più grande che utilizza un CMS.

I CMS usano cartelle "stili" e "immagini" nella propria struttura di cartelle, solo che di solito è sepolta all'interno delle sottodirectory. È un bel modo di disporre i contenuti e favorito da molti CMS.

Avere nomi di cartelle di una lettera è confuso. A prima vista, sarei stato confuso con la differenza tra foto ( p) e immagini ( i). Anche l'utilizzo aper "applicazione" sembra criptico.


1

L'uso di cartelle per css e js anziché singoli file dipende interamente dall'ambito del progetto.

Se hai, o hai potenzialmente bisogno di più di uno script o foglio di stile, organizzarli in cartelle renderà più facile la manutenzione e la gestione del sito.

Se decidi di utilizzare nuovamente le cartelle, assegnare a questi nomi lunghi o brevi è una preferenza personale.

Anche se i nomi di una lettera salvano byte e possono sembrare un po 'più ordinati, nella mia esperienza se hai più di una manciata di persone che lavorano sul sito questo può diventare confuso.


1

Puoi anche fare questo metodo per.

1o metodo:

  • / I / / common
  • / I / layout /
  • / I / lib /
  • / I / misc / docs / pdf /
  • / I / misc / docs / csv /
  • / I / misc / docs / txt /

Nota: è meglio se ogni file verrà rinnovato nel loro riepilogo md5.

Esempi:

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

2o metodo:

  • / Beni / / common
  • / Attività / templates / template_name /
  • / Attività / include / js /
  • / Beni / misc / pdf /
  • / Beni / misc / csv /
  • / Attività / misc / txt /

Nota: non è necessario rinominare i file in stringhe md5 ma ogni spazio deve essere sostituito da trattino / -

Esempi

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

3o metodo:

  • / Site / files /
  • /layout del sito/
  • / Site / scripts /
  • / Site / misc / docs / pdf /
  • / Site / misc / docs / csv /
  • / Site / misc / docs / txt /

OSSERVAZIONI: Nella sottodirectory della cartella "common" public_html è possibile creare una nuova sottodirectory dopo di essa e denominarla "uploads / 2014/12 / per i file caricati, allo stesso modo in cui Wordpress organizza i caricamenti.


1
Mi piacciono i tuoi esempi di strutture di cartelle, tuttavia non è consigliabile denominare i tuoi file usando i loro hash md5 e sicuramente non è "il migliore". La modifica di un file di immagine ne altera il formato md5, pertanto è necessario apportare modifiche all'intero sito. Invece è molto più sicuro dare loro un nome più memorabile.
Richard,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.