Responda rápido, qual a diferença entre estes dois comandos:
CopyFile(’arq1.txt’, ‘arq2.txt’, True);
CopyFile(’arq1.txt’, ‘arq2.txt’, False);
Eu não saberia dizer para que serve esse terceiro parâmetro booleano sem usar o tooltip do Delphi ou ler a documentação.
E se fosse assim?
CopyFile('arq1.txt', 'arq2.txt', cmFailIfExists);
Melhor não?
Pois é, a outra opção poderia ser algo como:
CopyFile('arq1.txt', 'arq2.txt', cmOverwrite);
Há algum tempo atrás li uma dica que venho aplicando desde então: substituir parametros booleanos por enumerações. O código fica muito mais fácil de ler e entender.
No exemplo acima usei uma função da API Win32 para exemplificar, mas se fossemos reescrever a função CopyFile, ficaria algo assim:
type
TCopyMode = (cmFailIfExists, cmOverwrite);
procedure MyCopyFile(const Source, Dest: string; CopyMode: TCopyMode);
Últimos Comentários
RSS