Compartilhar via


Decisões de design de controle do código-fonte

As decisões de design a seguir devem ser consideradas para projetos ao implementar o controle do código-fonte.

As informações serão compartilhadas ou privadas?

A decisão de design mais importante que você pode tomar é quais informações são fragmentáveis e o que é privado. Por exemplo, a lista de arquivos do projeto é compartilhada, mas dentro dessa lista de arquivos, alguns usuários podem querer ter arquivos privados. As configurações do compilador são compartilhadas, mas o projeto de inicialização geralmente é privado. As configurações são puramente compartilhadas, compartilhadas com sobreposição ou puramente privadas. Por design, itens privados, como arquivos de opções do usuário da solução (.suo), não são verificados no Visual SourceSafe. Certifique-se de armazenar qualquer informação privada em arquivos privados, como o arquivo .suo ou um arquivo privado específico criado, por exemplo, um arquivo .csproj.user para Visual C# ou um arquivo .vbproj.user para Visual Basic.

Essa decisão não é totalmente inclusiva e pode ser tomada de acordo com item por item.

O projeto incluirá arquivos especiais?

Outra decisão de design importante é se a estrutura do projeto usa arquivos especiais. Arquivos especiais são arquivos ocultos que estão subjacentes aos arquivos visíveis no Gerenciador de Soluções e nas caixas de diálogo de check-in e check-out. Se você usar arquivos especiais, siga estas diretrizes:

  1. Não associe arquivos especiais ao nó raiz do projeto, ou seja, com o próprio arquivo de projeto. Seu arquivo de projeto deve ser um único arquivo.

  2. Quando arquivos especiais são adicionados, removidos ou renomeados em um projeto, os eventos apropriados IVsTrackProjectDocumentsEvents2 devem ser acionados com o conjunto de sinalizadores que indica que os arquivos são arquivos especiais. Esses eventos são chamados pelo ambiente em resposta ao projeto que chama os métodos apropriados IVsTrackProjectDocuments2 .

  3. Quando seu projeto ou editor chama QueryEditFiles um arquivo, os arquivos especiais associados a esse arquivo não são automaticamente verificados. Passe os arquivos especiais junto com o arquivo pai. O ambiente detectará a relação entre todos os arquivos fornecidos e ocultará adequadamente os arquivos especiais na interface de check-out do usuário.