Eğitim videolarında okuduğum ve gördüğüm tüm örneklerin basit örnekleri var. Ama yeşilleştikten sonra "gerçek" kodu nasıl yapıp yapmadığımı göremiyorum. Bu "Refactor" kısmı mı?
Eğer karmaşık bir metotla oldukça karmaşık bir nesneye sahipsem ve testimi ve minimum seviyesini geçmesi için çıplak olarak yazarım (ilk başarısız olduktan sonra, Kırmızı). Ne zaman geri dönüp gerçek kodu yazacağım? Ve tekrar test etmeden önce ne kadar gerçek kod yazarım? Sanırım sonuncunun daha sezgi olduğunu düşünüyorum.
Düzenleme: Yanıtlayan herkese teşekkürler. Tüm cevapların bana çok yardımcı oldu. Ne sorduğum ya da kafamın karıştığı hakkında farklı fikirler var gibi görünüyor ve belki de var, ama sorduğum şey, okul yapmak için bir başvurum olduğunu söylüyordu.
Tasarımımda, başlamak istediğim bir mimariye sahibim, Kullanıcı Hikayeleri, vb. Buradan, Kullanıcı Hikayelerini alıyorum ve Kullanıcı Hikayesini test etmek için bir test oluşturuyorum. Kullanıcı diyor ki, bizler okula kayıt olan ve kayıt ücreti ödeyen insanlar var. Bu yüzden başarısızlığa uğramanın bir yolunu düşünüyorum. Bunu yaparken, X sınıfı (belki Öğrenci) için başarısız olacak bir test sınıfı tasarlarım. Daha sonra "Öğrenci" sınıfını yarattım. Belki "Okul" bilmiyorum.
Ancak, her durumda, TD Tasarım beni hikaye boyunca düşünmeye zorluyor. Eğer bir testi başarısız yapabilirsem, neden başarısız olduğunu biliyorum, ama bu benim önemsememeyi şart koşuyor. Bu tasarım hakkında.
Bunu Recursion hakkında düşünmekten hoşlanıyorum. Özyineleme zor bir kavram değildir. Aslında bunu kafanızda takip etmek daha zor olabilir, ama gerçekte en zor kısım, özyinelemenin ne zaman “kırıldığını” ne zaman durması gerektiğini (benim görüşüme göre, elbette.) Bilmek. önce özyineleme. Yalnızca kusurlu bir benzetmedir ve her özyinelemeli yinelemenin bir "geçiş" olduğunu varsayar. Yine, sadece bir görüş.
Uygulamada, okulun görülmesi daha zordur. Sayısal ve bankacılık defterleri "kolay" anlamında basit aritmetik kullanabilirsiniz. Bir + b görebilir ve 0, vb. Geri dönebilirim. Bir insan sistemi durumunda, bunun nasıl uygulanacağı konusunda daha fazla düşünmek zorundayım . Başarısızlık, başarılılık, refaktör kavramına sahibim (çoğunlukla çalışma ve bu soru yüzünden).
Bilmediklerim bana göre deneyim eksikliğine dayanıyor. Yeni bir öğrenciye kaydolma konusunda nasıl başarısız olacağımı bilmiyorum. Bir soyadını yazarak birinin başarısız ve nasıl bir veritabanına kaydedildiğini bilmiyorum. Basit bir matematik için nasıl + 1 yapılacağını biliyorum, ancak bir kişi gibi varlıklar ile, birileri bir isim girdiğinde yalnızca bir veritabanına benzersiz bir kimlik veya başka bir şey girip girmediğimi görmek için test yapıp yapmadığımı bilmiyorum. veritabanı veya her ikisi veya ikisi.
Ya da, belki de bu hala kafamın karıştığını gösteriyor.