9. Boas práticas utilizadas
Estes tópicos já foram abordados anteriormente, mas gostaríamos de salientá-los novamente. E gostaríamos de deixar claro que todas essas boas práticas foram utilizadas pela necessidade de fazer um projeto escalável e que não gerasse grande interdependência. Todos estes itens foram estudados durante o projeto, sendo que não tínhamos conhecimento prévio deles. Até mesmo java foi aprendido no decorrer do ano.
- Utilização do CVS para a programação em grupo. Todo o histórico dos arquivos pode ser encontrado em http://cvs.arca.ime.usp.br/cgi-bin/viewcvs.cgi/panda/
- Classes de mapeamento objeto/relacional foram geradas a partir de um descritor XML, utilizado pelo projeto Gerbo, criado pelo Arca - IME e encontrado em http://cvs.arca.ime.usp.br/cgi-bin/viewcvs.cgi/gerbo/
- Sistema amplamente baseado na arquitetura/padrão Model View Controller (MVC), através da utilização da template engine Velocity http://jakarta.apache.org/velocity, e da controladora Mamute, criada por alunos da Arca - IME e encontrado em http://cvs.arca.ime.usp.br/cgi-bin/viewcvs.cgi/mamute/
- Business Logic completamente plugável com "actions" do Mamute.
- Design do website pode ser modificado facilmente por qualquer webdesigner, já que o código da business logic não está no implementado no meio do design, por causa do Velocity e arquitetura MVC.
- Utilização de design patterns como Direct Access Objects, Singletons, Pools e outros.
- Independência de plataforma e de banco de dados.
- SQL separado do código java, e também separado do HTML, muito diferente do que acontecia no panda anterior.
- Código fonte segue os padrões (coding standards) estabelecidos pela SUN: http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html