Şu anda hiçbir birim testleri ile büyük bir kod tabanı bir kısmını yeniden düzenleme. Ben kaba bir şekilde kod refactor denedim, yani kodun ne yaptığını ve ne değişiklikler anlamını değiştirmek olmaz tahmin etmeye çalışarak, ama başarı olmadan: rastgele tüm kod tabanı çevresindeki sonları.
Yeniden düzenleme işleminin eski C # kodunu daha işlevsel bir stile taşımayı (eski kodun LINQ dahil .NET Framework 3 ve sonraki sürümlerinin hiçbir özelliğini kullanmadığını) ve kodun bunlardan yararlanabileceği jenerikler eklediğini unutmayın.
Maliyetleri göz önüne alındığında, resmi yöntemleri kullanamıyorum .
Öte yandan, maliyeti ne olursa olsun , en azından "Herhangi bir yeniden düzenlenmiş eski kod birim testleri ile gelecek" kuralına kesinlikle uyulması gerektiğini varsayıyorum. Sorun 500 LOC özel yöntem küçük bir bölümünü refactor zaman, birim testleri eklemek zor bir görev gibi görünüyor.
Belirli bir kod parçası için hangi birim testlerinin alakalı olduğunu bilmemde bana ne yardımcı olabilir? Kod statik analiz bir şekilde yararlı olacağını tahmin ediyorum, ama araç ve teknikler için kullanabilirsiniz:
Hangi birim testlerini oluşturmam gerektiğini tam olarak biliyorum,
Ve / veya yaptığım değişikliğin orijinal kodu bundan sonra farklı bir şekilde yürüttüğü şekilde etkileyip etkilemediğini biliyor musunuz?
formal methods in software development
Zaten kullanmak istemezsiniz, çünkü yüklem mantığı kullanarak bir programın doğruluğunu kanıtlamak için kullanılır ve büyük bir kod tabanını yeniden düzenleme için uygulanabilirliği yoktur. Kod kanıtlamak için genellikle kullanılan resmi yöntemler tıbbi uygulamalar gibi alanlarda doğru çalışır. Haklısınız, bu yüzden sık kullanılmaz.