Configurando um grande sistema de software em Delphi

Temos um pacote de software com cerca de 16 anos. Ele passou por quase todas as versões do Delphi (além das do .NET). Ao longo dos anos, as coisas se tornaram muito confusas quando se trata de referência cruzada e manutenção de adequada configuração para pacotes adicionais (como bibliotecas de terceiros). Fiquei me perguntando se há algumprática padrã quando se trata de manter grandes projetos (e grupos de projetos) assim organizado

Então, para explicar a configuração atual ...

Este é um sistema de múltiplas aplicações. Ou seja, existem 12 projetos executáveis (e alguns projetos de DLL e serviço) envolvidos. Também mantemos as coisas no SourceSafe e vários desenvolvedores trabalham no mesmo código em computadores diferentes. Todos esses projetos são mais ou menos despejados em uma pasta central. A pasta "Raiz" contém projeto EXE principal (junto com cerca de 20 pastas, todas contendo unidades e formulários) e quase parece uma hierarquia interminável de pastas e arquivos. Somente este projeto possui meio milhão de linhas de código envolvida

Então todos os aplicativos adicionais não são necessariamente separados adequadamente desse grande projeto. Cada um desses projetos tem sua própria pasta, com base na raiz do projeto principa

As duas principais preocupações minhas são:

Como configurar corretamente os arquivos DCU para que não sejam misturados aos projetos? Os DCU NÃO devem ser colocados no SourceSafe (e em qualquer arquivo semelhante, para esse caso) ou em qualquer outro arquivo compilado a partir do projeto. O Visual SourceSafe torna os arquivos somente leitura quando não estão com check-out e os arquivos DCU (e arquivos EXE e mais) não podem ser gravados nesse caso. Então, como separar adequadamente esse arquivo em um local remoto para evitar qualquer mistura com o código-fontComo configurar corretamente pacotes e bibliotecas? Temos o seguinte:QuickReports 5.05iblioteca @NativeJpg V302 -Outra biblioteca de relatórios anônimos Nosso próprio pacote de componentes, que requer QuickReports, NativeJpg e a outra biblioteca anônima

Todas as 4 bibliotecas são armazenadas em locais completamente diferentes de cada computador e precisam de alguma centralização. A maior dificuldade de configurar o computador de cada novo desenvolvedor é localizá-los a partir do líder do computador do desenvolvedor e copiando-os para o mesmo local no outro computador (e certificando-se de que o caminho da biblioteca esteja correto, etc.

Também precisamos manter ambientes completamente separados para diferentes versões do Delphi no mesmo computador. Isso significa uma cópia dos projetos em cada computador, uma cópia dos pacotes e bibliotecas em cada computador, uma cópia dos projetos e pacotes e bibliotecas no SourceSafe, etc. Cada computador precisa ter uma configuração idêntica. Já utilizamos variáveis de ambiente para direcionar nossos projetos para onde procurar certos arquivos de projeto (e bibliotecas

Outra nova preocupação: o XE2 introduz recursos de 64 bits. Não planejamos compilar 64 bitsaind, mas certamente o faremos no futuro. Como faço para diferenciar corretamente 32 bits de 64 bits em todos esses projeto

O que estou realmente pedindo é uma referência a um bom tutorial sobre como otimizar esse ambiente e mantê-lo organizado da melhor maneira. Não espero que ninguém reserve um tempo e responda tudo isso na pergunta. Os projetos têm mais de 15 anos de idade, já tiveram as mãos de mais de 200 desenvolvedores de todo o mundo e têm muitas referências cruzadas entre os projetos. Por exemplo, um projeto pode usar uma unidade de outro projeto e vice-versa. Eu pessoalmente não gosto desse conceito, mas também não o criei. Foi-me dada a tarefa de organizar esse sistema e documentar completamente como configurar o Delphi em um novo computador para que novos desenvolvedores trabalhem em nossos projetos. Enquanto olho para os nossos projetos (como não sou necessariamente um desenvolvedor do sistema, mas estou sendo atraído para o desenvolvimento), estou vendo muita confusão em como o código está organizado.

Suponho que possivelmente o Embarcadero possua algumas diretrizes e padrões para a criação de um ambiente assi

questionAnswers(14)

yourAnswerToTheQuestion