Em geral, é boa ideia:
- calcule os argumentos dependentes, mas permita redefini-los: por exemplo, no seu exemplo você tem
filename
igual a$(basename repository)
, portanto, você pode exigir apenas repositório, mas tem a opção--filename
para fornecer nome de arquivo alternativo. - ocultar a autenticação da linha de comando e
ps
output. Coloque-os em algum arquivo: pode ser$HOME/.fm-git.conf
, dê mais restrições ao arquivo comochmod 600 $HOME/.fm-git.conf
e leia-os do arquivo. Às vezes, também é uma opção para obter o nome de usuário e senha de variáveis de ambiente (como nome de usuário padrão é o nome de usuário do sistema ouSUDO_USER
), mas pode não ser o seu caso.
Então, depois das duas otimizações você tem apenas 3 parâmetros cli, é aceitável, eu acho. Sinta-se à vontade para usá-los como parâmetro posicional ou fornecer alguns sinalizadores como --comment
: fornecer sinalizadores longos aumentará a legibilidade se você usar seu programa em scripts mais detalhadamente, mas precisará digitar mais se executar seu programa principalmente por meio de cli .
De qualquer forma, enquanto você escreve seu programa em Python, recomendo que use o módulo argparse - ele ajudará você a analisar parâmetros e fazer alterações no futuro, caso deseje alterá-los.