Bạn càng kiểm tra sau, chi phí để viết bài kiểm tra càng nhiều.
Một lỗi tồn tại càng lâu thì càng tốn kém để sửa chữa.
Luật lợi nhuận giảm dần đảm bảo bạn có thể kiểm tra bản thân vào quên lãng để cố gắng đảm bảo không có lỗi.
Phật dạy trí tuệ của con đường trung đạo. Các xét nghiệm đều tốt. Có một điều như là quá nhiều của một điều tốt. Chìa khóa là có thể cho biết khi bạn mất cân bằng.
Mỗi dòng mã bạn viết mà không có bài kiểm tra sẽ có chi phí lớn hơn đáng kể để thêm bài kiểm tra muộn hơn so với việc bạn đã viết bài kiểm tra trước khi viết mã.
Mỗi dòng mã không có kiểm tra sẽ khó gỡ lỗi hoặc viết lại hơn đáng kể.
Mỗi bài kiểm tra bạn viết sẽ mất thời gian.
Mỗi lỗi sẽ mất thời gian để sửa chữa.
Các tín đồ sẽ bảo bạn không viết một dòng mã nào mà không viết bài kiểm tra thất bại trước. Bài kiểm tra đảm bảo bạn sẽ có được hành vi mà bạn mong đợi. Nó cho phép bạn thay đổi mã nhanh chóng mà không lo ảnh hưởng đến phần còn lại của hệ thống vì thử nghiệm chứng minh hành vi là như nhau.
Bạn phải cân nhắc tất cả những điều đó với thực tế là các bài kiểm tra không thêm tính năng. Mã sản xuất thêm tính năng. Và các tính năng là những gì trả hóa đơn.
Nói một cách thực tế, tôi thêm tất cả các bài kiểm tra mà tôi có thể làm được. Tôi bỏ qua ý kiến ủng hộ xem các bài kiểm tra. Tôi thậm chí không tin tưởng mã để làm những gì tôi nghĩ nó làm. Tôi tin tưởng các bài kiểm tra. Nhưng tôi đã biết ném mary thỉnh thoảng và nhận được may mắn.
Tuy nhiên, nhiều lập trình viên thành công không làm TDD. Điều đó không có nghĩa là họ không kiểm tra. Họ chỉ khăng khăng khẳng định rằng mọi dòng mã đều có kiểm tra tự động chống lại nó. Ngay cả chú Bob cũng thừa nhận ông không kiểm tra giao diện người dùng của mình. Ông cũng khẳng định bạn di chuyển tất cả logic ra khỏi UI.
Như một phép ẩn dụ bóng đá (đó là bóng đá Mỹ) TDD là một trò chơi mặt đất tốt. Hướng dẫn chỉ kiểm tra nơi bạn viết một đống mã và hy vọng nó hoạt động là một trò chơi vượt qua. Bạn có thể giỏi một trong hai. Sự nghiệp của bạn sẽ không tạo ra các trận playoff trừ khi bạn có thể làm cả hai. Nó sẽ không tạo ra superbowl cho đến khi bạn biết khi nào nên chọn từng cái. Nhưng nếu bạn cần một người nũng nịu theo một hướng cụ thể: các quan chức gọi điện chống lại tôi thường xuyên hơn khi tôi đi qua.
Nếu bạn muốn thử TDD, tôi khuyên bạn nên thực hành trước khi thử thực hiện tại nơi làm việc. TDD thực hiện một nửa, nửa vời và nửa khẳng định là lý do lớn khiến một số người không tôn trọng nó. Nó giống như rót một ly nước vào ly khác. Nếu bạn không cam kết và thực hiện nó một cách nhanh chóng và hoàn toàn, bạn sẽ bị chảy nước khắp bàn.