Böyle eski soru için iki sentim
Bazı insanlar zaten bahsetti, pratik ve yeniden düzenleme. Desenler hakkında bilgi edinmek için doğru sıranın bu olduğuna inanıyorum:
- Test Odaklı Geliştirme (TDD)
- Yeniden düzenleme öğrenin
- Kalıpları öğren
Çoğu insan 1'i görmezden gelir, birçoğu 2 yapabileceğine inanır ve neredeyse herkes 3'e düz gider.
Benim için yazılım becerilerimi geliştirmenin anahtarı TDD'yi öğrenmekti. Uzun süre acı verici ve yavaş kodlama olabilir, ancak testlerinizi yazmak ilk önce kesinlikle kodunuz hakkında çok düşünmenizi sağlar. Bir sınıfın çok fazla kazan plakasına ihtiyacı varsa veya kolayca kırılırsa, kötü kokuları oldukça hızlı fark etmeye başlarsınız
TDD'nin ana yararı, kodunuzu yeniden düzenleme korkunuzu kaybetmeniz ve sizi oldukça bağımsız ve uyumlu sınıflar yazmaya zorlamanızdır. İyi bir test seti olmadan, kırık olmayan bir şeye dokunmak çok acı vericidir. Güvenlik ağı ile kodunuzda ciddi değişiklikler olacak. İşte o zaman pratikten öğrenmeye başlayabileceğiniz andır.
Şimdi, kalıplar hakkında kitaplar okumalısınız ve bence, bu çok çabalamak için tam bir zaman kaybı. Sadece benzer bir şey yaptığımı fark ettikten sonra kalıpları çok iyi anladım ya da mevcut koda uygulayabilirim. Güvenlik testleri ya da yeniden düzenleme alışkanlıkları olmadan, yeni bir projeye kadar beklerdim. Yeni bir projede kalıp kullanma sorunu, çalışma kodunu nasıl etkilediğini veya değiştirdiğini görmemenizdir. Kodumu bunlardan birine yeniden koyduğumda bir yazılım modelini anladım, asla kodumda bir tane tanıttığımda.