Com um bom programador no time você pode evitar estresse em projetos de qualquer tamanho
Antes de mais nada, contexto: Vou chamar o setor onde trabalho de hub já que todas as tarefas de criação e publicação de sites é centralizada no meu escritório. No caso de publicação nós temos 2 alternativas: Fazemos um teste rápido antes de publicar ou testamos com mais cuidado e fazemos revisão de código antes de mandarmos pra produção. Isso depende do cliente.
Pois bem. Alguns dias atrás recebemos no hub um pedido para publicar um site. Disseram que não precisávamos testar e que era só jogar online. Assim o fiz. O problema é que o site começou a gerar erro de permissão de pasta. Fiz as devidas correções e o problema foi resolvido.
Eu juro que me deu vontade de xingar até a 5ª geração do cara que programou o site. Ele cometeu erros básicos como colocar os arquivos de dados (neste caso XML) fora de App_Data, colocou as tags do XML sem padrão (algumas tinham maiúsculas, outras não) e passou bem longe de reusar o código. Sim, ele criou o mesmo método várias vezes para fazer a mesma coisa. Só que em páginas diferentes.
Para evitar que outras pessoas façam isso eu vou botar 3 dicas rápidas. Guardem no coração de vocês:
- Use App_Data para salvar arquivos – Não importa que tipo de arquivos você vai colocar lá dentro, seja XML ou até mesmo um banco de dados SQL. Esta pasta tem nativamente permissões para leitura e escrita. Pode ser que localmente aquela pasta chamada “DB” na raiz do site funcione, mas isso não garante que funcionará em produção. Já App_Data é garantido.
- XML é case sensitive – Tem muita gente que não sabe disso porque só usa letras minúsculas quando está criando os nodes no XML. Mas é case sensitive sim, pode fazer o teste.
- Reuse seu código – Parece piada mas tem muita gente no mercado que cria aquele método “SalvaArquivo” várias vezes em vários lugares diferentes e, pra piorar, fazendo a mesma coisa. Se o método vai ser usado em vários lugares é bom criar em um lugar centralizado para facilitar a manutenção.
Só frisando: Isso foi em um projeto ASP.NET com Web Forms.
Não sei a história dele ou do projeto. Mas se formos pensar um pouco além do código chegamos a conclusão de que ele foi mal escalado para o projeto pois, saibam vocês, é um site grande de uma marca exposta internacionalmente. Claro que ele deve estar feliz de colocar no currículo que fez um site grande. Só que nós do hub sabemos que o cara é bem mediano e que deve ter achado algum site com dicas de entrevista de emprego pra poder conseguir a vaga. Mas nada que um treinamento e um pouco de dedicação nos estudos não resolvam.