2009-11-17 22 views
14

en las últimas semanas he oído hablar de un fenómeno llamado 'código-kata'. Cuando lo hago bien, significa codificar un ejercicio una y otra vez. ¿Cuál es su punto? ¿Mejora tu capacidad para diseñar un mejor software? Si es así, ¿por qué lo hace?¿Qué es un código-kata y para qué sirve?

+0

Para obtener más información, vea esta pregunta: http://stackoverflow.com/questions/1432485/coding-katas-for-practicing-the-refactoring-of-legacy-code – willoller

+0

He oído que Robert C. Martin ha escrito sobre este blog tema: http://blog.objectmentor.com/articles/2009/11/21/whats-all-this-nonsense-about-katas –

Respuesta

6

He recogido un montón de referencias ella: http://slott-softwarearchitect.blogspot.com/2009/08/code-kata-resources.html

El más importante de ellos es http://codekata.pragprog.com/

+0

El segundo enlace apunta a una buena explicación, gracias. –

+0

@Roland - Estoy de acuerdo, realmente es un enlace explicativo. Encontré este enlace para algunas prácticas - http://tddkatas.codeplex.com/ –

+0

El repositorio de Codeplex se movió a Github: https://github.com/garora/TDD-Katas –

8

Esta fue la primera vez que he oído hablar de esto, así que después de un google rápida, aquí es mi reacción visceral:

Código Kata no está repitiendo un ejercicio una y otra vez. Más bien se trata de expandir constantemente su "zona de confort" para que pueda crecer como desarrollador.

Simplemente trabajando en proyectos que sabes cómo hacer no te será de ayuda. Debes intentar abordar proyectos en los que probablemente fallarías en tu primer intento.

El objetivo final es que si intenta continuamente, falla, intenta de nuevo, falla de nuevo, etc., tarde o temprano tendrá éxito. Cuando lo haces, dominas algunos conocimientos nuevos y te conviertes en un mejor desarrollador.

Suficiente repetición de esto obviamente mejorará tu habilidad.

(Lo siento si es un poco de basura cerebro)

+0

Me gusta tu tugurio, Jim :) Gracias por la explicación – ep3static

0

No es principalmente para mejorar sus habilidades de diseño, sino que es una manera de mejorar su productividad en su IDE elegido.

La repetición de una tarea familiar una y otra vez le permite tener cuidado y aprovechar los accesos directos IDE y las funciones que desconocía antes para ahorrar algunos segundos de su tiempo. También lo ayudará a encontrar los pasos innecesarios que tome por hábito para poder eliminarlos de su rutina.

0

Hemos intentado algunos de estos en mi empresa, nuestra idea era desarrollar un juego simple (obviamente, algo con un poco de lógica que no sabríamos cómo hacer). Todos teníamos que intentarlo, luego seguiríamos mejorando todo lo que podíamos hasta que pensáramos que teníamos la mejor manera de hacer las cosas, luego nos reuniríamos de nuevo quizás una semana más tarde y compararíamos nuestros resultados. . Es interesante ver cómo diferentes personas presentan diferentes soluciones, y todos aprenden de la experiencia. Quizás no es un kata adecuado, pero siempre tratamos y doblar estas cosas a algo que nos parece útil :)