Kata significa el exactamente opuesto de lo que deberías esforzarte por alcanzar.
un ejercicio que consiste en una secuencia de los movimientos específicos de un arte marcial, utilizado en el entrenamiento y diseñado para mostrar habilidad en la técnica
El término Kata (Origen:
1950–55; < Japonés: forma, patrón) como se usa en las artes marciales, y su pregunta es sobre memorización de memoria de músculo como tecleo táctil .
En el Karate Kid original, encerando los autos, lijando los pisos, pintando la cerca , estos fueron todos los Katas que se enseñaron, completamente fuera de contexto y en este caso sin explicación, solo para proporcionar memoria muscular . No fue hasta que un sensei entró y dio estas actividades huecas contexto que no significaron nada.
Creo que lo mismo se aplica aquí, sin un mentor para poner las cosas en contexto volver a hacer la resolución de problemas mal en varios idiomas no es mejor que uno solo. Sin el mentor para decirle dónde mejorar, son una pérdida de tiempo.
Es exactamente lo contrario a la resolución creativa de problemas al aprender nuevas variaciones de expresiones idiomáticas y semánticas de un idioma o plataforma.
Si quieres poder escribir System.out.println()
tan fácilmente como sea posible, entonces practicar eso sería un Kata.
Si desea mejorar una solución a un problema en una implementación diferente , reducir los requisitos de tiempo y / o espacio o aplicar más principios idiomáticos, eso no es no algo que Kata te ayudará con.
Ya existe un término aceptado en la industria para volver a implementar lo mismo una y otra vez después de que ya funciona y se esfuerza por lograr pequeñas mejoras incrementales y beneficios cuestionables de la perfección, se llama Gold Plating !
Los términos que deberían haber utilizado son Refactorización cuando se aplican al mismo idioma / tiempo de ejecución / plataforma. Y Porting al mover un programa en funcionamiento a un idioma / tiempo de ejecución / plataforma diferente. Kata probablemente fue elegido erróneamente porque suena inconformista, genial y místico sin entender completamente la semántica.
Resolver diferentes problemas difíciles con poca planificación, experiencia u orientación es lo que la mayoría de los desarrolladores, especialmente los desarrolladores junior tienen que hacer todos los días.
Solo los académicos pueden hacer el mismo ejercicio una y otra vez solo por perfeccionar una solución específica. La habilidad para tener una carrera exitosa como desarrollador está en adaptación , no en repetición.
¿Quién dice que no hay personas inteligentes que no necesiten estudiar después del trabajo y que puedan aprender todo lo que necesitan saber y, a veces, más en sus 8 horas de trabajo?