Qual é a estrutura ideal de pastas para um diretório da web?

9

Faço desenvolvimento web há anos e sempre fiz uma estrutura da web semelhante a esta:

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

Eu já vi outras pessoas usarem:

styles/login.css
images/logo.png

E recentemente descobri que meu colega de trabalho gosta de:

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

Além de salvar um byte ou dois, existem vantagens ou desvantagens em alguma dessas opções? Existe uma prática recomendada para esse conceito?

St. John Johnson
fonte
Por pedido, pastas adicionais: 't' para modelos e 'x' para xml
St. John Johnson
algo relacionado: stackoverflow.com/questions/2114935/…
cregox

Respostas:

6

Eu continuaria com seu sistema atual, embora possa ser tendencioso, pois eu mesmo uso os mesmos nomes.

Acho que manter um nome de pasta com três letras é detalhado o suficiente para ter significado, mas conciso o suficiente para manter meus URLs organizados .

Recortar cada pasta em uma única letra é um exagero e, como aponta o mc10, é amplamente aberto à interpretação. Por exemplo, eu nunca escolheria 'a' para arquivos Javascript: eu teria escolhido 'b', para "comportamento". Não acho que seja mais correto, apenas aponta o quão ambíguo é o esquema de nomeação.

Embora usar "estilos" e "imagens" como nomes de pastas seja perfeitamente adequado, acho que faz muito mais sentido usar um nome mais curto. Pense em quantas vezes essa pasta será referenciada, em cada arquivo, em cada URL e solicitação, e os bytes começarão a somar. É verdade que não acho que você verá economia de largura de banda no mundo real usando nomes de pastas mais curtos, mas utilizarei todos os bits (e bytes) que conseguir.

Eu costumo manter essas duas pastas:

  • js - arquivos Javascript
  • img - arquivos de imagem
  • css - arquivos CSS
  • lib - scripts do lado do servidor que não produzem saída. Bibliotecas, classes, etc.
  • doc - Arquivos binários, como documentos do escritório e PDFs, que não fazem parte da navegação normal da página
Jacob Hume
fonte
2

As pastas CSS e JS são boas para um site individual que pode ser codificado estaticamente (também conhecido como HTML), mas não é prático para um site maior que usa um CMS.

Os CMSs usam pastas "estilos" e "imagens" em sua própria estrutura de pastas, apenas que geralmente estão ocultas em subdiretórios. É uma ótima maneira de exibir o conteúdo e ser preferido por muitos CMSs.

Ter nomes de pasta com uma letra é confuso. À primeira vista, eu ficaria confuso com a diferença entre fotos ( p) e imagens ( i). Usar apara "aplicativo" também parece enigmático.

kevinji
fonte
1

O uso de pastas para css e js em vez de arquivos individuais depende inteiramente do escopo do seu projeto.

Se você tiver ou necessitará potencialmente de mais de um script ou folha de estilo, organizá-los em pastas facilitará a manutenção e o gerenciamento do site.

Se você decidir usar pastas, novamente, dar nomes longos ou abreviados é uma preferência pessoal.

Embora os nomes de uma letra salvem bytes e possam parecer um pouco mais organizados, na minha experiência, se houver mais de um punhado de pessoas trabalhando no site, isso pode se tornar confuso.

ajcw
fonte
1

Você também pode fazer esse método para.

1º método:

  • / i / comum /
  • / i / layout /
  • / i / lib /
  • / i / misc / docs / pdf /
  • / i / misc / docs / csv /
  • / i / misc / docs / txt /

Nota: É melhor que cada arquivo seja renomeado em seu resumo md5.

Exemplos:

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

2º Método:

  • / ativos / comum /
  • / assets / templates / template_name /
  • / assets / inclui / js /
  • / assets / misc / pdf /
  • / assets / misc / csv /
  • / assets / misc / txt /

Nota: Não é necessário renomear arquivos para cadeias de caracteres md5, mas todos os espaços devem ser substituídos por traço / -

Exemplos

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

3º Método:

  • / site / arquivos /
  • /layout do site/
  • / site / scripts /
  • / site / misc / docs / pdf /
  • / site / misc / docs / csv /
  • / site / misc / docs / txt /

OBSERVAÇÕES: No subdiretório public_html "common" da pasta, você pode criar um novo subdiretório após o nome e nomeá-lo "uploads / 2014/12 / para seus arquivos enviados, da mesma forma como o wordpress organiza seus envios.

js92
fonte
11
Gosto dos seus exemplos de estruturas de pastas, no entanto, nomear seus arquivos usando seus hashes md5 não é recomendado e definitivamente não é "melhor". Alterar um arquivo de imagem alterará o MD5, exigindo, portanto, que você faça as pazes em todo o site. Em vez disso, é muito mais seguro dar a eles um nome mais memorável.
Richard