Tất cả các ví dụ tôi đã đọc và thấy trên các video đào tạo đều có các ví dụ đơn giản. Nhưng những gì tôi không thấy nếu tôi làm mã "thực" sau khi tôi nhận được màu xanh lá cây. Đây có phải là phần "Tái cấu trúc" không?
Nếu tôi có một đối tượng khá phức tạp với một phương thức phức tạp và tôi viết thử nghiệm của mình và mức tối thiểu để làm cho nó vượt qua (sau khi nó thất bại lần đầu, Red). Khi nào tôi quay lại và viết mã thật? Và tôi viết bao nhiêu mã thật trước khi kiểm tra lại? Tôi đoán rằng cái cuối cùng là trực giác hơn.
Chỉnh sửa: Cảm ơn tất cả những người đã trả lời. Tất cả các câu trả lời của bạn đã giúp tôi rất nhiều. Dường như có những ý tưởng khác nhau về những gì tôi đã hỏi hoặc nhầm lẫn, và có thể có, nhưng những gì tôi đã hỏi là, nói rằng tôi có một ứng dụng để xây dựng một trường học.
Trong thiết kế của tôi, tôi có một kiến trúc mà tôi muốn bắt đầu, Câu chuyện người dùng, v.v. Từ đây, tôi lấy những Câu chuyện người dùng đó và tôi tạo một bài kiểm tra để kiểm tra Câu chuyện người dùng. Người dùng nói, Chúng tôi có người đăng ký học và trả phí đăng ký. Vì vậy, tôi nghĩ ra một cách để làm cho thất bại đó. Để làm như vậy, tôi thiết kế một lớp kiểm tra cho lớp X (có thể là Sinh viên), sẽ thất bại. Sau đó tôi tạo lớp "Học sinh." Có lẽ "Trường học" tôi không biết.
Nhưng, trong mọi trường hợp, Thiết kế TD đang buộc tôi phải suy nghĩ thông qua câu chuyện. Nếu tôi có thể làm một bài kiểm tra thất bại, tôi biết tại sao nó thất bại, nhưng điều này giả định tôi có thể làm cho nó vượt qua. Đó là về thiết kế.
Tôi thích điều này để suy nghĩ về đệ quy. Đệ quy không phải là một khái niệm khó. Có thể khó theo dõi nó trong đầu hơn, nhưng trong thực tế, phần khó nhất là khi biết, khi đệ quy "phá vỡ", khi nào thì dừng lại (tất nhiên là ý kiến của tôi.) Vì vậy, tôi phải suy nghĩ về những gì dừng lại Đệ quy đầu tiên. Nó chỉ là một sự tương tự không hoàn hảo, và nó giả định rằng mỗi lần lặp đệ quy là một "vượt qua". Một lần nữa, chỉ là một ý kiến.
Trong thực hiện, Trường khó nhìn thấy hơn. Sổ cái số và ngân hàng là "dễ dàng" theo nghĩa bạn có thể sử dụng số học đơn giản. Tôi có thể thấy a + b và trả về 0, v.v ... Trong trường hợp hệ thống của mọi người, tôi phải suy nghĩ kỹ hơn về cách thực hiện điều đó. Tôi có khái niệm về sự thất bại, vượt qua, tái cấu trúc (chủ yếu là vì nghiên cứu và câu hỏi này.)
Theo tôi, những gì tôi không biết là dựa trên sự thiếu kinh nghiệm. Tôi không biết làm thế nào để không đăng ký một sinh viên mới. Tôi không biết làm thế nào để thất bại ai đó gõ tên cuối cùng và nó được lưu vào cơ sở dữ liệu. Tôi biết cách tạo +1 cho toán học đơn giản, nhưng với các thực thể như một người, tôi không biết liệu tôi chỉ thử nghiệm để xem liệu tôi có lấy lại được ID duy nhất của cơ sở dữ liệu hay thứ gì khác không khi ai đó nhập tên vào cơ sở dữ liệu hoặc cả hai hoặc không.
Hoặc, có thể điều này cho thấy tôi vẫn còn bối rối.