Desenvolvimento organizado – Pastas nos lugares certos

Dessa vez estou aqui para falar de algo que muitas vezes me incomoda  e é algo simples demais. Estou sempre a procura da metologia de trabalho perfeita, sei que isso é impossível mas acredito que minha busca é o mais importante nesse processo pois aprendo cada vez mais só por tentar. Quero falar da organização de pastas e arquivos usados em um projeto.

Esse é um item simples que ajuda muito depois quando se vai dar manutenção em um projeto ou até mesmo implementar novas funcionalidades. Vou sugerir algumas dicas que talvez lhe ajudem também quando estiver fazendo um site ou sistema.

Pasta para CSS, JS e afins

Essa é muito simples, existem varias formas de se arrumar e com varios nomes que podemos usar, eu sinceramente prefiro sempre a metologia de jogar meus arquivos css, javascript, imagens dentro da pasta “media“, porém voce poderia colocar em algo como “assets“. Sei que pode parecer bobeira mas ajuda muito e já vou explicar o motivo.

Imagine que no diretorio principal do site tem:

/blog/ – onde esta a pasta e arquivos do blog;
/helpdesk/ – arquivos do help desk da empresa;
/admin/ – area administrativa da empresa;

poderia continuar com varios outros arquivos que vejo por ai, e dai quando voce tem que dar manutençao tem arquivo e pasta pra todo lado fica quase impossivel se localizar, dai vem um criatura como você e coloca pelo menos mais 3 pastas(css, js, imagens). Poderia ficar algo como:

/media/images/ – imagens do site ou sistema
/media/css/ – arquivos css ou similares(tipo less ou sass)
/media/js/ – arquivos javascript e similares(tipo jquery, mootools)
/media/swf/ – arquivos flash e similares

Poxa se você colocar tudo numa pasta vai ganhar muito mais espaço visual, sem falar que vai estar arrumando tudo num só lugar, olha que maravilha!!

Pasta “system” pode ajudar muito

Agora se você é um programador que gosta de sair jogando arquivo em todo lugar sem arrumação espero que tenha muito problema pra dar manutenção nesses sistemas, a dica é a mesma lógica, vejamos:

Caso tenha um sistema poderia muito bem deixar tudo mais simples da seguinte forma, vou me basear em varios sites e sistemas que já dei suporte e montar um padrão básico, mas vou pode adaptar de acordo com a necessidade:

/system/  – coloquei aqui arquivos de seu sistema(banco de dados, funções, bibliotecas e afins), pode colocar arquivo de configurações chamado por toda a aplicação se assim for melhor para você, eu prefiro colocar no diretório principal;
/sys-uploads/ – aqui entram os arquivos de upload da sua aplicação, sempre deixe ela no diretorio principal pois quando tiver que fazer alterações na sua aplicação é só não mexer nessa pasta;
/themes/ ou /templates/ – aqui podem entrar todos os arquivos referente ao tema/template de sua aplicação, caso ache melhor pode ate colocar dentro de “system” caso ache melhor;

Muito mais você pode fazer baseado nisso, existe sempre a possibilidade de usar o mod_rewrite do apache para facilitar ainda mais onde por exemplo, tendo um sistema administrativo, poderia colocar dentro de “system” e colocar um rewrite para dentro dessa pasta, algor como:


_    RewriteEngine On_
_    RewriteCond %{REQUEST_FILENAME} !-f_
_    RewriteCond %{REQUEST_FILENAME} !-d_
_    RewriteRule ^/(.*)$ system/admin/$1 [L]_
__

Eu sinceramente espero ter ajudado de alguma forma e espero dar manutenção em sistemas que você organizaram e parabeniza-los.
É isso ai galera.

Abraços.