Ben her zaman çalışma kodu yeniden yazma şüpheci olmuştur - taşıma kodu bu bir istisna değildir. Bununla birlikte, TDD ve otomatik testin ortaya çıkmasıyla kodu yeniden yazmak ve yeniden düzenlemek çok daha mantıklıdır.
Herkes eski kodu taşımak için kullanılabilecek bir TDD aracı olup olmadığını biliyor mu? İdeal olarak aşağıdakileri yapabilirsiniz:
- Geçen eski kod için dil agnostik birim testleri yazın (veya hata bulursanız başarısız olun!).
- Başarısız olan diğer kod tabanınızda birim testleri çalıştırın.
- Eski koda bakmadan testleri geçen yeni dilinize kod yazın.
Bunun alternatifi, 1. adımı "1. dildeki birim testlerini yaz" ve "2. birim testlerini dil 2'ye" bölmektir; bu da gerekli çabayı önemli ölçüde artırır ve eski kod tabanının, bağlantı noktası (yani, bu kod tabanında sürekli entegrasyondan yararlanamazsınız).
EDIT: StackOverflow bu soruyu belirtmeye değer .
expect
. Stdin ve stdout kullanarak borularla iletişim kuran Unix tarzı eski bir sisteminiz varsa, bu araç kesinlikle kullanılabilir. Aslında, herhangi bir kodlama dili ile de test etmek oldukça kolay olurdu.
legacy language x
üzere fancy new language y
. Unix hakkında hiçbir şey ima etmeye çalışmıyordum!
expect
testlerinizi uygulamak için kullanın .