Bquest:DevManual
De BCC Wiki
Tabela de conteúdo |
Manual do Desenvolvedor
Introdução
O Manual do Desenvolvedor tem por objetivo servir como fonte de informação anexa ao programa, fornecendo uma visão geral sobre a organização do código bem como descrever as ferramentas utilizadas no desenvolvimento do mesmo.
Ferramentas
Cmake
O CMake, desenvolvido pela Kitware, é um sistema de controle de compilação, multi-plataforma e código-aberto. O CMake oferece uma alternativa mais fácil e produtiva as "auto-tools (autoconf, automake, autoheader). Além disso, é interessante notar que o CMake foi escolhido como a ferramenta de build oficial para a nova versão do projeto KDE. Por motivos didádicos, o cmake será adotado em nosso projeto como principal ferramente de compilação e automatização de testes.
Subversion
O Subversion é uma ferramenta open source para controle de versão de software. O projeto do Subversion iniciou em 2000 com a idéia de se construir um CVS melhor. Desde então, o Subversion tem alcançado cada vez mais sucesso e vem substituindo o CVS como padrão de fato para controle de versão. Na rede linux, existe disponível aos usuários um serviço de svn, onde, temporariamente (até que seja definido pelo professor da matéria) ficará nosso projeto. O endereço é:
svn://shell.linux.ime.usp.br/fabsn/labprog
Documentação no código
Parte da documentação será composta de comentários existentes no próprio codigo. Cada módulo e biblioteca do jogo conterá uma descrição de como funciona e o que faz. Além disso, cada função deverá conter em seu início uma descrição dos argumentos que ela recebe e o que ela faz. O mesmo vale para as estruturas de dados. Essas informações serão compiladas em um manual do desenvolvedor junto com uma visão geral de como o programa funciona e de como os módulos interagem entre si. A documentação específica de cada módulo/biblioteca deverá ser criada/atualizada pelo próprio programador enquanto cria/modifica o código, de forma que ela esteja sempre consistente e atualizada.
Haverá também comentários dentro das funções, mas estes ficarão apenas no código fonte.