Трудно обобщить в SO ответе, но я попробую. Одной из задач проектирования объектов является уравновешивание мышления с общей точки зрения и мышления с точки зрения отдельного объекта. Вам нужна общая перспектива, чтобы завершить вычисления, но вам нужна перспектива отдельного объекта, чтобы эффективно разделить логику и данные.
Поддержание этого баланса - это то место, куда приходят карты CRC. Когда они сидят на столе, вы можете посмотреть на вычисления в целом. Однако, когда вы берете одну карту, вам физически, кинестетически предлагается взглянуть на точку зрения этого единственного объекта - у меня есть этот маленький кусочек этого вычисления для ограниченных ресурсов, как я собираюсь его выполнить?
Со временем способность одновременно удерживать обе перспективы просачивается в мозг. Меньше и меньше пишется на карточках. Тогда карты пустые. Через некоторое время люди просто указывают на то, где будет находиться карта, если они потрудятся забрать пустую карточку из стека. В конце концов, люди обладают преимуществами стиля мышления, не нуждаясь в карточках вообще. Однако, когда вы разговариваете с кем-то, кто не освоил баланс, вытащить карты с реалами может быть полезным помощником в общении.
Самая большая слабость, которую я нахожу с карточками, - это отсутствие обратной связи. Вы можете обмануть себя тем, как этот код получится. Я бы предложил использовать карты только до тех пор, пока не возникнет интересный вопрос, обратитесь к тестам / коду для подтверждения и затем возобновите разработку.
Мы с Уордом сняли 15 лет назад видео о сеансе дизайна, но я нигде не нахожу его в Интернете и у меня нет его копии. Я не уверен, что это будет полезно в качестве учебного пособия в любом случае. Я не знаю других видео, но они могут быть интересными, особенно если сравнивать несколько стилей разных дизайнеров.