Como muitos outros sugeriram, use algo que funcione para você. Se você criar um esquema, cumpra-o e explique-o na documentação (você está documentando seu trabalho, não é?). Seu esquema durará mais, se você puder estendê-lo para cobrir diferentes arquivos e caminhos diferentes. O que parece funcionar bem seria construir suas variáveis de retenção de nome de arquivo em um local de configuração central, por exemplo
- MyProjectRoot ... Raiz de seus arquivos de projetos para preceder seus subdiretórios
- MyConfigDir = MyProjectRoot + "/ conf"
- MyConfigFile = MyConfigDir + "/complicatedconfiguration.xml"
Dessa forma, você não apenas torna óbvio o que os nomes de arquivos individuais representam, mas também obtém um lugar onde você (ou outra pessoa trabalhando com seu código mais tarde) pode aplicar alterações que refletirão consistentemente em todo o projeto.
Para o seu projeto específico, eu ficaria mais preocupado em misturar a origem e o alvo, então eu escolheria
-
SourcePath
, TargetPath
para o componente do nome do caminho
-
FileName
(ou BaseName
) para o componente de nome de arquivo comum a ambos, (ou SourceBaseName
/ TargetBaseName
se eles não forem comuns a ambos)
- e possível
SourceFile
e TargetFile
para caminho + nome de arquivo
E eu explicaria isso no preâmbulo do programa / script.
Se quiser ser muito explícito que o seu componente FileName não contém nenhum componente de caminho, você poderia chamá-lo de Nome Base.
Então toda a sua coisa é basicamente construída a partir de
-
/AbsolutePath/BaseName.Extension
-
./RelativePath/BaseName.Extension
combinado com qualificadores como Source
ou Target