Что такое код-ката и для чего он нужен?

За последние несколько недель я слышал о феномене под названием «код-ката». Когда я понимаю, это означает, что я снова и снова кодирую упражнение. В чем его суть? Улучшает ли это вашу способность разрабатывать лучшее программное обеспечение? Если да, то почему?


person Roland Schneider    schedule 17.11.2009    source источник
comment
Для получения дополнительной информации см. Этот вопрос: stackoverflow.com/questions/1432485/   -  person willoller    schedule 18.11.2009
comment
Я слышал, что Роберт К. Мартин писал на эту тему в блоге: blog.objectmentor.com/articles/2009/11/21/   -  person Roland Schneider    schedule 21.11.2009


Ответы (4)


Я собрал здесь кучу ссылок: http://slott-softwarearchitect.blogspot.com/2009/08/code-kata-resources.html

Самый важный из них - http://codekata.pragprog.com/.

person S.Lott    schedule 17.11.2009
comment
Вторая ссылка указывает на хорошее объяснение - спасибо. - person Roland Schneider; 21.11.2009
comment
@Roland - согласен, действительно пояснительная ссылка. Я нашел эту ссылку для практических занятий - tddkatas.codeplex.com - person Gaurav Arora; 03.01.2012
comment
Репозиторий Codeplex перемещен на Github: github.com/garora/TDD-Katas - person Gaurav Arora; 07.08.2017

Я слышал об этом впервые, поэтому после быстрого поиска в Google вот моя внутренняя реакция:

Кодовое ката - это не повторение упражнения снова и снова. Скорее, речь идет о постоянном расширении своей «зоны комфорта», чтобы вы могли расти как разработчик.

Простая работа над проектами, которые вы умеете делать, вам не поможет. Вам нужно попытаться взяться за проекты, в которых вы, скорее всего, потерпите неудачу с первой попытки.

Конечная цель состоит в том, чтобы если вы постоянно пытаетесь, терпите неудачу, пробуете снова, снова терпит неудачу и т. Д., Рано или поздно вы добьетесь успеха. Когда вы это сделаете, вы овладеете некоторыми новыми знаниями и станете лучшим разработчиком.

Достаточное повторение этого, очевидно, улучшит ваше мастерство.

(Извините, если это немного мозговая свалка)

person Jim B    schedule 17.11.2009
comment
Мне нравится твоя свалка, Джим :) Спасибо за объяснение - person Nikita Fedyashev; 25.11.2009

Это не в первую очередь для улучшения ваших дизайнерских навыков, это скорее способ повысить вашу продуктивность в выбранной вами среде IDE.

Повторение знакомой задачи снова и снова позволяет вам следить за ярлыками и функциями IDE, о которых вы раньше не подозревали, и использовать их, чтобы сократить время на секунды. Это также поможет вам найти любые ненужные шаги, которые вы делаете по привычке, чтобы вы могли исключить их из своей рутины.

person GraemeF    schedule 17.11.2009

Мы попробовали несколько из них в моей компании, наши мысли были в том, чтобы разработать простую игру (очевидно, что-то с небольшой логикой, которую мы не знали бы, как это сделать). Мы все пытались это сделать, затем мы продолжали улучшать его, насколько могли, пока не думали, что у нас есть лучший способ сделать что-то, затем мы снова встречались, может быть, через неделю, и сравнивали наши результаты . Интересно наблюдать, как разные люди находят разные решения, и каждый учится на собственном опыте. Может быть, это не подходящее ката, но мы всегда стараемся сделать из этих вещей что-то полезное :)

person Michael Baldry    schedule 17.11.2009