Além da resposta do @ simon.
Nem tudo na engenharia de software é sobre programação, design ou modelagem. Há uma infinidade de tarefas que realizamos continuamente durante o dia útil. Você já mencionou um - criando o projeto fora do IDE -, mas há muitos mais.
Desenvolvedores experientes / proativos tendem a automatizar essas tarefas. Alguns até constroem ferramentas quando essas tarefas se tornam parte do SDLC e são tediosas - e propensas a erros - a serem feitas manualmente. Os programas são bons em fazer trabalhos repetitivos, por mais tediosos que sejam. Nós - humanos - não somos tão bons.
Essas ferramentas / scripts têm outros efeitos colaterais positivos
- Produtividade
- Transferência de conhecimento
- Autonomia (para iniciantes)
Portanto, sim, os scripts devem estar no SCM e devem ser mais uma ferramenta na caixa de ferramentas do desenvolvedor.
Em relação à pasta, /scripts
eu diria que isso não importa. Para simplificar, deixo-os no diretório raiz do projeto, para que todas as rotas declaradas nos scripts sejam relativas à pasta do projeto. Se eu precisar de acesso a pastas ou arquivos externos, crio links diretos .
Pontos a considerar antes de verificar os scripts no SCM.
Por segurança, verifique se os scripts não têm credenciais codificadas - idealmente, os scripts devem ser bem parametrizados -
Certifique-se de que os scripts não façam coisas estranhas no sistema, como, por exemplo, para executar comandos que não podem ser desfeitos (o mais típico rm -rf
).
Uma vez que estes se tornam parte da fonte do projeto, a documentação é muito apreciada.
Script não é ciência do foguete. Faça scripts concisos. Em vez de alguém para governá-los todos ... e na escuridão prendê-los , faça mais, menor e conciso. Como se você estivesse aplicando SRP.