Qual é a melhor maneira de armazenar a documentação associada a um projeto de código?

10

Temos muitos documentos associados ao nosso desenvolvimento de software. Isso inclui requisitos, documentos de design, PDFs externos, arquivos de clientes, instruções de teste etc. Atualmente, esses documentos estão espalhados por todo o lugar (wiki, "algum lugar na rede", um disco rígido local para desenvolvedores (!), e lugares ainda piores).

Qual é a melhor maneira de acompanhá-los? Como usamos o visual studio (2010) para o nosso desenvolvimento e não temos realmente não desenvolvedores no projeto, achei que seria uma boa ideia armazená-los na "solução" do VS, o que permitiria a eles ser controlado pela fonte e acessível universalmente por todos os desenvolvedores.

No entanto, o VS realmente não parece ser construído para fazer isso. Se você editar qualquer arquivo de documento, mesmo um que esteja configurado com as propriedades de compilação "Nenhuma", "Não copiar", o VS deverá reconstruir o software antes de executar novamente. Não há como criar um "Projeto de documentação" dentro da solução. (Usamos um projeto C # vazio para isso). O Visual Studio e o Word / Excel flat não controlam bem a fonte. Você não pode visualizar um arquivo com check-in e, em seguida, decide fazer uma alteração sem primeiro fechar o arquivo, acessar o projeto e fazer check-out manualmente antes de fazer a alteração. É lento e tedioso na melhor das hipóteses.

De qualquer forma, isso é o melhor que nossa equipe criou, mas eu realmente gostaria de ter uma solução melhor (gratuita).

David
fonte
Qual é o tamanho da sua equipe?
11114 Jeff
Temos 3-4 agora.
David
Que controle de versão você está usando especificamente. Não conheço um controle de origem em que você esteja vinculado ao uso do Visual Studio para gerenciá-lo.
Earlz
Onde trabalho, usamos o TFS para armazenar código e o SharePoint para documentação, planos de teste etc.
Job
4
Eu não recomendaria colocar documentos como PDFs no VSS. Veja bem, eu também não recomendaria colocar o código-fonte no VSS.
precisa saber é o seguinte

Respostas:

3

Não tenho certeza se existe uma única "melhor maneira", mas a partir da sua descrição, parece que todo desenvolvedor está fazendo sua própria maneira de armazenar documentação. Obtenha um buy-in de todos com um único método de armazenamento de documentação, e será muito mais fácil mantê-lo organizado.

Além da resposta "encontre o melhor caminho para você", eu diria que pelo menos procure uma solução que facilite a pesquisa de documentos . Em uma empresa, montei um wiki que continha links para arquivos lançados sobre a área do servidor, o que de repente tornou muito mais fácil procurar e localizar documentos, não importa onde eles estivessem. Depois que outros usuários começaram a usar o wiki para encontrar documentos, eles também começaram a atualizá-lo para vincular novos documentos ou apenas criando uma entrada de wiki como o documento.

Eu adoraria ouvir outras pessoas se elas souberem sobre sistemas de controle de versão gratuitos que funcionam bem com documentos. A única coisa que sai da minha cabeça é o Sharepoint, que não é exatamente gratuito. Vi sistemas de versão não oficiais em que as pessoas têm uma pasta "Arquivo" e simplesmente colocam revisões anteriores de um arquivo nessa pasta, com a revisão mais recente no mesmo nível de pasta que "Arquivo".

Jeff
fonte
Nossa solução 'wiki' é um link para o compartilhamento de rede (ou um link direto para arquivos na rede. A desvantagem é que não há controle de versão disso. Ou você faz o download / edita / carrega o arquivo no wiki, que é um 10 etapa do processo a qualquer momento você quiser editá-lo para corrigir um erro de digitação.
David
várias alternativas gratuitas de compartilhamento (que são melhores!): experimente o Nuxeo para uma simples de configurar. Ou Alfresco para algo com mais poder, se você precisar.
precisa saber é o seguinte
A Pesquisa do Google instalada em sua máquina faz maravilhas para localizar coisas.
3

A solução que melhor funcionou na minha empresa foi a criação de um wiki (usamos o mediawiki). Ele é usado de várias maneiras, desde as entradas tradicionais do wiki até um simples "Isto é um ..." mais um documento do Word. É muito fácil pesquisar. Estamos gradualmente construindo um repositório de informações muito útil.

Michael K
fonte
Tentamos usar o doku-wiki, mas é muito tedioso de usar (tente corrigir uma palavra doc typo é 10 etapas tediosas), além de nenhum suporte multiusuário para quem está editando o quê. Havia também muitos avisos e limitações sobre o tamanho e a extensão do arquivo que realmente irritavam mais do que ajudavam. Eu não tive o menor interesse em usá-lo de outras pessoas na empresa. Eu vejo um grande potencial, mas não para a minha empresa, infelizmente.
David
1

No VS 2008, pelo menos, você pode definir o tipo de configuração de um projeto C ++ (em propriedades do projeto-> geral-> padrões do projeto) como Utilitário ; nesse caso, o VS não faz nada com ele.

Você já tentou usar esse projeto em sua solução baseada em C #? (Talvez um projeto em C # tenha algo semelhante?)

Macke
fonte
0

Definitivamente, concordo que não existe uma única solução melhor aqui. Mas controle de versão! = Incluído na solução; a maioria dos sistemas pode lidar com coisas além do IDE. Portanto, é possível manter os documentos próximos, mas não na maioria dos casos.

Agora, superar os hábitos irritantes do word para alterar arquivos sempre que eles são abertos é um problema diferente. . .

Wyatt Barnett
fonte
0

Não, os projetos do Visual Studio (bem, C # e Vb.net) têm uma abordagem de morte cerebral para o explorador de soluções. O VC ++ é MUITO melhor, pois você pode criar pastas virtuais que não estão vinculadas ao layout do disco e colocar todos os tipos de coisas lá também. A boba Microsoft a quebrou tentando torná-la 'mais fácil de entender'.

Você ainda pode colocá-lo em uma 'pasta de solução', mas ainda não é tão flexível quanto você provavelmente desejará. Isso significa que você precisa encontrar uma alternativa e minhas alternativas recomendadas são ferramentas da web. Se você não quiser experimentar um portal de projeto (como o Redmine), no qual pode armazenar documentos e ter um wiki, rastreador de erros, etc etc, procure uma ferramenta de gerenciamento de documentos. Algo como Nuxeo ou Owl te faria bem. Uma vez na Web, você tem um local central para que as pessoas saibam onde procurar essas coisas - essa é provavelmente a parte mais importante do gerenciamento de documentos. Se você o vincular a um sistema de controle de versão como o subversion (continue, você não se arrependerá depois do VSS!), Ainda poderá vincular os documentos às ferramentas da Web e controlá-los por versão também.

O Subversion ainda tem a capacidade de expor o repositório como pasta webdav - ou seja, uma pasta de rede - para que você possa colocá-los em uma 'unidade de rede' e ainda assim controlá-los automaticamente.

Eu ainda iria atrás do Redmine como minha preferência pessoal.

gbjbaanb
fonte