Усі приклади, які я читав і бачив у навчальних відео, мають спрощені приклади. Але те, що я не бачу, як зробити "справжній" код після того, як я позеленію. Це частина "Refactor"?
Якщо у мене досить складний об'єкт зі складним методом, і я пишу свій тест і мінімальний мінімум, щоб він пройшов (після того, як він вперше виходить з ладу, Червоний). Коли я повернусь назад і напишу реальний код? І скільки реального коду я пишу перед тим, як повторно перевірити? Я здогадуюсь, що останній - це більше інтуїція.
Редагувати: Дякую всім, хто відповів. Усі ваші відповіді надзвичайно допомогли мені. Здається, є різні ідеї щодо того, про що я питав чи плутав, і, можливо, є, але те, що я запитував, - сказати, у мене є заявка на будівництво школи.
У своєму дизайні у мене є архітектура, з якої я хочу розпочати, Історії користувачів тощо. Звідси я беру ці Історії користувачів і створюю тест, щоб перевірити Історію користувачів. Користувач каже: У нас люди вступають до школи та сплачують реєстраційні внески. Отже, я думаю про спосіб зробити це невдалим. Роблячи це, я проектую тестовий клас для X класу (можливо, студента), який не зможе. Потім я створюю клас "Учень". Можливо, "Шкільну" я не знаю.
Але, в будь-якому випадку, TD Design змушує мене продумати історію. Якщо я можу зробити тест невдалим, я знаю, чому він виходить з ладу, але це передбачає, що я можу змусити його пройти. Йдеться про проектування.
Я порівнював це з думкою про рекурсію. Рекурсія не є важким поняттям. Це може бути важче насправді відстежувати це в голові, але насправді найскладніше - це знати, коли рекурсія «ламається», коли зупинятись (моя думка, звичайно.). Тому я повинен думати про те, що зупиняється рекурсія першою. Це лише недосконала аналогія, і вона передбачає, що кожна рекурсивна ітерація - це "пропуск". Знову лише думка.
У впровадженні Школи важче бачити. Числові та банківські книги є "простими" в тому сенсі, що ви можете використовувати просту арифметику. Я можу побачити + b і повернути 0 і т. Д. У випадку з системою людей мені доводиться більше думати над тим, як це здійснити . У мене є концепція провалу, проходу, рефактора (здебільшого через навчання та це питання.)
Те, що я не знаю, засноване на браку досвіду, на мою думку. Я не знаю, як не вдалося підписати нового студента. Я не знаю, як не вдалося, щоб хтось набрав прізвище, і це було збережено до бази даних. Я знаю, як зробити +1 для простої математики, але з такими особами, як людина, я не знаю, чи я лише тестую, чи не отримую я унікальний ідентифікатор бази даних або щось інше, коли хтось вводить ім’я в база даних або обидва, або ні.
Або, можливо, це показує, що я все ще плутаюся.