Semua contoh yang saya baca dan lihat di video pelatihan memiliki contoh sederhana. Tapi apa yang saya tidak lihat jika bagaimana saya melakukan kode "nyata" setelah saya mendapatkan hijau. Apakah ini bagian "Refactor"?
Jika saya memiliki objek yang cukup kompleks dengan metode yang kompleks, dan saya menulis tes dan minimum untuk membuatnya lulus (setelah itu pertama kali gagal, Red). Kapan saya kembali dan menulis kode asli? Dan berapa banyak kode nyata yang harus saya tulis sebelum saya tes ulang? Saya menduga yang terakhir lebih intuisi.
Sunting: Terima kasih kepada semua yang menjawab. Semua jawaban Anda sangat membantu saya. Tampaknya ada berbagai ide tentang apa yang saya tanyakan atau bingung, dan mungkin ada, tetapi yang saya tanyakan adalah, katakan saya memiliki aplikasi untuk membangun sekolah.
Dalam desain saya, saya memiliki arsitektur yang ingin saya mulai dengan, Cerita Pengguna, dan sebagainya. Dari sini, saya mengambil Cerita Pengguna tersebut, dan saya membuat tes untuk menguji Kisah Pengguna. Pengguna mengatakan, Kami memiliki orang yang mendaftar ke sekolah dan membayar biaya pendaftaran. Jadi, saya memikirkan cara untuk membuatnya gagal. Dengan melakukan itu saya merancang Tes kelas untuk kelas X (mungkin Siswa), yang akan gagal. Saya kemudian membuat kelas "Siswa." Mungkin "Sekolah" saya tidak tahu.
Tapi, bagaimanapun, Desain TD memaksa saya untuk memikirkan cerita. Jika saya dapat membuat tes gagal, saya tahu mengapa itu gagal, tetapi ini mengandaikan saya bisa lulus. Ini tentang mendesain.
Saya menyamakan ini dengan berpikir tentang Rekursi. Rekursi bukanlah konsep yang sulit. Mungkin lebih sulit untuk benar-benar melacaknya di kepala Anda, tetapi pada kenyataannya, bagian tersulit adalah mengetahui, ketika rekursi "pecah," kapan harus berhenti (pendapat saya, tentu saja.) Jadi saya harus memikirkan apa yang berhenti Rekursi pertama. Ini hanya analogi yang tidak sempurna, dan mengasumsikan bahwa setiap iterasi rekursif adalah "pass." Sekali lagi, hanya sebuah opini.
Dalam implementasinya, sekolah lebih sulit dilihat. Buku besar numerik dan perbankan "mudah" dalam arti Anda dapat menggunakan aritmatika sederhana. Saya dapat melihat a + b dan mengembalikan 0, dll. Dalam hal sistem orang, saya harus berpikir lebih keras tentang bagaimana mengimplementasikannya . Saya memiliki konsep gagal, lulus, refactor (kebanyakan karena studi dan pertanyaan ini.)
Apa yang saya tidak tahu didasarkan pada kurangnya pengalaman, menurut pendapat saya. Saya tidak tahu bagaimana cara gagal mendaftar siswa baru. Saya tidak tahu bagaimana cara seseorang gagal mengetik nama belakang dan itu disimpan ke database. Saya tahu cara membuat +1 untuk matematika sederhana, tetapi dengan entitas seperti orang, saya tidak tahu apakah saya hanya menguji untuk melihat apakah saya mendapatkan kembali ID unik basis data atau sesuatu yang lain ketika seseorang memasukkan nama dalam sebuah database atau keduanya atau tidak.
Atau, mungkin ini menunjukkan saya masih bingung.