Oltre alla risposta di @ simon.
Non tutto nell'ingegneria del software riguarda la programmazione, la progettazione o la modellazione. C'è una miriade di compiti che eseguiamo continuamente durante la giornata lavorativa. Hai già menzionato uno - costruendo il progetto all'esterno dell'IDE - ma ce ne sono molti altri.
Gli sviluppatori esperti / proattivi tendono ad automatizzare queste attività. Alcuni, persino creano strumenti quando questi compiti diventano parte dello SDLC e sono noiosi - e inclini a errore - da fare a mano. I programmi sono bravi a fare lavori ripetitivi, non importa quanto siano noiosi. Noi umani non siamo così bravi.
Questi strumenti / script hanno altri effetti collaterali positivi
- Produttività
- Trasferimento di conoscenza
- Autonomia (per i nuovi arrivati)
Quindi, sì, gli script dovrebbero essere nell'SMM e dovrebbero essere uno strumento in più nella casella degli strumenti dello sviluppatore.
Per quanto riguarda la cartella /scripts
direi che non ha importanza. Per semplicità li lascio nella directory radice del progetto in modo che tutti i percorsi dichiarati negli script siano relativi nella cartella del progetto. Se ho bisogno di accedere a cartelle o file esterni, creo collegamenti software .
Cose da considerare prima di controllare gli script in SCM.
-
Per sicurezza, assicurati che gli script non abbiano credenziali hardcoded - idealmente, gli script dovrebbero essere ben parametrizzati -
-
Assicurati che gli script non facciano cose strane al sistema, come ad esempio per eseguire comandi che non possono essere annullati (il più tipico rm -rf
).
-
Poiché questi diventano parte della fonte del progetto, la documentazione è molto apprezzata.
-
Lo scripting non è scienza missilistica. Rendere concisi le sceneggiature. Invece di uno per dominarli tutti ... e nell'oscurità legarli , rendere di più, più piccoli e concisi. Come se applicassi SRP.