@ Simon'un cevabına ek olarak.
Yazılım mühendisliğinin tümü programlama, tasarım veya modelleme ile ilgili değildir. Çalışma günü boyunca sürekli olarak yaptığımız sayısız görev var. Daha önce de bahsettiniz - projeyi IDE dışında inşa etmek - ama daha fazlası var.
Deneyimli / proaktif geliştiriciler bu görevleri otomatikleştirme eğilimindedir. Bazıları, bu görevler SDLC'nin bir parçası olduğunda ve elle yapmak için sıkıcı ve hataya eğilimli olduklarında araçlar oluştururlar . Programlar, ne kadar sıkıcı olursa olsun, tekrarlayan işler yapmakta iyidir. Biz - insanlar - o kadar iyi değiliz.
Bu araçların / komut dosyalarının başkalarının olumlu yan etkileri vardır
- verimlilik
- Bilgi aktarımı
- Özerklik (yeni gelenler için)
Yani, evet komut dosyaları SCM'de olmalı ve geliştiricinin araç kutusunda bir araç daha olmalıdır.
Klasöre gelince, /scripts
önemli olmadığını söyleyebilirim. Basit olması için, bunları komut dosyalarında bildirilen tüm yolların projenin klasörüne göreli olması için projenin kök dizininde bırakıyorum . Harici klasörlere veya dosyalara erişmem gerekirse yumuşak bağlantılar oluştururum .
Scriptleri SCM'de kontrol etmeden önce dikkat edilmesi gerekenler.
Güvenlik için, komut dosyalarının sabit kodlu kimlik bilgilerine sahip olmadığından emin olun - ideal olarak komut dosyalarının iyi parametrelenmiş olması gerekir -
Örneğin geri alınamayan komutları yürütmek için komut dosyalarının sistemde tuhaf şeyler yapmadığından emin olun (en tipik rm -rf
).
Bunlar projenin kaynağının bir parçası olduğundan, dokümantasyon çok takdir edilmektedir.
Senaryo yazmak roket bilimi değildir. Komut dosyalarını kısa ve öz yapın. Hepsine hükmedecek biri yerine ... ve karanlıkta onları bağlar , daha fazla, daha küçük ve özlü yapar. Sanki SRP uyguluyorsun.