Kullan-At Araçların Sanatı: En İyi Scriptler Silinmek İçin Yazılır
~/scripts Klasöründeki O Kadar Kullanılmayan Betiklere Bir Bakalım
Çoğumuzun ~/scripts klasöründe, "bir gün hallederim" dediğimiz betikler duruyor. Tek seferlik migration araçları, sadece bir deployment için yazdığımız ve bir daha dokunmadığımız yapılandırma sihirbazları... Bunları genellikle "başarısız projeler" olarak görürüz. Yarım kalmış kodlar, "gerçek bir şeye" dönüşmemiş işler.
Peki ya asıl mesele buysa?
Birçok geliştiricinin benimsediği "kurtarma betiği" felsefesi, yazılım kalıcılığı hakkındaki düşüncelerimizi baştan aşağı değiştiriyor. Kalıcılık için değil, amaç için kod yazıyorsunuz — ve sonra yolunuza devam ediyorsunuz.
Kurtarma Betiği Nedir?
Adı üstünde: tek bir kritik iş için tasarlanmış, sonra silinen bir araç, betik veya başlatıcı. Acil durumlar için "camı kır" çantası gibi düşünün. Temel prensipleri oldukça basit:
- Belirli bir kriz için tasarlanmış — yeni bir makine kurmak, bozuk bir ortamı onarmak veya bir projeyi çalıştırmak gibi
- Geçici olması planlanmış — iş bitince bakımı yapılmaz, silinir
- Zarafetten önce hız gelir — kriz modundasınız, mükemmellik kurtarmanın düşmanıdır
- Normal iş akışınıza geri döndürür — betiğin görevi sizi kendi aletlerinize kavuşturmak, onların yerine geçmek değil
Neden Bu Felsefe Şimdi Her Zamankinden Daha Önemli?
Kurulum Eziyeti
Son olarak yeni bir projeye başladığınızda veya sıfırdan bir geliştirme ortamı kurduğunuzda ne kadar vakit kaybettiğinizi hatırlayın. Docker ve yapılandırma yönetimi gibi modern araçlar olsa bile, bir sürtünme her zaman var. Doğru Node, Python ve onlarca başka bağımlılık versiyonları lazım. Ortam değişkenleri ayarlanmalı. SSH anahtarları yerinde olmalı.
Şimdi hayal edin: 30 saniyede her şeyi halleden tek bir betik çalıştırıyorsunuz ve sonra o betik kayboluyor. İşte kurtarma betiği zihniyeti tam olarak bu.
"Silin Gitsin" Özgürlüğü
Paradoks gibi görünen kısım burası: silineceğini bilmek, nasıl kod yazdığınızı değiştiriyor. Aşırı mühendislik yapmaktan vazgeçiyorsunuz. "Belki bir gün olur" diye kenar durumları düşünmekten kesiliyorsunuz. Mevcut problemi mümkün olan en hızlı ve güvenilir şekilde çözmeye odaklanıyorsunuz.
Bu özgürlük daha iyi sonuçlar üretiyor. Bakım için tasarlamadığınızda, verimlilik için tasarlıyorsunuz. Ve kriz anında, verimlilik kurtarıyor.
Modern DevOps ile Bağlantı
Bu felsefe, infrastructure-as-code ve immutable infrastructure kalıplarıyla mükemmel uyum sağlıyor. Zamanla bozulan karmaşık kurulum betiklerini muhafaza etmek yerine, tutarlı ve tekrarlanabilir ortamlar üreten geçici betikler oluşturuyorsunuz. Betik geçici; sonuç kalıcı.
Kendi Kurtarma Araç Kutunuzu Oluşturun
Atılabilir geliştirmeyi benimsemeye hazır mısınız? İşte kişisel kurtarma cephaneliğinizde bulunması gerekenler:
1. Ortam Önyükleme Betikleri Sıfırdan ideal geliştirme ortamınızı kuran bir betik yazın. Bağımlılıklar, yapılandırmalar, dotfile'lar — hepsi dahil. Bir kez çalıştırın, sonra silin (veya bir sonraki temiz makineye kadar arşivleyin).
2. Hızlı Servis Başlatıcıları Web geliştiricileri için: tipik yığınınızı (veritabanı, backend, frontend) hızlı iterasyon için makul varsayılanlarla başlatan bir betik. Prototiplemek için kullanın, sonra silin.
3. Veri Taşıma Araçları Sistemler arasında veri taşımak, formatları dönüştürmek veya veritabanlarını temizlemek için tek seferlik betikler. Bir kez çalıştırın, sonuçları doğrulayın, gönül rahatlığıyla silin.
4. Acil Onarım Setleri Yaygın sorunları kontrol eden — port çakışmaları, izin problemleri, eksik bağımlılıklar — ve otomatik düzeltmeye çalışan debug betikleri.
Büyük Resim: Vibe Coding ve Geçici Araçlar
Vibe coding ve AI destekli geliştirme dünyasında, kurtarma betiği felsefesi yeni bir önem kazanıyor. Yapay zeka belirli görevler için betikler oluşturmakta hızla yardımcı olabiliyorsa, amaca yönelik araçlar oluşturmanın önündeki engel dramatik şekilde düşüyor. Saniyeler içinde bir kurtarma betiği taslağı oluşturtabilir, bir kez kullanabilir ve vicdan azabı çekmeden çöpe atabilirsiniz.
Yıllarca bakımını yapacağınız devasa bir framework oluşturmanın tam tersi bu. Hafif, atılabilir ve kendi sınırlılıkları konusunda ferahlatıcı derecede dürüst.
Başlangıç: Minimal Geçerli Kurtarma
Çok düşünmeyin. Küçük başlayın. Sık yaptığınız bir tekrarlayan kurulum görevi seçin ve onu mümkün olan en hızlı betikle halledin. Üç kez kullanın. Sonra silin ve nasıl hissettirdiğine dikkat edin.
Büyük ihtimalle fark edeceksiniz ki, en kullanışlı kodlarınızın bazıları zaten kalıcı olmak için yazılmamış. Ve bu tamamen normal.
Hedef, sonsuza kadar sürecek yazılım inşa etmek değil. Bazen en değerli kod, tek bir problemi çözen, sizi ayağa kaldıran ve sonra kaybolan kod türüdür — sizi tam olarak olmak istediğiniz yere bırakır: normal ortamınızda, alışık olduğunuz araçlarla, önemli bir şeyler inşa etmeye hazır.
Şimdi affedersiniz, üç ay önce yazdığım migration betiğini silmem gerekiyor. İşini yaptı. Bırakma zamanı.
Ya siz? Kurtarıcı bir iş yapan ama silinmiş bir betiğiniz var mı? Yorumlarda paylaşın — bakımını yapmamızı beklemeyin.