Tôi đã sử dụng mã hóa theo C # theo kiểu TDD - viết / hoặc thay đổi một đoạn mã nhỏ, biên dịch lại trong 10 giây toàn bộ giải pháp, chạy lại các bài kiểm tra và một lần nữa. Dễ dàng...
Phương pháp phát triển đó đã làm việc rất tốt đối với tôi trong một vài năm, cho đến một năm trước khi tôi phải quay lại mã hóa C ++ và thực sự cảm thấy rằng năng suất của tôi đã giảm đáng kể kể từ đó. C ++ là ngôn ngữ không phải là vấn đề - tôi đã có khá nhiều trải nghiệm về C ++ dev ... nhưng trong quá khứ.
Năng suất của tôi vẫn ổn đối với một dự án nhỏ, nhưng nó còn tệ hơn khi tăng quy mô dự án và một khi thời gian biên dịch đạt hơn 10 phút thì nó thực sự tồi tệ. Và nếu tôi tìm thấy lỗi, tôi phải bắt đầu biên dịch lại, v.v ... Điều đó hoàn toàn gây khó chịu.
Do đó, tôi đã kết luận rằng trong một khối nhỏ (như trước đây) không được chấp nhận - mọi khuyến nghị làm thế nào tôi có thể tập thói quen viết mã cũ trong một giờ hoặc lâu hơn, khi xem lại mã theo cách thủ công (mà không cần dựa vào trình biên dịch C # nhanh) và chỉ biên dịch lại / chạy lại các bài kiểm tra đơn vị một lần trong vài giờ.
Với C # và TDD, thật dễ dàng để viết mã theo cách tiến hóa - sau hàng tá lần lặp lại, bất cứ điều gì tào lao tôi bắt đầu đều kết thúc bằng một mã tốt, nhưng nó không còn hiệu quả với tôi nữa (trong quá trình biên dịch chậm Môi trường).