Saya terbiasa mengkodekan dalam C # dalam gaya TDD - menulis / atau mengubah sejumlah kecil kode, kompilasi ulang dalam 10 detik seluruh solusi, jalankan kembali tes dan lagi. Mudah...
Metodologi pengembangan itu bekerja sangat baik bagi saya selama beberapa tahun, sampai tahun lalu ketika saya harus kembali ke pengkodean C ++ dan benar-benar terasa bahwa produktivitas saya telah menurun secara dramatis sejak itu. C ++ sebagai bahasa bukan masalah - saya punya cukup banyak pengalaman C ++ dev ... tapi di masa lalu.
Produktivitas saya masih OK untuk proyek-proyek kecil, tetapi menjadi lebih buruk ketika dengan peningkatan ukuran proyek dan begitu waktu kompilasi mencapai 10+ menit itu menjadi sangat buruk. Dan jika saya menemukan kesalahan, saya harus memulai kompilasi lagi, dll. Itu hanya membuat frustrasi.
Jadi saya menyimpulkan bahwa dalam potongan kecil (seperti sebelumnya) tidak dapat diterima - rekomendasi apa pun bagaimana saya bisa masuk ke kebiasaan lama pengkodean selama satu jam atau lebih, ketika meninjau kode secara manual (tanpa mengandalkan kompiler C # cepat) , dan hanya mengkompilasi ulang / menjalankan kembali unit test sekali dalam beberapa jam.
Dengan C # dan TDD itu sangat mudah untuk menulis kode dengan cara evolusi - setelah selusin iterasi apa pun omong kosong yang saya mulai berakhir dengan kode yang baik, tapi itu tidak berfungsi lagi untuk saya (dalam kompilasi lambat lingkungan Hidup).